commit-gnue
[Top][All Lists]
Advanced

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

gnue/gnue-common/src/dbdrivers cxoracle/DBdrive...


From: Jason Cater
Subject: gnue/gnue-common/src/dbdrivers cxoracle/DBdrive...
Date: Thu, 08 Nov 2001 02:55:52 -0500

CVSROOT:        /home/cvs
Module name:    gnue
Changes by:     Jason Cater <address@hidden>    01/11/08 02:55:52

Modified files:
        gnue-common/src/dbdrivers/cxoracle: DBdriver.py 
        gnue-common/src/dbdrivers/oracle: DBdriver.py 
        gnue-common/src/dbdrivers/popy: DBdriver.py 
        gnue-common/src/dbdrivers/postgresql: DBdriver.py 
        gnue-common/src/dbdrivers/psycopg: DBdriver.py 
        gnue-common/src/dbdrivers/pypgsql: DBdriver.py 
        gnue-common/src/dbdrivers/sybase: DBdriver.py 

Log message:
        partially implemented support for dbdriver trigger extensions

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-common/src/dbdrivers/cxoracle/DBdriver.py.diff?cvsroot=OldCVS&tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-common/src/dbdrivers/oracle/DBdriver.py.diff?cvsroot=OldCVS&tr1=1.10&tr2=1.11&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-common/src/dbdrivers/popy/DBdriver.py.diff?cvsroot=OldCVS&tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-common/src/dbdrivers/postgresql/DBdriver.py.diff?cvsroot=OldCVS&tr1=1.22&tr2=1.23&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-common/src/dbdrivers/psycopg/DBdriver.py.diff?cvsroot=OldCVS&tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-common/src/dbdrivers/pypgsql/DBdriver.py.diff?cvsroot=OldCVS&tr1=1.6&tr2=1.7&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-common/src/dbdrivers/sybase/DBdriver.py.diff?cvsroot=OldCVS&tr1=1.3&tr2=1.4&r1=text&r2=text

Patches:
Index: gnue/gnue-common/src/dbdrivers/cxoracle/DBdriver.py
diff -u gnue/gnue-common/src/dbdrivers/cxoracle/DBdriver.py:1.4 
gnue/gnue-common/src/dbdrivers/cxoracle/DBdriver.py:1.5
--- gnue/gnue-common/src/dbdrivers/cxoracle/DBdriver.py:1.4     Tue Nov  6 
16:57:41 2001
+++ gnue/gnue-common/src/dbdrivers/cxoracle/DBdriver.py Thu Nov  8 02:55:52 2001
@@ -19,7 +19,7 @@
 # Copyright 2000, 2001 Free Software Foundation
 #
 # FILE:
-# DBdriver.py
+# cxoracle/DBdriver.py
 #
 # DESCRIPTION:
 # Driver to provide access to data via Computronix's Oracle/Python Driver
@@ -204,62 +204,80 @@
     DBSIG_DataObject_Object.__init__(self) 
     Oracle_DataObject.__init__(self)
 
-  def _buildQuery(self, conditions={}): 
+  def _buildQuery(self, conditions={}):
     return DBSIG_DataObject_Object._buildQuery(self, conditions)
 
 
 class Oracle_DataObject_SQL(Oracle_DataObject, \
-      DBSIG_DataObject_SQL): 
-  def __init__(self): 
-    # Call DBSIG init first because Oracle_DataObject needs to overwrite 
+      DBSIG_DataObject_SQL):
+  def __init__(self):
+    # Call DBSIG init first because Oracle_DataObject needs to overwrite
     # some of its values
-    DBSIG_DataObject_SQL.__init__(self) 
+    DBSIG_DataObject_SQL.__init__(self)
     Oracle_DataObject.__init__(self)
 
-  def _buildQuery(self, conditions={}): 
+  def _buildQuery(self, conditions={}):
     return DBSIG_DataObject_SQL._buildQuery(self, conditions)
 
 
 #
 #  Extensions to Trigger Namespaces
-#  
-class TriggerExtensions: 
+#
+class TriggerExtensions:
 
-  def __init__(self, connection): 
+  def __init__(self, connection):
     self.__connection = connection
 
   # Return the current date, according to database
-  def getDate(self): 
+  def getTimeStamp(self):
+    return self.__singleQuery("select sysdate from dual")
+
+  # Return a sequence number from sequence 'name'
+  def getSequence(self, name):
+    return self.__singleQuery("select %s.nextval from dual" % name)
+
+  # Run the SQL statement 'statement'
+  def sql(self, statement):
     cursor = self.__connection.cursor()
