commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

gnue/common/src/dbdrivers/interbase DBdriver.py


From: Jason Cater
Subject: gnue/common/src/dbdrivers/interbase DBdriver.py
Date: Tue, 28 May 2002 11:27:00 -0400

CVSROOT:        /cvsroot/gnue
Module name:    gnue
Changes by:     Jason Cater <address@hidden>    02/05/28 11:27:00

Modified files:
        common/src/dbdrivers/interbase: DBdriver.py 

Log message:
        Applied firebird/interbase enhancement patch [btami]

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/src/dbdrivers/interbase/DBdriver.py.diff?tr1=1.8&tr2=1.9&r1=text&r2=text

Patches:
Index: gnue/common/src/dbdrivers/interbase/DBdriver.py
diff -c gnue/common/src/dbdrivers/interbase/DBdriver.py:1.8 
gnue/common/src/dbdrivers/interbase/DBdriver.py:1.9
*** gnue/common/src/dbdrivers/interbase/DBdriver.py:1.8 Mon May  6 12:14:57 2002
--- gnue/common/src/dbdrivers/interbase/DBdriver.py     Tue May 28 11:27:00 2002
***************
*** 61,66 ****
--- 61,68 ----
  
    # Override the base _loadNextRecord as the fetchmany() from the cursor
    # returns an exception instead of an empty sequence. 
+   # TODO: will be unneeded when next (>3.0) kinterbasdb release comes out
+   # TODO: in the kinterbasdb CVS the fetchmany() error has been fixed yet 
(btami)
    def _loadNextRecord(self):
      if self._cursor:
        rs = None
***************
*** 257,263 ****
--- 259,299 ----
    def __init__(self, connection):
      self.__connection = connection
  
+   # Return the current date, according to database
+   def getTimeStamp(self):
+     return self.__singleQuery("select cast('now' as date) from rdb$database")
+ 
+   # Return a sequence number from sequence 'name'
+   def getSequence(self, name):
+     return self.__singleQuery("select gen_id(%s,1) from rdb$database" % name)
+ 
+   # Run the SQL statement 'statement'
+   def sql(self, statement):
+     cursor = self.__connection.cursor()
+     try:
+       cursor.execute(statement)
+       cursor.close()
+     except:
+       cursor.close()
+       raise
+ 
+   # Used internally
+   def __singleQuery(self, statement):
+     cursor = self.__connection.cursor()
+     try:
+       cursor.execute(statement)
+       rv = cursor.fetchone()
+       cursor.close()
+     except mesg:
+       GDebug.printMesg(1,"**** Unable to execute extension query")
+       GDebug.printMesg(1,"**** %s" % mesg)
+       cursor.close()
+       return None
  
+     try:
+       return rv[0]
+     except:
+       return None
  
  ######################################
  #
***************
*** 273,277 ****
--- 309,314 ----
    'object': Interbase_DataObject_Object,
    'sql':    Interbase_DataObject_SQL
  }
+ 
  
  



reply via email to

[Prev in Thread] Current Thread [Next in Thread]