summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/sql/compiler.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sqlalchemy/sql/compiler.py')
-rw-r--r--lib/sqlalchemy/sql/compiler.py16
1 files changed, 15 insertions, 1 deletions
diff --git a/lib/sqlalchemy/sql/compiler.py b/lib/sqlalchemy/sql/compiler.py
index 2741a853f..8d7f2aab9 100644
--- a/lib/sqlalchemy/sql/compiler.py
+++ b/lib/sqlalchemy/sql/compiler.py
@@ -965,7 +965,7 @@ class SQLCompiler(engine.Compiled):
if colparams or not supports_default_values:
text += " (%s)" % ', '.join([preparer.format_column(c[0])
for c in colparams])
-
+
if self.returning or insert_stmt._returning:
self.returning = self.returning or insert_stmt._returning
returning_clause = self.returning_clause(
@@ -1247,6 +1247,15 @@ class DDLCompiler(engine.Compiled):
return self.sql_compiler.post_process_text(ddl.statement % context)
+ def visit_create_schema(self, create):
+ return "CREATE SCHEMA " + self.preparer.format_schema(create.element, create.quote)
+
+ def visit_drop_schema(self, drop):
+ text = "DROP SCHEMA " + self.preparer.format_schema(drop.element, drop.quote)
+ if drop.cascade:
+ text += " CASCADE"
+ return text
+
def visit_create_table(self, create):
table = create.element
preparer = self.dialect.identifier_preparer
@@ -1732,6 +1741,11 @@ class IdentifierPreparer(object):
"." + result
return result
+ def format_schema(self, name, quote):
+ """Prepare a quoted schema name."""
+
+ return self.quote(name, quote)
+
def format_column(self, column, use_table=False,
name=None, table_name=None):
"""Prepare a quoted column name."""