-    command = "select sysdate from dual"
-    cursor.execute(command)
-    return cursor.fetchone()[0]
+    try:
+      cursor.execute(statement)
+      cursor.close()
+    except:
+      cursor.close()
+      raise
 
-  # Return a sequence number from sequence 'name' 
-  def getSequence(self, name): 
+  # Used internally
+  def __singleQuery(self, statement):
     cursor = self.__connection.cursor()
-    command = "select %s.nextval from dual" % name
-    cursor.execute(command)
-    return cursor.fetchone()[0]
+    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
 
-  # Run the SQL statement 'statement'
-  def sql(self, statement): 
-    self.__connection.cursor().execute(statement)
+    try:
+      return rv[0]
+    except:
+      return None
 
 
 
 
 ######################################
 #
-#  The following hashes describe 
+#  The following hashes describe
 #  this driver's characteristings.
 #
 ######################################
 
 #
 #  All datasouce "types" and corresponding DataObject class
-# 
-supportedDataObjects = { 
+#
+supportedDataObjects = {
   'object': Oracle_DataObject_Object,
   'sql':    Oracle_DataObject_SQL
 }
Index: gnue/gnue-common/src/dbdrivers/oracle/DBdriver.py
diff -u gnue/gnue-common/src/dbdrivers/oracle/DBdriver.py:1.10 
gnue/gnue-common/src/dbdrivers/oracle/DBdriver.py:1.11
--- gnue/gnue-common/src/dbdrivers/oracle/DBdriver.py:1.10      Tue Nov  6 
16:57:41 2001
+++ gnue/gnue-common/src/dbdrivers/oracle/DBdriver.py   Thu Nov  8 02:55:52 2001
@@ -216,50 +216,68 @@
     DBSIG_DataObject_SQL.__init__(self) 
     Oracle_DataObject.__init__(self)
 
-  def _buildQuery(self, conditions={}): 
+  def _buildQuery(self, conditions={}):
     return DBSIG_DataObject_SQL._buildQuery(self, conditions)
 
 
 #
 #  Extensions to Trigger Namespaces
-#  
-class TriggerExtensions: 
+#
+class TriggerExtensions:
 
-  def __init__(self, connection): 
+  def __init__(self, connection):
     self.__connection = connection
 
   # Return the current date, according to database
-  def getDate(self): 
-    cursor = self.__connection.cursor()
-    command = "select sysdate from dual"
-    cursor.execute(command)
-    return cursor.fetchone()[0]
+  def getTimeStamp(self):
+    return self.__singleQuery("select sysdate from dual")
 
-  # Return a sequence number from sequence 'name' 
-  def getSequence(self, name): 
-    cursor = self.__connection.cursor()
-    command = "select %s.nextval from dual" % name
-    cursor.execute(command)
-    return cursor.fetchone()[0]
+  # Return a sequence number from sequence 'name'
+  def getSequence(self, name):
+    return self.__singleQuery("select %s.nextval from dual" % name)
 
   # Run the SQL statement 'statement'
-  def sql(self, statement): 
-    self.__connection.cursor().execute(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
+
 
 
 
 ######################################
 #
-#  The following hashes describe 
+#  The following hashes describe
 #  this driver's characteristings.
 #
 ######################################
 
 #
 #  All datasouce "types" and corresponding DataObject class
-# 
-supportedDataObjects = { 
+#
+supportedDataObjects = {
   'object': Oracle_DataObject_Object,
   'sql':    Oracle_DataObject_SQL
 }
Index: gnue/gnue-common/src/dbdrivers/popy/DBdriver.py
diff -u gnue/gnue-common/src/dbdrivers/popy/DBdriver.py:1.4 
gnue/gnue-common/src/dbdrivers/popy/DBdriver.py:1.5
--- gnue/gnue-common/src/dbdrivers/popy/DBdriver.py:1.4 Tue Nov  6 14:41:10 2001
+++ gnue/gnue-common/src/dbdrivers/popy/DBdriver.py     Thu Nov  8 02:55:52 2001
@@ -179,46 +179,70 @@
   def __init__(self): 
     # Call DBSIG init first because PG_DataObject needs to overwrite 
     # some of its values
-    DBSIG_DataObject_SQL.__init__(self) 
+    DBSIG_DataObject_SQL.__init__(self)
     PG_DataObject.__init__(self)
 
-  def _buildQuery(self, conditions={}): 
+  def _buildQuery(self, conditions={}):
     return DBSIG_DataObject_SQL._buildQuery(self, conditions)
 
 
 #
 #  Extensions to Trigger Namespaces
-#  
-class TriggerExtensions: 
+#
+class TriggerExtensions:
 
-  def __init__(self, connection): 
+  def __init__(self, connection):
     self.__connection = connection
 
   # Return the current date, according to database
-#  def getDate(self): 
-#    pass
+  def getTimeStamp(self):
+    return self.__singleQuery("select current_timestamp")
 
-  # Return a sequence number from sequence 'name' 
-#  def getSequence(self, name): 
-#    pass
+  # Return a sequence number from sequence 'name'
+  def getSequence(self, name):
+    return self.__singleQuery("select nextval('%s')" % name)
 
   # Run the SQL statement 'statement'
-#  def sql(self, statement): 
-#    pass
+  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
 
 
 
 ######################################
 #
-#  The following hashes describe 
+#  The following hashes describe
 #  this driver's characteristings.
 #
 ######################################
 
 #
 #  All datasouce "types" and corresponding DataObject class
-# 
-supportedDataObjects = { 
+#
+supportedDataObjects = {
   'object': PG_DataObject_Object,
   'sql':    PG_DataObject_SQL
 }
Index: gnue/gnue-common/src/dbdrivers/postgresql/DBdriver.py
diff -u gnue/gnue-common/src/dbdrivers/postgresql/DBdriver.py:1.22 
gnue/gnue-common/src/dbdrivers/postgresql/DBdriver.py:1.23
--- gnue/gnue-common/src/dbdrivers/postgresql/DBdriver.py:1.22  Sun Nov  4 
17:22:35 2001
+++ gnue/gnue-common/src/dbdrivers/postgresql/DBdriver.py       Thu Nov  8 
02:55:52 2001
@@ -230,50 +230,74 @@
 
 
 class PG_DataObject_SQL(PG_DataObject, \
-      DBSIG_DataObject_SQL): 
-  def __init__(self): 
-    # Call DBSIG init first because PG_DataObject needs to overwrite 
+      DBSIG_DataObject_SQL):
+  def __init__(self):
+    # Call DBSIG init first because PG_DataObject needs to overwrite
     # some of its values
-    DBSIG_DataObject_SQL.__init__(self) 
+    DBSIG_DataObject_SQL.__init__(self)
     PG_DataObject.__init__(self)
 
-  def _buildQuery(self, conditions={}): 
+  def _buildQuery(self, conditions={}):
     return DBSIG_DataObject_SQL._buildQuery(self, conditions)
 
 
 #
 #  Extensions to Trigger Namespaces
-#  
-class TriggerExtensions: 
+#
+class TriggerExtensions:
 
-  def __init__(self, connection): 
+  def __init__(self, connection):
     self.__connection = connection
 
   # Return the current date, according to database
-#  def getDate(self): 
-#    pass
+  def getTimeStamp(self):
+    return self.__singleQuery("select current_timestamp")
 
-  # Return a sequence number from sequence 'name' 
-#  def getSequence(self, name): 
-#    pass
+  # Return a sequence number from sequence 'name'
+  def getSequence(self, name):
+    return self.__singleQuery("select nextval('%s')" % name)
 
   # Run the SQL statement 'statement'
-#  def sql(self, statement): 
-#    pass
+  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
 
 
 
 ######################################
 #
-#  The following hashes describe 
+#  The following hashes describe
 #  this driver's characteristings.
 #
 ######################################
 
 #
 #  All datasouce "types" and corresponding DataObject class
-# 
-supportedDataObjects = { 
+#
+supportedDataObjects = {
   'object': PG_DataObject_Object,
   'sql':    PG_DataObject_SQL
 }
Index: gnue/gnue-common/src/dbdrivers/psycopg/DBdriver.py
diff -u gnue/gnue-common/src/dbdrivers/psycopg/DBdriver.py:1.4 
gnue/gnue-common/src/dbdrivers/psycopg/DBdriver.py:1.5
--- gnue/gnue-common/src/dbdrivers/psycopg/DBdriver.py:1.4      Tue Nov  6 
14:41:10 2001
+++ gnue/gnue-common/src/dbdrivers/psycopg/DBdriver.py  Thu Nov  8 02:55:52 2001
@@ -182,29 +182,53 @@
     DBSIG_DataObject_SQL.__init__(self) 
     PG_DataObject.__init__(self)
 
-  def _buildQuery(self, conditions={}): 
+  def _buildQuery(self, conditions={}):
     return DBSIG_DataObject_SQL._buildQuery(self, conditions)
 
 
 #
 #  Extensions to Trigger Namespaces
-#  
-class TriggerExtensions: 
+#
+class TriggerExtensions:
 
-  def __init__(self, connection): 
+  def __init__(self, connection):
     self.__connection = connection
 
   # Return the current date, according to database
-#  def getDate(self): 
-#    pass
+  def getTimeStamp(self):
+    return self.__singleQuery("select current_timestamp")
 
-  # Return a sequence number from sequence 'name' 
-#  def getSequence(self, name): 
-#    pass
+  # Return a sequence number from sequence 'name'
+  def getSequence(self, name):
+    return self.__singleQuery("select nextval('%s')" % name)
 
   # Run the SQL statement 'statement'
-#  def sql(self, statement): 
-#    pass
+  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
 
 
 
@@ -217,8 +241,8 @@
 
 #
 #  All datasouce "types" and corresponding DataObject class
-# 
-supportedDataObjects = { 
+#
+supportedDataObjects = {
   'object': PG_DataObject_Object,
   'sql':    PG_DataObject_SQL
 }
Index: gnue/gnue-common/src/dbdrivers/pypgsql/DBdriver.py
diff -u gnue/gnue-common/src/dbdrivers/pypgsql/DBdriver.py:1.6 
gnue/gnue-common/src/dbdrivers/pypgsql/DBdriver.py:1.7
--- gnue/gnue-common/src/dbdrivers/pypgsql/DBdriver.py:1.6      Tue Nov  6 
14:41:10 2001
+++ gnue/gnue-common/src/dbdrivers/pypgsql/DBdriver.py  Thu Nov  8 02:55:52 2001
@@ -183,50 +183,74 @@
 
 
 class PG_DataObject_SQL(PG_DataObject, \
-      DBSIG_DataObject_SQL): 
-  def __init__(self): 
-    # Call DBSIG init first because PG_DataObject needs to overwrite 
+      DBSIG_DataObject_SQL):
+  def __init__(self):
+    # Call DBSIG init first because PG_DataObject needs to overwrite
     # some of its values
-    DBSIG_DataObject_SQL.__init__(self) 
+    DBSIG_DataObject_SQL.__init__(self)
     PG_DataObject.__init__(self)
 
-  def _buildQuery(self, conditions={}): 
+  def _buildQuery(self, conditions={}):
     return DBSIG_DataObject_SQL._buildQuery(self, conditions)
 
 
 #
 #  Extensions to Trigger Namespaces
-#  
-class TriggerExtensions: 
+#
+class TriggerExtensions:
 
-  def __init__(self, connection): 
+  def __init__(self, connection):
     self.__connection = connection
 
   # Return the current date, according to database
-#  def getDate(self): 
-#    pass
+  def getTimeStamp(self):
+    return self.__singleQuery("select current_timestamp")
 
-  # Return a sequence number from sequence 'name' 
-#  def getSequence(self, name): 
-#    pass
+  # Return a sequence number from sequence 'name'
+  def getSequence(self, name):
+    return self.__singleQuery("select nextval('%s')" % name)
 
   # Run the SQL statement 'statement'
-#  def sql(self, statement): 
-#    pass
+  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
 
 
 
 ######################################
 #
-#  The following hashes describe 
+#  The following hashes describe
 #  this driver's characteristings.
 #
 ######################################
 
 #
 #  All datasouce "types" and corresponding DataObject class
-# 
-supportedDataObjects = { 
+#
+supportedDataObjects = {
   'object': PG_DataObject_Object,
   'sql':    PG_DataObject_SQL
 }
Index: gnue/gnue-common/src/dbdrivers/sybase/DBdriver.py
diff -u gnue/gnue-common/src/dbdrivers/sybase/DBdriver.py:1.3 
gnue/gnue-common/src/dbdrivers/sybase/DBdriver.py:1.4
--- gnue/gnue-common/src/dbdrivers/sybase/DBdriver.py:1.3       Sun Nov  4 
17:22:35 2001
+++ gnue/gnue-common/src/dbdrivers/sybase/DBdriver.py   Thu Nov  8 02:55:52 2001
@@ -19,7 +19,7 @@
 # Copyright 2000, 2001 Free Software Foundation
 #
 # FILE:
-# DBdriver.py
+# sybase/DBdriver.py
 #
 # DESCRIPTION:
 # Driver to provide access to data via Dave Cole's Sybase ASE/Python Driver



reply via email to

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