[DB-SIG] db module wrapper

Andy Todd andy47 at halfcooked.com
Fri Aug 20 16:34:32 CEST 2004

Marc Colosimo wrote:
> On Aug 19, 2004, at 11:57 AM, M.-A. Lemburg wrote:
>> Marc Colosimo wrote:
>> After all binding
>> parameters exist to make all this quoting unnecessary and
>> indeed, many drivers pass the SQL string and the parameters
>> well separated to the database.
> not pgdb (_quoteparams) or cx_oracle (Cursor_SetBindVariables). I 
> couldn't check psycopg because the links from freshmeat are dead.

Call me Mr Picky, but that is not true for cx_Oracle. It uses a feature 
of Oracle called bind variables. For an explanation see;


The function Cursor_SetBindVariables in Cursor.c of cx_Oracle simply 
unpacks the values passed to the execute statement. Quoting and other 
esoteric conversion requirements and performed by the Oracle software.

>> The database then builds
>> an access path using the SQL string (with binding parameters)
>> and runs the access path against the parameters that are
>> specified as separate part of the request.

As ever, Marc-Andre is correct. The key reason for this is performance 
as parsing *can* have quite a big overhead.

 From the desk of Andrew J Todd esq - http://www.halfcooked.com/

More information about the DB-SIG mailing list