[DB-SIG] SQL statement parse for Oracle
Eugene V . Dvurechenski
jno@glasnet.ru
Mon, 17 Dec 2001 10:09:57 +0300
to be honest, this is not true ;-)
you still may access your "stdout" from a stored proc.
but the way it is used is not obviuos nor handy...
-jno
On Fri, Dec 14, 2001 at 11:01:31AM -0700, Anthony Tuininga wrote:
> Ok, that seems rather condescending.... Or it might just be me..... :-)
>
> The problem with creating a stored procedure is that you lose complete
> control. If you wanted to, for example, print something to stdout for
> each row processed (or set of rows processed) you would not be able to
> do this.
>
> Anthony
>
> Keating, Tim wrote:
>
> >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
> >>
> >
> >_______________________________________________
> >DB-SIG maillist - DB-SIG@python.org
> >http://mail.python.org/mailman/listinfo/db-sig
> >
>
>
>
> _______________________________________________
> DB-SIG maillist - DB-SIG@python.org
> http://mail.python.org/mailman/listinfo/db-sig
--
SY,
jno (PRIVATE PERSON) [ http://www.glasnet.ru/~jno ]
a TeleRoss techie [ http://www.aviation.ru/ ]
If God meant man to fly, He'd have given him more money.