diff options
| author | Philip Jenvey <pjenvey@underboss.org> | 2009-09-24 02:11:56 +0000 |
|---|---|---|
| committer | Philip Jenvey <pjenvey@underboss.org> | 2009-09-24 02:11:56 +0000 |
| commit | 5a9c1b8824bb84aaf8baccdfa2780a94af5c0f44 (patch) | |
| tree | abb0eed7f59567b73b0087d2f1e68c89254f7d2a /lib/sqlalchemy/dialects | |
| parent | 79ce8e89bd0537d26c8c3594557b2aa4c67f8f90 (diff) | |
| download | sqlalchemy-5a9c1b8824bb84aaf8baccdfa2780a94af5c0f44.tar.gz | |
merge from branches/clauseelement-nonzero
adds a __nonzero__ to _BinaryExpression to avoid faulty comparisons during hash
collisions (which only occur on Jython)
fixes #1547
Diffstat (limited to 'lib/sqlalchemy/dialects')
| -rw-r--r-- | lib/sqlalchemy/dialects/firebird/base.py | 2 | ||||
| -rw-r--r-- | lib/sqlalchemy/dialects/mssql/base.py | 2 | ||||
| -rw-r--r-- | lib/sqlalchemy/dialects/mysql/base.py | 2 | ||||
| -rw-r--r-- | lib/sqlalchemy/dialects/oracle/base.py | 2 | ||||
| -rw-r--r-- | lib/sqlalchemy/dialects/postgresql/base.py | 4 |
5 files changed, 6 insertions, 6 deletions
diff --git a/lib/sqlalchemy/dialects/firebird/base.py b/lib/sqlalchemy/dialects/firebird/base.py index 71b5e5cdc..7b0007b68 100644 --- a/lib/sqlalchemy/dialects/firebird/base.py +++ b/lib/sqlalchemy/dialects/firebird/base.py @@ -221,7 +221,7 @@ class FBCompiler(sql.compiler.SQLCompiler): visit_char_length_func = visit_length_func def function_argspec(self, func, **kw): - if func.clauses: + if func.clauses is not None and len(func.clauses): return self.process(func.clause_expr) else: return "" diff --git a/lib/sqlalchemy/dialects/mssql/base.py b/lib/sqlalchemy/dialects/mssql/base.py index 813f42cbb..b190af7b2 100644 --- a/lib/sqlalchemy/dialects/mssql/base.py +++ b/lib/sqlalchemy/dialects/mssql/base.py @@ -1075,7 +1075,7 @@ class MSDDLCompiler(compiler.DDLCompiler): else: colspec += " NULL" - if not column.table: + if column.table is None: raise exc.InvalidRequestError("mssql requires Table-bound columns in order to generate DDL") seq_col = column.table._autoincrement_column diff --git a/lib/sqlalchemy/dialects/mysql/base.py b/lib/sqlalchemy/dialects/mysql/base.py index aa616efdf..8408e19ed 100644 --- a/lib/sqlalchemy/dialects/mysql/base.py +++ b/lib/sqlalchemy/dialects/mysql/base.py @@ -1300,7 +1300,7 @@ class MySQLCompiler(compiler.SQLCompiler): text = "UPDATE " + self.preparer.format_table(update_stmt.table) + \ " SET " + ', '.join(["%s=%s" % (self.preparer.format_column(c[0]), c[1]) for c in colparams]) - if update_stmt._whereclause: + if update_stmt._whereclause is not None: text += " WHERE " + self.process(update_stmt._whereclause) limit = update_stmt.kwargs.get('mysql_limit', None) diff --git a/lib/sqlalchemy/dialects/oracle/base.py b/lib/sqlalchemy/dialects/oracle/base.py index 454be70f8..c14151515 100644 --- a/lib/sqlalchemy/dialects/oracle/base.py +++ b/lib/sqlalchemy/dialects/oracle/base.py @@ -365,7 +365,7 @@ class OracleCompiler(compiler.SQLCompiler): froms = select._get_display_froms(existingfroms) whereclause = self._get_nonansi_join_whereclause(froms) - if whereclause: + if whereclause is not None: select = select.where(whereclause) select._oracle_visit = True diff --git a/lib/sqlalchemy/dialects/postgresql/base.py b/lib/sqlalchemy/dialects/postgresql/base.py index a6fa21f99..78ea1a8fc 100644 --- a/lib/sqlalchemy/dialects/postgresql/base.py +++ b/lib/sqlalchemy/dialects/postgresql/base.py @@ -240,8 +240,8 @@ class PGCompiler(compiler.SQLCompiler): return text def get_select_precolumns(self, select): - if select._distinct: - if isinstance(select._distinct, bool): + if select._distinct is not False: + if select._distinct is True: return "DISTINCT " elif isinstance(select._distinct, (list, tuple)): return "DISTINCT ON (" + ', '.join( |
