[DB-SIG] SQL statement parse for Oracle

Keating, Tim TKeating@origin.ea.com
Fri, 14 Dec 2001 11:16:52 -0600


This seems like engineering a solution for a non-existent problem. You can
achieve the same effect by simply making the statement a stored procedure,
which every database programmer worth his salt knows how to do.

Just my $0.02.

TK

> -----Original Message-----
> From: Jekabs Andrushaitis [mailto:j.andrusaitis@konts.lv]
> Sent: Friday, December 14, 2001 1:28 AM
> To: 'Python DB-SIG Mailing List'
> Subject: [DB-SIG] SQL statement parse for Oracle
> 
> 
> In the Oracle world SQL statement parsing can take 
> considerable CPU/Block IO
> for complex statements. Well, I am using pre-historic Oracle DB module
> (looks like
> some OLD DCOracle to me:), however I did not see anything 
> related to this in
> DBAPI too.
> What I am talking about is API to allow to parse statement 
> for a cursor (for
> Oracle
> OCI it is done by 'oparse' calls) without executing it. It 
> could be used to
> speed
> up things in situation where same statement has to be 
> executed several times
> with different bind variables for example. Or when you want 
> application uses
> persistand DB connection and you can create several cursors for each
> operation
> you need to perform thus eliminating cost of parsing each 
> statement over and
> over
> again...
> 
> From DB-API's point of view it could be Python methods for 
> cursor object:
> 	dbc.parse('some statement here')
> 	dbc.executeparsed([some bind variables here])
> 
> This can be a very useful feature for DBAPI to have, since in 
> case of Oracle
> and
> complex statements executed many times it can make the 
> difference visible.
> 
> I have made made these patches for my OLD OLD Oracle module 
> (sadly I have
> to stick with it for now cause of other patches weve made in 
> it - Python DB
> connection
> object creation from embedded SQL connections, various memory 
> leak fixes
> which
> were critical in the environment I am using this module etc:)...
> 
> Maybe I am totally missing something about DBAPI spec, and if above
> described
> features do exist in the spec, then ignore this silly mail :)
> 
> Also, I am not aware of RDBMS supporting parsing without 
> executing, but
> Oracle
> certainly is one of those :)
> 
> Jekabs
> 
> 
> _______________________________________________
> DB-SIG maillist  -  DB-SIG@python.org
> http://mail.python.org/mailman/listinfo/db-sig
>