_cached_metadata = None
+ schema_translate_map = None
+
execution_options = util.immutabledict()
"""
Execution options propagated from the statement. In some cases,
self.dialect = dialect
self.bind = bind
self.preparer = self.dialect.identifier_preparer
+ self.schema_translate_map = schema_translate_map
if schema_translate_map:
self.preparer = self.preparer._with_schema_translate(
schema_translate_map
class DDLCompiler(Compiled):
@util.memoized_property
def sql_compiler(self):
- return self.dialect.statement_compiler(self.dialect, None)
+ return self.dialect.statement_compiler(
+ self.dialect, None, schema_translate_map=self.schema_translate_map
+ )
@util.memoized_property
def type_compiler(self):
schema_translate_map=schema_translate_map,
)
+ self.assert_compile(
+ s1.next_value(),
+ "<next sequence value: z.s1>",
+ schema_translate_map=schema_translate_map,
+ dialect="default_enhanced",
+ )
+
self.assert_compile(
schema.CreateSequence(s2),
"CREATE SEQUENCE bat.s2",
schema_translate_map=schema_translate_map,
)
+ self.assert_compile(
+ s2.next_value(),
+ "<next sequence value: bat.s2>",
+ schema_translate_map=schema_translate_map,
+ dialect="default_enhanced",
+ )
+
self.assert_compile(
schema.CreateSequence(s3),
"CREATE SEQUENCE s3",
schema_translate_map=schema_translate_map,
)
+ self.assert_compile(
+ s3.next_value(),
+ "<next sequence value: s3>",
+ schema_translate_map=schema_translate_map,
+ dialect="default_enhanced",
+ )
+
+ def test_schema_translate_map_sequence_server_default(self):
+ s1 = schema.Sequence("s1")
+ s2 = schema.Sequence("s2", schema="foo")
+ s3 = schema.Sequence("s3", schema="bar")
+
+ schema_translate_map = {None: "z", "bar": None, "foo": "bat"}
+
+ m = MetaData()
+
+ t1 = Table(
+ "t1",
+ m,
+ Column(
+ "id", Integer, server_default=s1.next_value(), primary_key=True
+ ),
+ )
+ t2 = Table(
+ "t2",
+ m,
+ Column(
+ "id", Integer, server_default=s2.next_value(), primary_key=True
+ ),
+ )
+ t3 = Table(
+ "t3",
+ m,
+ Column(
+ "id", Integer, server_default=s3.next_value(), primary_key=True
+ ),
+ )
+
+ self.assert_compile(
+ schema.CreateTable(t1),
+ "CREATE TABLE z.t1 "
+ "(id INTEGER DEFAULT <next sequence value: z.s1> "
+ "NOT NULL, PRIMARY KEY (id))",
+ schema_translate_map=schema_translate_map,
+ dialect="default_enhanced",
+ )
+ self.assert_compile(
+ schema.CreateTable(t2),
+ "CREATE TABLE z.t2 "
+ "(id INTEGER DEFAULT <next sequence value: bat.s2> "
+ "NOT NULL, PRIMARY KEY (id))",
+ schema_translate_map=schema_translate_map,
+ dialect="default_enhanced",
+ )
+ self.assert_compile(
+ schema.CreateTable(t3),
+ "CREATE TABLE z.t3 "
+ "(id INTEGER DEFAULT <next sequence value: s3> "
+ "NOT NULL, PRIMARY KEY (id))",
+ schema_translate_map=schema_translate_map,
+ dialect="default_enhanced",
+ )
+
def test_fk_render(self):
a = Table("a", MetaData(), Column("q", Integer))
b = Table("b", MetaData(), Column("p", Integer))