@classmethod
def dbapi(cls):
- import informixdb
- return informixdb
+ return __import__('informixdb')
def create_connect_args(self, url):
if url.host:
c = connection.execute(s)
row = c.fetchone()
- print "has_table: " + tablename + ": " + str(bool(row is not None))
return row is not None
def reflecttable(self, connection, table, include_columns):
else:
foreignKeys[primary_table][0].append('%s'%(foreign_column))
foreignKeys[primary_table][1].append('%s.%s'%(primary_table, primary_column))
- for primary_table in foreignKeys.keys():
+ for primary_table in foreignKeys.iterkeys():
#table.append_constraint(schema.ForeignKeyConstraint(['%s.%s'%(foreign_table, foreign_column)], ['%s.%s'%(primary_table,primary_column)]))
table.append_constraint(schema.ForeignKeyConstraint(foreignKeys[primary_table][0], foreignKeys[primary_table][1], link_to_name=True))
self.type_compiler = self.type_compiler(self)
if label_length and label_length > self.max_identifier_length:
- raise exc.ArgumentError("Label length of %d is greater than this dialect's maximum identifier length of %d" % (label_length, self.max_identifier_length))
+ raise exc.ArgumentError("Label length of %d is greater than this dialect's"
+ " maximum identifier length of %d" % (label_length, self.max_identifier_length))
self.label_length = label_length
if not hasattr(self, 'description_encoding'):
class StrongInstanceDict(IdentityMap):
def all_states(self):
- return [attributes.instance_state(o) for o in self.values()]
+ return [attributes.instance_state(o) for o in self.itervalues()]
def contains_state(self, state):
return state.key in self and attributes.instance_state(self[state.key]) is state
session._finalize_loaded(context.progress)
- for ii, attrs in context.partials.items():
+ for ii, attrs in context.partials.iteritems():
ii.commit(attrs)
for row in rows:
eval_condition = evaluator_compiler.process(self.whereclause or expression._Null)
value_evaluators = {}
- for key,value in values.items():
+ for key,value in values.iteritems():
key = expression._column_as_key(key)
value_evaluators[key] = evaluator_compiler.process(expression._literal_as_binds(value))
except evaluator.UnevaluatableError:
def _default__init__(ext, mapper):
def __init__(self, **kwargs):
- for key, value in kwargs.items():
+ for key, value in kwargs.iteritems():
if ext.validate:
if not mapper.get_property(key, resolve_synonyms=False,
raiseerr=False):
All pools and connections are disposed.
"""
- for manager in proxies.values():
+ for manager in proxies.itervalues():
manager.close()
proxies.clear()
if kwargs:
raise exc.ArgumentError(
'Unknown PrimaryKeyConstraint argument(s): %s' %
- ', '.join(repr(x) for x in kwargs.keys()))
+ ', '.join(repr(x) for x in kwargs.iterkeys()))
super(PrimaryKeyConstraint, self).__init__(**constraint_args)
self.__colnames = list(columns)
if kwargs:
raise exc.ArgumentError(
'Unknown UniqueConstraint argument(s): %s' %
- ', '.join(repr(x) for x in kwargs.keys()))
+ ', '.join(repr(x) for x in kwargs.iterkeys()))
super(UniqueConstraint, self).__init__(**constraint_args)
self.__colnames = list(columns)
from sqlalchemy.sql.util import sort_tables
if tables is None:
- tables = self.tables.values()
+ tables = self.tables.itervalues()
else:
- tables = set(tables).intersection(self.tables.values())
+ tables = set(tables).intersection(self.tables.itervalues())
ret = sort_tables(tables)
if reverse:
ret = reversed(ret)
dependency.
"""
from sqlalchemy.sql.util import sort_tables
- return sort_tables(self.tables.values())
+ return sort_tables(self.tables.itervalues())
def reflect(self, bind=None, schema=None, only=None):
"""Load all available table definitions from the database.
available = util.OrderedSet(bind.engine.table_names(schema,
connection=conn))
- current = set(self.tables.keys())
+ current = set(self.tables.iterkeys())
if only is None:
load = [name for name in available if name not in current]
def dispose(self):
"""Dispose all bound engines, in all thread contexts."""
- for e in self.__engines.values():
+ for e in self.__engines.itervalues():
if hasattr(e, 'dispose'):
e.dispose()
# type which usually resolves to TEXT/CLOB
type_map = {
str : VARCHAR,
+ # Py2K
unicode : NCHAR,
+ # end Py2K
int : Integer,
float : Numeric,
bool: Boolean,