summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sqlalchemy')
-rw-r--r--lib/sqlalchemy/ansisql.py12
-rw-r--r--lib/sqlalchemy/databases/firebird.py2
-rw-r--r--lib/sqlalchemy/databases/informix.py2
-rw-r--r--lib/sqlalchemy/databases/mysql.py2
-rw-r--r--lib/sqlalchemy/databases/sqlite.py2
-rw-r--r--lib/sqlalchemy/engine/strategies.py2
-rw-r--r--lib/sqlalchemy/engine/url.py2
-rw-r--r--lib/sqlalchemy/orm/dependency.py4
-rw-r--r--lib/sqlalchemy/orm/mapper.py10
-rw-r--r--lib/sqlalchemy/orm/properties.py4
-rw-r--r--lib/sqlalchemy/orm/scoping.py2
-rw-r--r--lib/sqlalchemy/orm/strategies.py2
-rw-r--r--lib/sqlalchemy/orm/unitofwork.py4
-rw-r--r--lib/sqlalchemy/orm/uowdumper.py2
-rw-r--r--lib/sqlalchemy/schema.py4
-rw-r--r--lib/sqlalchemy/sql.py12
16 files changed, 34 insertions, 34 deletions
diff --git a/lib/sqlalchemy/ansisql.py b/lib/sqlalchemy/ansisql.py
index 01e0a3c9d..e36f04c1a 100644
--- a/lib/sqlalchemy/ansisql.py
+++ b/lib/sqlalchemy/ansisql.py
@@ -281,7 +281,7 @@ class ANSICompiler(engine.Compiled, sql.ClauseVisitor):
def visit_label(self, label):
labelname = self._truncated_identifier("colident", label.name)
- if len(self.select_stack):
+ if self.select_stack:
self.typemap.setdefault(labelname.lower(), label.obj.type)
if isinstance(label.obj, sql._ColumnClause):
self.column_labels[label.obj._label] = labelname
@@ -299,7 +299,7 @@ class ANSICompiler(engine.Compiled, sql.ClauseVisitor):
else:
name = column.name
- if len(self.select_stack):
+ if self.select_stack:
# if we are within a visit to a Select, set up the "typemap"
# for this column which is used to translate result set values
self.typemap.setdefault(name.lower(), column.type)
@@ -358,13 +358,13 @@ class ANSICompiler(engine.Compiled, sql.ClauseVisitor):
return self.process(clause.clause_expr)
def visit_cast(self, cast, **kwargs):
- if len(self.select_stack):
+ if self.select_stack:
# not sure if we want to set the typemap here...
self.typemap.setdefault("CAST", cast.type)
return "CAST(%s AS %s)" % (self.process(cast.clause), self.process(cast.typeclause))
def visit_function(self, func, **kwargs):
- if len(self.select_stack):
+ if self.select_stack:
self.typemap.setdefault(func.name, func.type)
if not self.apply_function_parens(func):
return ".".join(func.packagenames + [func.name])
@@ -544,7 +544,7 @@ class ANSICompiler(engine.Compiled, sql.ClauseVisitor):
else:
whereclause = w
- if len(froms):
+ if froms:
text += " \nFROM "
text += string.join(from_strings, ', ')
else:
@@ -799,7 +799,7 @@ class ANSISchemaGenerator(ANSISchemaBase):
# On some DB order is significant: visit PK first, then the
# other constraints (engine.ReflectionTest.testbasic failed on FB2)
- if len(table.primary_key):
+ if table.primary_key:
self.traverse_single(table.primary_key)
for constraint in [c for c in table.constraints if c is not table.primary_key]:
self.traverse_single(constraint)
diff --git a/lib/sqlalchemy/databases/firebird.py b/lib/sqlalchemy/databases/firebird.py
index 065894437..307fceb48 100644
--- a/lib/sqlalchemy/databases/firebird.py
+++ b/lib/sqlalchemy/databases/firebird.py
@@ -318,7 +318,7 @@ class FBCompiler(ansisql.ANSICompiler):
return self.process(alias.original, asfrom=True)
def visit_function(self, func):
- if len(func.clauses):
+ if func.clauses:
return super(FBCompiler, self).visit_function(func)
else:
return func.name
diff --git a/lib/sqlalchemy/databases/informix.py b/lib/sqlalchemy/databases/informix.py
index b4471df58..e98a5467e 100644
--- a/lib/sqlalchemy/databases/informix.py
+++ b/lib/sqlalchemy/databases/informix.py
@@ -407,7 +407,7 @@ class InfoCompiler(ansisql.ANSICompiler):
return ""
def __visit_label(self, label):
- if len(self.select_stack):
+ if self.select_stack:
self.typemap.setdefault(label.name.lower(), label.obj.type)
if self.strings[label.obj]:
self.strings[label] = self.strings[label.obj] + " AS " + label.name
diff --git a/lib/sqlalchemy/databases/mysql.py b/lib/sqlalchemy/databases/mysql.py
index d4a2ac59f..e95951f4a 100644
--- a/lib/sqlalchemy/databases/mysql.py
+++ b/lib/sqlalchemy/databases/mysql.py
@@ -1136,7 +1136,7 @@ class MySQLDialect(ansisql.ANSIDialect):
ssl[key[4:]] = opts[key]
util.coerce_kw_type(ssl, key[4:], str)
del opts[key]
- if len(ssl):
+ if ssl:
opts['ssl'] = ssl
# FOUND_ROWS must be set in CLIENT_FLAGS to enable
diff --git a/lib/sqlalchemy/databases/sqlite.py b/lib/sqlalchemy/databases/sqlite.py
index 3f16c2b0d..15f6a2065 100644
--- a/lib/sqlalchemy/databases/sqlite.py
+++ b/lib/sqlalchemy/databases/sqlite.py
@@ -331,7 +331,7 @@ class SQLiteCompiler(ansisql.ANSICompiler):
if self.dialect.supports_cast:
return super(SQLiteCompiler, self).visit_cast(cast)
else:
- if len(self.select_stack):
+ if self.select_stack:
# not sure if we want to set the typemap here...
self.typemap.setdefault("CAST", cast.type)
return self.process(cast.clause)
diff --git a/lib/sqlalchemy/engine/strategies.py b/lib/sqlalchemy/engine/strategies.py
index 910a1049d..ed9422d15 100644
--- a/lib/sqlalchemy/engine/strategies.py
+++ b/lib/sqlalchemy/engine/strategies.py
@@ -99,7 +99,7 @@ class DefaultEngineStrategy(EngineStrategy):
engine_args[k] = kwargs.pop(k)
# all kwargs should be consumed
- if len(kwargs):
+ if kwargs:
raise TypeError("Invalid argument(s) %s sent to create_engine(), using configuration %s/%s/%s. Please check that the keyword arguments are appropriate for this combination of components." % (','.join(["'%s'" % k for k in kwargs]), dialect.__class__.__name__, pool.__class__.__name__, engineclass.__name__))
return engineclass(pool, dialect, u, **engine_args)
diff --git a/lib/sqlalchemy/engine/url.py b/lib/sqlalchemy/engine/url.py
index 1da76d7b2..98d4d442e 100644
--- a/lib/sqlalchemy/engine/url.py
+++ b/lib/sqlalchemy/engine/url.py
@@ -61,7 +61,7 @@ class URL(object):
s += ':' + str(self.port)
if self.database is not None:
s += '/' + self.database
- if len(self.query):
+ if self.query:
keys = self.query.keys()
keys.sort()
s += '?' + "&".join(["%s=%s" % (k, self.query[k]) for k in keys])
diff --git a/lib/sqlalchemy/orm/dependency.py b/lib/sqlalchemy/orm/dependency.py
index cfe501695..c04771b23 100644
--- a/lib/sqlalchemy/orm/dependency.py
+++ b/lib/sqlalchemy/orm/dependency.py
@@ -369,7 +369,7 @@ class ManyToManyDP(DependencyProcessor):
uowcommit.attributes[(self, "manytomany", obj, child)] = True
secondary_delete.append(associationrow)
- if len(secondary_delete):
+ if secondary_delete:
secondary_delete.sort()
# TODO: precompile the delete/insert queries?
statement = self.secondary.delete(sql.and_(*[c == sql.bindparam(c.key, type_=c.type) for c in self.secondary.c if c.key in associationrow]))
@@ -377,7 +377,7 @@ class ManyToManyDP(DependencyProcessor):
if result.supports_sane_rowcount() and result.rowcount != len(secondary_delete):
raise exceptions.ConcurrentModificationError("Deleted rowcount %d does not match number of objects deleted %d" % (result.rowcount, len(secondary_delete)))
- if len(secondary_insert):
+ if secondary_insert:
statement = self.secondary.insert()
connection.execute(statement, secondary_insert)
diff --git a/lib/sqlalchemy/orm/mapper.py b/lib/sqlalchemy/orm/mapper.py
index 4d668e3b5..016803874 100644
--- a/lib/sqlalchemy/orm/mapper.py
+++ b/lib/sqlalchemy/orm/mapper.py
@@ -182,7 +182,7 @@ class Mapper(object):
if getattr(klass, key).hasparent(obj, optimistic=optimistic):
return False
else:
- if len(self.delete_orphans):
+ if self.delete_orphans:
if not has_identity(obj):
raise exceptions.FlushError("instance %s is an unsaved, pending instance and is an orphan (is not attached to %s)" %
(
@@ -1097,7 +1097,7 @@ class Mapper(object):
history = prop.get_history(obj, passive=True)
if history:
a = history.added_items()
- if len(a):
+ if a:
if isinstance(a[0], sql.ClauseElement):
value_params[col] = a[0]
else:
@@ -1127,7 +1127,7 @@ class Mapper(object):
else:
insert.append((obj, params, mapper, connection, value_params))
- if len(update):
+ if update:
mapper = table_to_mapper[table]
clause = sql.and_()
for col in mapper.pks_by_table[table]:
@@ -1155,7 +1155,7 @@ class Mapper(object):
if c.supports_sane_rowcount() and rows != len(update):
raise exceptions.ConcurrentModificationError("Updated rowcount %d does not match number of objects updated %d" % (rows, len(update)))
- if len(insert):
+ if insert:
statement = table.insert()
def comparator(a, b):
return cmp(a[0]._sa_insert_order, b[0]._sa_insert_order)
@@ -1217,7 +1217,7 @@ class Mapper(object):
elif v != params.get_original(c.key):
self.set_attr_by_column(obj, c, params.get_original(c.key))
- if len(deferred_props):
+ if deferred_props:
deferred_load(obj, props=deferred_props)
def delete_obj(self, objects, uowtransaction):
diff --git a/lib/sqlalchemy/orm/properties.py b/lib/sqlalchemy/orm/properties.py
index 7923a55db..1c050d4f3 100644
--- a/lib/sqlalchemy/orm/properties.py
+++ b/lib/sqlalchemy/orm/properties.py
@@ -422,7 +422,7 @@ class PropertyLoader(StrategizedProperty):
self.target.corresponding_column(col, raiseerr=False) is not None or \
self.secondary.corresponding_column(col, raiseerr=False) is not None
- if len(self.foreign_keys):
+ if self.foreign_keys:
self._opposite_side = util.Set()
def visit_binary(binary):
if binary.operator != operator.eq or not isinstance(binary.left, schema.Column) or not isinstance(binary.right, schema.Column):
@@ -485,7 +485,7 @@ class PropertyLoader(StrategizedProperty):
else:
self.direction = sync.MANYTOONE
- elif len(self.remote_side):
+ elif self.remote_side:
for f in self.foreign_keys:
if f in self.remote_side:
self.direction = sync.ONETOMANY
diff --git a/lib/sqlalchemy/orm/scoping.py b/lib/sqlalchemy/orm/scoping.py
index 3ae63b49a..96d9a23fc 100644
--- a/lib/sqlalchemy/orm/scoping.py
+++ b/lib/sqlalchemy/orm/scoping.py
@@ -25,7 +25,7 @@ class ScopedSession(object):
global_extensions.append(_ScopedExt(self))
def __call__(self, **kwargs):
- if len(kwargs):
+ if kwargs:
scope = kwargs.pop('scope', False)
if scope is not None:
if self.registry.has():
diff --git a/lib/sqlalchemy/orm/strategies.py b/lib/sqlalchemy/orm/strategies.py
index 6e2860f3a..0afd24f70 100644
--- a/lib/sqlalchemy/orm/strategies.py
+++ b/lib/sqlalchemy/orm/strategies.py
@@ -351,7 +351,7 @@ class LazyLoader(AbstractRelationLoader):
if self.uselist:
return result
else:
- if len(result):
+ if result:
return result[0]
else:
return None
diff --git a/lib/sqlalchemy/orm/unitofwork.py b/lib/sqlalchemy/orm/unitofwork.py
index f59042810..bf06896c1 100644
--- a/lib/sqlalchemy/orm/unitofwork.py
+++ b/lib/sqlalchemy/orm/unitofwork.py
@@ -964,12 +964,12 @@ class UOWDependencyProcessor(object):
ret = False
elements = [getobj(elem) for elem in self.targettask.polymorphic_tosave_elements if elem.obj is not None and not elem.is_preprocessed(self)]
- if len(elements):
+ if elements:
ret = True
self.processor.preprocess_dependencies(self.targettask, elements, trans, delete=False)
elements = [getobj(elem) for elem in self.targettask.polymorphic_todelete_elements if elem.obj is not None and not elem.is_preprocessed(self)]
- if len(elements):
+ if elements:
ret = True
self.processor.preprocess_dependencies(self.targettask, elements, trans, delete=True)
return ret
diff --git a/lib/sqlalchemy/orm/uowdumper.py b/lib/sqlalchemy/orm/uowdumper.py
index 22b0ec828..246718229 100644
--- a/lib/sqlalchemy/orm/uowdumper.py
+++ b/lib/sqlalchemy/orm/uowdumper.py
@@ -26,7 +26,7 @@ class UOWDumper(unitofwork.UOWExecutor):
self.headers = {}
try:
i = self._indent()
- if len(i):
+ if i:
i += "-"
#i = i[0:-1] + "-"
self.buf.write(self._indent() + "\n")
diff --git a/lib/sqlalchemy/schema.py b/lib/sqlalchemy/schema.py
index b1665b2c5..ce1720847 100644
--- a/lib/sqlalchemy/schema.py
+++ b/lib/sqlalchemy/schema.py
@@ -144,7 +144,7 @@ class _TableSingleton(sql._FigureVisitName):
key = _get_table_key(name, schema)
try:
table = metadata.tables[key]
- if len(args):
+ if args:
if not useexisting:
raise exceptions.ArgumentError("Table '%s' is already defined for this MetaData instance." % key)
return table
@@ -526,7 +526,7 @@ class Column(SchemaItem, sql._ColumnClause):
self.constraints = util.Set()
self.__originating_column = self
self._foreign_keys = util.OrderedSet()
- if len(kwargs):
+ if kwargs:
raise exceptions.ArgumentError("Unknown arguments passed to Column: " + repr(kwargs.keys()))
primary_key = util.SimpleProperty('_primary_key')
diff --git a/lib/sqlalchemy/sql.py b/lib/sqlalchemy/sql.py
index 8e8a12895..a6db06423 100644
--- a/lib/sqlalchemy/sql.py
+++ b/lib/sqlalchemy/sql.py
@@ -394,7 +394,7 @@ def case(whens, value=None, else_=None):
whenlist = [ClauseList('WHEN', c, 'THEN', r, operator=None) for (c,r) in whens]
if not else_ is None:
whenlist.append(ClauseList('ELSE', else_, operator=None))
- if len(whenlist):
+ if whenlist:
type = list(whenlist[-1])[-1].type
else:
type = None
@@ -1051,7 +1051,7 @@ class ClauseElement(object):
def execute(self, *multiparams, **params):
"""Compile and execute this ``ClauseElement``."""
- if len(multiparams):
+ if multiparams:
compile_params = multiparams[0]
else:
compile_params = params
@@ -1520,7 +1520,7 @@ class ColumnElement(Selectable, _CompareMixin):
""")
def _one_fkey(self):
- if len(self._foreign_keys):
+ if self._foreign_keys:
return list(self._foreign_keys)[0]
else:
return None
@@ -1668,7 +1668,7 @@ class FromClause(Selectable):
return [self.oid_column]
def count(self, whereclause=None, **params):
- if len(self.primary_key):
+ if self.primary_key:
col = list(self.primary_key)[0]
else:
col = list(self.columns)[0]
@@ -2772,7 +2772,7 @@ class TableClause(FromClause):
raise NotImplementedError()
def count(self, whereclause=None, **params):
- if len(self.primary_key):
+ if self.primary_key:
col = list(self.primary_key)[0]
else:
col = list(self.columns)[0]
@@ -2901,7 +2901,7 @@ class CompoundSelect(_SelectBaseMixin, FromClause):
# some DBs do not like ORDER BY in the inner queries of a UNION, etc.
for n, s in enumerate(selects):
- if len(s._order_by_clause):
+ if s._order_by_clause:
s = s.order_by(None)
# unions group from left to right, so don't group first select
if n: