From: Mike Bayer Date: Sun, 23 Oct 2005 17:12:57 +0000 (+0000) Subject: (no commit message) X-Git-Tag: rel_0_1_0~457 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b26158a1c2e98f2c3c9c283e0356a3425b74d09e;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git --- diff --git a/examples/adjacencytree/tables.py b/examples/adjacencytree/tables.py index e82c8ee598..364ddd7370 100644 --- a/examples/adjacencytree/tables.py +++ b/examples/adjacencytree/tables.py @@ -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() diff --git a/lib/sqlalchemy/databases/oracle.py b/lib/sqlalchemy/databases/oracle.py index c9955611de..57cb8eba40 100644 --- a/lib/sqlalchemy/databases/oracle.py +++ b/lib/sqlalchemy/databases/oracle.py @@ -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 diff --git a/lib/sqlalchemy/engine.py b/lib/sqlalchemy/engine.py index 10d4d8fff3..9957fe315e 100644 --- a/lib/sqlalchemy/engine.py +++ b/lib/sqlalchemy/engine.py @@ -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): diff --git a/lib/sqlalchemy/pool.py b/lib/sqlalchemy/pool.py index 023220ac2f..c399f062d3 100644 --- a/lib/sqlalchemy/pool.py +++ b/lib/sqlalchemy/pool.py @@ -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 diff --git a/test/sequence.py b/test/sequence.py index c17e619d32..492495f8ea 100644 --- a/test/sequence.py +++ b/test/sequence.py @@ -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()