@@ -348,7 +348,7 @@ def fetchObject(self, aClass, serialNum, default=NoDefault):
348348 return objects [0 ]
349349
350350 def fetchObjectsOfClass (self , aClass ,
351- clauses = '' , isDeep = True , refreshAttrs = True , serialNum = None ):
351+ clauses = '' , isDeep = True , refreshAttrs = True , serialNum = None , clausesArgs = None ):
352352 """Fetch a list of objects of a specific class.
353353
354354 The list may be empty if no objects are found.
@@ -379,7 +379,7 @@ def fetchObjectsOfClass(self, aClass,
379379 if isDeep :
380380 for subklass in klass .subklasses ():
381381 deepObjs .extend (self .fetchObjectsOfClass (
382- subklass , clauses , isDeep , refreshAttrs , serialNum ))
382+ subklass , clauses , isDeep , refreshAttrs , serialNum , clausesArgs ))
383383
384384 # Now get objects of this exact class
385385 objs = []
@@ -391,7 +391,7 @@ def fetchObjectsOfClass(self, aClass,
391391 clauses = 'where %s=%d' % (klass .sqlSerialColumnName (), serialNum )
392392 if self ._markDeletes :
393393 clauses = self .addDeletedToClauses (clauses )
394- conn , cur = self .executeSQL (fetchSQLStart + clauses + ';' )
394+ conn , cur = self .executeSQL (fetchSQLStart + clauses + ';' , clausesArgs = clausesArgs )
395395 try :
396396 for row in cur .fetchall ():
397397 serialNum = row [0 ]
@@ -429,7 +429,7 @@ def klassForId(self, id):
429429
430430 ## Self utility for SQL, connections, cursors, etc. ##
431431
432- def executeSQL (self , sql , connection = None , commit = False ):
432+ def executeSQL (self , sql , connection = None , commit = False , clausesArgs = None ):
433433 """Execute the given SQL.
434434
435435 This will connect to the database for the first time if necessary.
@@ -450,18 +450,18 @@ def executeSQL(self, sql, connection=None, commit=False):
450450 self ._sqlEcho .write ('SQL %04i. %s %s\n ' % (self ._sqlCount , timestamp , sql ))
451451 self ._sqlEcho .flush ()
452452 conn , cur = self .connectionAndCursor (connection )
453- self ._executeSQL (cur , sql )
453+ self ._executeSQL (cur , sql , clausesArgs )
454454 if commit :
455455 conn .commit ()
456456 return conn , cur
457457
458- def _executeSQL (self , cur , sql ):
458+ def _executeSQL (self , cur , sql , clausesArgs = None ):
459459 """Invoke execute on the cursor with the given SQL.
460460
461461 This is a hook for subclasses that wish to influence this event.
462462 Invoked by executeSQL().
463463 """
464- cur .execute (sql )
464+ cur .execute (sql , clausesArgs )
465465
466466 def executeSQLTransaction (self , transaction , connection = None , commit = True ):
467467 """Execute the given sequence of SQL statements and commit as transaction."""
0 commit comments