]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
(no commit message)
authorMike Bayer <mike_mp@zzzcomputing.com>
Sun, 23 Oct 2005 17:12:57 +0000 (17:12 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sun, 23 Oct 2005 17:12:57 +0000 (17:12 +0000)
examples/adjacencytree/tables.py
lib/sqlalchemy/databases/oracle.py
lib/sqlalchemy/engine.py
lib/sqlalchemy/pool.py
test/sequence.py

index e82c8ee598d8172c056c5e7f1eece92841234912..364ddd7370c3f167245cdb8c608dc442ecfb1e8f 100644 (file)
@@ -1,8 +1,10 @@
 from sqlalchemy.schema import *
 import sqlalchemy.engine
+import os
 
 #engine = sqlalchemy.engine.create_engine('sqlite', ':memory:', {}, echo = True)
-engine = sqlalchemy.engine.create_engine('postgres', {'database':'test', 'host':'127.0.0.1', 'user':'scott', 'password':'tiger'}, echo=True)
+#engine = sqlalchemy.engine.create_engine('postgres', {'database':'test', 'host':'127.0.0.1', 'user':'scott', 'password':'tiger'}, echo=True)
+db = sqlalchemy.engine.create_engine('oracle', {'dsn':os.environ['DSN'], 'user':os.environ['USER'], 'password':os.environ['PASSWORD']}, echo=True)
 
 
 """create the treenodes table.  This is ia basic adjacency list model table.
@@ -10,7 +12,7 @@ One additional column, "root_node_id", references a "root node" row and is used
 in the 'byroot_tree' example."""
 
 trees = Table('treenodes', engine,
-    Column('node_id', Integer, primary_key=True),
+    Column('node_id', Integer, Sequence('tree_id_seq', optional=True), primary_key=True),
     Column('parent_node_id', Integer, ForeignKey('treenodes.node_id'), nullable=True),
     Column('root_node_id', Integer, ForeignKey('treenodes.node_id'), nullable=True),
     Column('node_name', String(50), nullable=False),
@@ -27,7 +29,7 @@ print "\n\n\n----------------------------"
 print "Creating Tree Table:"
 print "----------------------------"
 
-#treedata.create()    
-#trees.create()
+treedata.create()    
+trees.create()
 
 
index c9955611dee8802bc7f15767d40eaa2f88b77591..57cb8eba40fa9b7347265de2a8a6cd083cddca3e 100644 (file)
@@ -109,19 +109,17 @@ class OracleSQLEngine(ansisql.ANSISQLEngine):
 
     def pre_exec(self, connection, cursor, statement, parameters, echo = None, compiled = None, **kwargs):
         # if a sequence was explicitly defined we do it here
-       if True: return
         if compiled is None: return
         if getattr(compiled, "isinsert", False):
             for primary_key in compiled.statement.table.primary_keys:
                 if primary_key.sequence is not None and not primary_key.sequence.optional and parameters[primary_key.key] is None:
                     if echo is True or self.echo:
-                        self.log("select nextval('%s')" % primary_key.sequence.name)
-                    cursor.execute("select nextval('%s')" % primary_key.sequence.name)
+                        self.log("select %s.nextval from dual" % primary_key.sequence.name)
+                    cursor.execute("select %s.nextval from dual" % primary_key.sequence.name)
                     newid = cursor.fetchone()[0]
                     parameters[primary_key.key] = newid
 
     def post_exec(self, connection, cursor, statement, parameters, echo = None, compiled = None, **kwargs):
-       if True: return
         if compiled is None: return
         if getattr(compiled, "isinsert", False):
             table = compiled.statement.table
index 10d4d8fff3254f42f89cc031d9634cd13528f299..9957fe315e1f6952f9a3385089cc745eeb9f82a7 100644 (file)
@@ -193,34 +193,26 @@ class SQLEngine(schema.SchemaEngine):
         pass
 
     def execute(self, statement, parameters, connection = None, echo = None, typemap = None, commit=False, **kwargs):
-       print "I AM HERE"
         if parameters is None:
             parameters = {}
         if echo is True or self.echo:
             self.log(statement)
             self.log(repr(parameters))
 
-       print "LOGGED"
         if connection is None:
             connection = self.connection()
-            #connection = self.dbapi().connect(**self.connect_args()[1])
             c = connection.cursor()
         else:
             c = connection.cursor()
 
-       print "CONNECTION"
         self.pre_exec(connection, c, statement, parameters, echo = echo, **kwargs)
-       print "LALA"
         if isinstance(parameters, list):
             self._executemany(c, statement, parameters)
         else:
             self._execute(c, statement, parameters)
-       print "FOO"
         self.post_exec(connection, c, statement, parameters, echo = echo, **kwargs)
         if commit:
-            print "HOHO"
             connection.commit()
-        print "EEP"
         return ResultProxy(c, self, typemap = typemap)
 
     def _execute(self, c, statement, parameters):
index 023220ac2f8523203870c52447cc5ef66736e49f..c399f062d3534636d66103c6b6c41aa94e12ca14 100644 (file)
@@ -58,9 +58,7 @@ class Pool(object):
         try:
             return self._threadconns[thread.get_ident()]
         except KeyError:
-            print "HEY"
             agent = ConnectionFairy(self)
-            print "HO"
             self._threadconns[thread.get_ident()] = agent
             return agent
             
@@ -86,7 +84,6 @@ class ConnectionFairy:
     def __getattr__(self, key):
         return getattr(self.connection, key)
     def __del__(self):
-        print "LALA"
         if self.connection is not None:
             self.pool.return_conn(self.connection)
             self.pool = None
index c17e619d322785a21913f87398232ddc781f877b..492495f8ea7e1516cdccb14a16032b36ba3d00c8 100644 (file)
@@ -6,24 +6,29 @@ import testbase
 from sqlalchemy.schema import *
 import sqlalchemy
 
-db = sqlalchemy.engine.create_engine('postgres', {'database':'test', 'host':'127.0.0.1', 'user':'scott', 'password':'tiger'}, echo=testbase.echo)
-#db = sqlalchemy.engine.create_engine('oracle', {'DSN':'test', 'user':'scott', 'password':'tiger'}, echo=testbase.echo)
+#db = sqlalchemy.engine.create_engine('postgres', {'database':'test', 'host':'127.0.0.1', 'user':'scott', 'password':'tiger'}, echo=testbase.echo)
+db = sqlalchemy.engine.create_engine('oracle', {'dsn':os.environ['DSN'], 'user':os.environ['USER'], 'password':os.environ['PASSWORD']}, echo=testbase.echo)
 
 class SequenceTest(PersistTest):
-    def testsequence(self):
-        table = Table("cartitems", db, 
+
+    def setUp(self):
+        self.table = Table("cartitems", db, 
             Column("cart_id", Integer, Sequence('cart_id_seq'), primary_key=True),
             Column("description", String(40)),
-            Column("date", DateTime())
+            Column("createdate", DateTime())
         )
         
-        table.create()
+        self.table.create()
 
-        table.insert().execute(description='hi')
-        table.insert().execute(description='there')
-        table.insert().execute(description='lala')
+    def testsequence(self):
+        self.table.insert().execute(description='hi')
+        self.table.insert().execute(description='there')
+        self.table.insert().execute(description='lala')
         
-        table.select().execute().fetchall()
-        table.drop()
+        self.table.select().execute().fetchall()
+   
+    def tearDown(self): 
+       self.table.drop()
+
 if __name__ == "__main__":
     unittest.main()