summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLele Gaifax <lele@metapensiero.it>2010-01-28 10:56:33 +0000
committerLele Gaifax <lele@metapensiero.it>2010-01-28 10:56:33 +0000
commitac96e743e3615aa42220b7084ceb0a68149a5b04 (patch)
tree71980b3b8a64a771e52da3d1ad17eb5b043daa59
parent247d7eaca3df99cfd23f23911e3ca689046c18ad (diff)
downloadsqlalchemy-ac96e743e3615aa42220b7084ceb0a68149a5b04.tar.gz
Fix #1663 on 0.5.x: the whitespace after DEFAULT may start with a newline
-rw-r--r--CHANGES2
-rw-r--r--lib/sqlalchemy/databases/firebird.py5
2 files changed, 4 insertions, 3 deletions
diff --git a/CHANGES b/CHANGES
index 0068cc20b..98063d9c1 100644
--- a/CHANGES
+++ b/CHANGES
@@ -8,7 +8,7 @@ CHANGES
=====
- firebird
- Fix reflection of default values with spurious spaces
- (backport of r6257). [ticket:1582]
+ (backport of r6257 and r6699). [ticket:1582 and ticket:1663]
0.5.8
=====
diff --git a/lib/sqlalchemy/databases/firebird.py b/lib/sqlalchemy/databases/firebird.py
index 32dc211b6..200c6c3b0 100644
--- a/lib/sqlalchemy/databases/firebird.py
+++ b/lib/sqlalchemy/databases/firebird.py
@@ -498,9 +498,10 @@ class FBDialect(default.DefaultDialect):
# does it have a default value?
if row['fdefault'] is not None:
# the value comes down as "DEFAULT 'value'": there may be
- # more than one space around the "DEFAULT" keyword
+ # more than one whitespace around the "DEFAULT" keyword
+ # (see also http://tracker.firebirdsql.org/browse/CORE-356)
defexpr = row['fdefault'].lstrip()
- assert defexpr.startswith('DEFAULT '), "Unrecognized default value: %s" % defexpr
+ assert defexpr[:8].rstrip()=='DEFAULT', "Unrecognized default value: %s" % defexpr
defvalue = defexpr[8:].strip()
if defvalue != 'NULL':
args.append(schema.DefaultClause(sql.text(defvalue)))