From: Philip Jenvey Date: Fri, 11 Sep 2009 22:53:50 +0000 (+0000) Subject: close cursors: mostly fetchone -> first X-Git-Tag: rel_0_6beta1~291 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ed486e952363b107fdd3a395930e148a24919f3a;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git close cursors: mostly fetchone -> first --- diff --git a/lib/sqlalchemy/dialects/firebird/base.py b/lib/sqlalchemy/dialects/firebird/base.py index e89945e0b0..3b323a5ab7 100644 --- a/lib/sqlalchemy/dialects/firebird/base.py +++ b/lib/sqlalchemy/dialects/firebird/base.py @@ -462,8 +462,7 @@ class FBDialect(default.DefaultDialect): FROM rdb$dependencies trigdep2 WHERE trigdep2.rdb$dependent_name = trigdep.rdb$dependent_name) = 2 """ - genc = connection.execute(genqry, [tablename, colname]) - genr = genc.fetchone() + genr = connection.execute(genqry, [tablename, colname]).first() if genr is not None: return dict(name=self.normalize_name(genr['fgenerator'])) diff --git a/lib/sqlalchemy/dialects/informix/base.py b/lib/sqlalchemy/dialects/informix/base.py index b69748fcf1..a0ba292698 100644 --- a/lib/sqlalchemy/dialects/informix/base.py +++ b/lib/sqlalchemy/dialects/informix/base.py @@ -225,7 +225,7 @@ class InformixDialect(default.DefaultDialect): def has_table(self, connection, table_name, schema=None): cursor = connection.execute("""select tabname from systables where tabname=?""", table_name.lower() ) - return bool( cursor.fetchone() is not None ) + return cursor.first() is not None def reflecttable(self, connection, table, include_columns): c = connection.execute ("select distinct OWNER from systables where tabname=?", table.name.lower() ) diff --git a/lib/sqlalchemy/dialects/maxdb/base.py b/lib/sqlalchemy/dialects/maxdb/base.py index 1ec95e03b4..b116d6df61 100644 --- a/lib/sqlalchemy/dialects/maxdb/base.py +++ b/lib/sqlalchemy/dialects/maxdb/base.py @@ -870,9 +870,7 @@ class MaxDBDialect(default.DefaultDialect): bind.append(denormalize(schema)) rp = connection.execute(sql, bind) - found = bool(rp.fetchone()) - rp.close() - return found + return bool(rp.first()) def table_names(self, connection, schema): if schema is None: @@ -1031,10 +1029,7 @@ class MaxDBDialect(default.DefaultDialect): "WHERE SEQUENCE_NAME=? ") rp = connection.execute(sql, denormalize(name)) - found = bool(rp.fetchone()) - rp.close() - return found - + return bool(rp.first()) def _autoserial_column(table): diff --git a/lib/sqlalchemy/dialects/mssql/base.py b/lib/sqlalchemy/dialects/mssql/base.py index fc3236ba92..813f42cbb8 100644 --- a/lib/sqlalchemy/dialects/mssql/base.py +++ b/lib/sqlalchemy/dialects/mssql/base.py @@ -1200,8 +1200,7 @@ class MSDialect(default.DefaultDialect): ) c = connection.execute(s) - row = c.fetchone() - return row is not None + return c.first() is not None @reflection.cache def get_schema_names(self, connection, **kw): @@ -1354,8 +1353,7 @@ class MSDialect(default.DefaultDialect): sql.text("select ident_seed(:seed), ident_incr(:incr)"), {'seed':table_fullname, 'incr':table_fullname} ) - row = cursor.fetchone() - cursor.close() + row = cursor.first() if not row is None: colmap[ic]['sequence'].update({ 'start' : int(row[0]), diff --git a/lib/sqlalchemy/dialects/oracle/base.py b/lib/sqlalchemy/dialects/oracle/base.py index a5ced0738a..454be70f89 100644 --- a/lib/sqlalchemy/dialects/oracle/base.py +++ b/lib/sqlalchemy/dialects/oracle/base.py @@ -531,7 +531,7 @@ class OracleDialect(default.DefaultDialect): sql.text("SELECT table_name FROM all_tables " "WHERE table_name = :name AND owner = :schema_name"), name=self.denormalize_name(table_name), schema_name=self.denormalize_name(schema)) - return cursor.fetchone() is not None + return cursor.first() is not None def has_sequence(self, connection, sequence_name, schema=None): if not schema: @@ -540,7 +540,7 @@ class OracleDialect(default.DefaultDialect): sql.text("SELECT sequence_name FROM all_sequences " "WHERE sequence_name = :name AND sequence_owner = :schema_name"), name=self.denormalize_name(sequence_name), schema_name=self.denormalize_name(schema)) - return cursor.fetchone() is not None + return cursor.first() is not None def normalize_name(self, name): if name is None: @@ -601,7 +601,7 @@ class OracleDialect(default.DefaultDialect): result = connection.execute(sql.text(q), **params) if desired_owner: - row = result.fetchone() + row = result.first() if row: return row['table_name'], row['table_owner'], row['db_link'], row['synonym_name'] else: diff --git a/lib/sqlalchemy/dialects/postgresql/base.py b/lib/sqlalchemy/dialects/postgresql/base.py index 7f9cc889a9..a6fa21f992 100644 --- a/lib/sqlalchemy/dialects/postgresql/base.py +++ b/lib/sqlalchemy/dialects/postgresql/base.py @@ -538,7 +538,7 @@ class PGDialect(default.DefaultDialect): sql.bindparam('schema', unicode(schema), type_=sqltypes.Unicode)] ) ) - return bool(cursor.fetchone()) + return bool(cursor.first()) def has_sequence(self, connection, sequence_name): cursor = connection.execute( @@ -547,7 +547,7 @@ class PGDialect(default.DefaultDialect): "AND nspname != 'information_schema' AND relname = :seqname)", bindparams=[sql.bindparam('seqname', unicode(sequence_name), type_=sqltypes.Unicode)] )) - return bool(cursor.fetchone()) + return bool(cursor.first()) def table_names(self, connection, schema): result = connection.execute( diff --git a/lib/sqlalchemy/dialects/sybase/base.py b/lib/sqlalchemy/dialects/sybase/base.py index 6f8c648e45..a15a1fd5be 100644 --- a/lib/sqlalchemy/dialects/sybase/base.py +++ b/lib/sqlalchemy/dialects/sybase/base.py @@ -363,10 +363,7 @@ class SybaseDialect(default.DefaultDialect): def has_table(self, connection, tablename, schema=None): # FIXME: ignore schemas for sybase s = sql.select([tables.c.table_name], tables.c.table_name == tablename) - - c = connection.execute(s) - row = c.fetchone() - return row is not None + return connection.execute(s).first() is not None def reflecttable(self, connection, table, include_columns): # Get base columns diff --git a/test/engine/test_pool.py b/test/engine/test_pool.py index 68637281e1..3f38cda1a2 100644 --- a/test/engine/test_pool.py +++ b/test/engine/test_pool.py @@ -391,7 +391,7 @@ class PoolTest(PoolTestBase): listener.connect = listener engine = create_engine(testing.db.url) engine.pool.add_listener(listener) - engine.execute(select([1])) + engine.execute(select([1])).close() assert called, "Listener not called on connect"