On Wed, 2008-01-23 at 10:12 +0700, Konjkov Vladimir wrote:
> in definition of
> .execute(operation[,parameters]) 
> .....
> A reference to the operation will be retained by the
> cursor. If the same operation object is passed in again,
> then the cursor can optimize its behavior.
> 
> 
> What meens "the same operation object is passed in again"?
> There's no definition for Class Operation.
> 
> May by it meens
> 
> SameOperation = "something that just a constant!"
> C = 
> cnxn.cursor()
> C.execute("select * from table where a=? and b=?",(1,2))
> C.fetchall()
> C.execute(SameOperation,(3,4))
> C.fetchall()

No, it means this:

sql = "select * from customers where cust_code = ?"
C.execute(sql, (1,))
# ...
C.execute(sql, (2,))
# ...

Assuming that "sql" doesn't get rebound, it'll reference the same string
object as before, hence the cursor object may optimize its behavior by
reusing a previously prepared statement for that query instead of
re-preparing the statement.

HTH,

-- 
Carsten Haese
http://informixdb.sourceforge.net


_______________________________________________
DB-SIG maillist  -  DB-SIG@python.org
http://mail.python.org/mailman/listinfo/db-sig

Reply via email to