summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/dialects/firebird
diff options
context:
space:
mode:
authorLele Gaifax <lele@metapensiero.it>2009-08-07 12:16:15 +0000
committerLele Gaifax <lele@metapensiero.it>2009-08-07 12:16:15 +0000
commit8aa2886c1a31c9a9950ad00345ac0cadcf78f7e2 (patch)
tree66f9340cf48e5406bc395ca2b370219459aef189 /lib/sqlalchemy/dialects/firebird
parent1a9ce60778f0a0b660f636ac205ecf64bb65f48f (diff)
downloadsqlalchemy-8aa2886c1a31c9a9950ad00345ac0cadcf78f7e2.tar.gz
Fix #1429: take into account possible spurious spaces around the DEFAULT keyword
Diffstat (limited to 'lib/sqlalchemy/dialects/firebird')
-rw-r--r--lib/sqlalchemy/dialects/firebird/base.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/sqlalchemy/dialects/firebird/base.py b/lib/sqlalchemy/dialects/firebird/base.py
index e9d0c0319..020977ff5 100644
--- a/lib/sqlalchemy/dialects/firebird/base.py
+++ b/lib/sqlalchemy/dialects/firebird/base.py
@@ -523,9 +523,14 @@ class FBDialect(default.DefaultDialect):
# does it have a default value?
defvalue = None
if row['fdefault'] is not None:
- # the value comes down as "DEFAULT 'value'"
- assert row['fdefault'].upper().startswith('DEFAULT '), row
- defvalue = row['fdefault'][8:]
+ # the value comes down as "DEFAULT 'value'": there may be
+ # more than one space around the "DEFAULT" keyword
+ defexpr = row['fdefault'].lstrip()
+ assert defexpr.startswith('DEFAULT '), "Unrecognized default value: %s" % defexpr
+ defvalue = defexpr[8:].strip()
+ if defvalue == 'NULL':
+ # Redundant
+ defvalue = None
col_d = {
'name' : name,
'type' : coltype,