From e35dcee6ca9c12e5e78702ae7679796cbe8365f2 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Tue, 3 Nov 2009 18:33:57 +0000 Subject: - The "start" and "increment" attributes on Sequence now generate "START WITH" and "INCREMENT BY" by default, on Oracle and Postgresql. Firebird doesn't support these keywords right now. [ticket:1545] --- lib/sqlalchemy/dialects/firebird/base.py | 9 ++++++++- lib/sqlalchemy/dialects/oracle/base.py | 6 ------ lib/sqlalchemy/dialects/postgresql/base.py | 6 ------ 3 files changed, 8 insertions(+), 13 deletions(-) (limited to 'lib/sqlalchemy/dialects') diff --git a/lib/sqlalchemy/dialects/firebird/base.py b/lib/sqlalchemy/dialects/firebird/base.py index 232583c39..921c70e98 100644 --- a/lib/sqlalchemy/dialects/firebird/base.py +++ b/lib/sqlalchemy/dialects/firebird/base.py @@ -271,7 +271,14 @@ class FBDDLCompiler(sql.compiler.DDLCompiler): def visit_create_sequence(self, create): """Generate a ``CREATE GENERATOR`` statement for the sequence.""" - + + # no syntax for these + # http://www.firebirdsql.org/manual/generatorguide-sqlsyntax.html + if create.element.start is not None: + raise NotImplemented("Firebird SEQUENCE doesn't support START WITH") + if create.element.increment is not None: + raise NotImplemented("Firebird SEQUENCE doesn't support INCREMENT BY") + if self.dialect._version_two: return "CREATE SEQUENCE %s" % self.preparer.format_sequence(create.element) else: diff --git a/lib/sqlalchemy/dialects/oracle/base.py b/lib/sqlalchemy/dialects/oracle/base.py index 7b141ed23..22ba2ce93 100644 --- a/lib/sqlalchemy/dialects/oracle/base.py +++ b/lib/sqlalchemy/dialects/oracle/base.py @@ -441,12 +441,6 @@ class OracleCompiler(compiler.SQLCompiler): class OracleDDLCompiler(compiler.DDLCompiler): - def visit_create_sequence(self, create): - return "CREATE SEQUENCE %s" % self.preparer.format_sequence(create.element) - - def visit_drop_sequence(self, drop): - return "DROP SEQUENCE %s" % self.preparer.format_sequence(drop.element) - def define_constraint_cascades(self, constraint): text = "" if constraint.ondelete is not None: diff --git a/lib/sqlalchemy/dialects/postgresql/base.py b/lib/sqlalchemy/dialects/postgresql/base.py index bc8cff905..97108b3cb 100644 --- a/lib/sqlalchemy/dialects/postgresql/base.py +++ b/lib/sqlalchemy/dialects/postgresql/base.py @@ -340,12 +340,6 @@ class PGDDLCompiler(compiler.DDLCompiler): colspec += " NOT NULL" return colspec - def visit_create_sequence(self, create): - return "CREATE SEQUENCE %s" % self.preparer.format_sequence(create.element) - - def visit_drop_sequence(self, drop): - return "DROP SEQUENCE %s" % self.preparer.format_sequence(drop.element) - def visit_enum_constraint(self, constraint): if not constraint.type.native_enum: return super(PGDDLCompiler, self).visit_enum_constraint(constraint) -- cgit v1.2.1