summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/databases/firebird.py
diff options
context:
space:
mode:
authorLele Gaifax <lele@metapensiero.it>2008-05-12 15:33:55 +0000
committerLele Gaifax <lele@metapensiero.it>2008-05-12 15:33:55 +0000
commit4b6e1a40e5008b369c8da558e51cd8be07cf2c26 (patch)
tree903f7bee700861e0f8151ff360ec93dac97c7180 /lib/sqlalchemy/databases/firebird.py
parentb7d083296833cc54c6d35d0b698597560fd91dcf (diff)
downloadsqlalchemy-4b6e1a40e5008b369c8da558e51cd8be07cf2c26.tar.gz
Check for the presence of the Firebird generator, when creating/dropping a sequence
Diffstat (limited to 'lib/sqlalchemy/databases/firebird.py')
-rw-r--r--lib/sqlalchemy/databases/firebird.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/sqlalchemy/databases/firebird.py b/lib/sqlalchemy/databases/firebird.py
index 3377a6004..948e001d5 100644
--- a/lib/sqlalchemy/databases/firebird.py
+++ b/lib/sqlalchemy/databases/firebird.py
@@ -649,8 +649,9 @@ class FBSchemaGenerator(sql.compiler.SchemaGenerator):
def visit_sequence(self, sequence):
"""Generate a ``CREATE GENERATOR`` statement for the sequence."""
- self.append("CREATE GENERATOR %s" % self.preparer.format_sequence(sequence))
- self.execute()
+ if not self.checkfirst or not self.dialect.has_sequence(self.connection, sequence.name):
+ self.append("CREATE GENERATOR %s" % self.preparer.format_sequence(sequence))
+ self.execute()
class FBSchemaDropper(sql.compiler.SchemaDropper):
@@ -659,8 +660,9 @@ class FBSchemaDropper(sql.compiler.SchemaDropper):
def visit_sequence(self, sequence):
"""Generate a ``DROP GENERATOR`` statement for the sequence."""
- self.append("DROP GENERATOR %s" % self.preparer.format_sequence(sequence))
- self.execute()
+ if not self.checkfirst or self.dialect.has_sequence(self.connection, sequence.name):
+ self.append("DROP GENERATOR %s" % self.preparer.format_sequence(sequence))
+ self.execute()
class FBDefaultRunner(base.DefaultRunner):