)
-_dialects = {}
+_dialect_mods = {}
def _get_dialect(name):
return default.DefaultDialect()
else:
try:
- return _dialects[name]
+ dialect_mod = _dialect_mods[name]
except KeyError:
dialect_mod = getattr(
__import__('sqlalchemy.dialects.%s' % name).dialects, name)
- _dialects[name] = d = dialect_mod.dialect()
- if name == 'postgresql':
- d.implicit_returning = True
- elif name == 'mssql':
- d.legacy_schema_aliasing = False
- return d
+ _dialect_mods[name] = dialect_mod
+ d = dialect_mod.dialect()
+ if name == 'postgresql':
+ d.implicit_returning = True
+ elif name == 'mssql':
+ d.legacy_schema_aliasing = False
+ return d
def expect_warnings(*messages, **kw):
def op_fixture(
dialect='default', as_sql=False,
- naming_convention=None, literal_binds=False):
+ naming_convention=None, literal_binds=False,
+ native_boolean=None):
opts = {}
if naming_convention:
if literal_binds:
opts['literal_binds'] = literal_binds
ctx_dialect = _get_dialect(dialect)
+ if native_boolean is not None:
+ ctx_dialect.supports_native_boolean = native_boolean
if not as_sql:
def execute(stmt, *multiparam, **param):
if isinstance(stmt, string_types):
)
def test_alter_column_schema_type_unnamed(self):
- context = op_fixture('mssql')
+ context = op_fixture('mssql', native_boolean=False)
op.alter_column("t", "c", type_=Boolean())
context.assert_(
'ALTER TABLE t ALTER COLUMN c BIT',
)
def test_alter_column_schema_schema_type_unnamed(self):
- context = op_fixture('mssql')
+ context = op_fixture('mssql', native_boolean=False)
op.alter_column("t", "c", type_=Boolean(), schema='foo')
context.assert_(
'ALTER TABLE foo.t ALTER COLUMN c BIT',
)
def test_alter_column_schema_type_named(self):
- context = op_fixture('mssql')
+ context = op_fixture('mssql', native_boolean=False)
op.alter_column("t", "c", type_=Boolean(name="xyz"))
context.assert_(
'ALTER TABLE t ALTER COLUMN c BIT',
)
def test_alter_column_schema_schema_type_named(self):
- context = op_fixture('mssql')
+ context = op_fixture('mssql', native_boolean=False)
op.alter_column("t", "c", type_=Boolean(name="xyz"), schema='foo')
context.assert_(
'ALTER TABLE foo.t ALTER COLUMN c BIT',
)
def test_alter_column_schema_type_existing_type(self):
- context = op_fixture('mssql')
+ context = op_fixture('mssql', native_boolean=False)
op.alter_column(
"t", "c", type_=String(10), existing_type=Boolean(name="xyz"))
context.assert_(
)
def test_alter_column_schema_schema_type_existing_type(self):
- context = op_fixture('mssql')
+ context = op_fixture('mssql', native_boolean=False)
op.alter_column("t", "c", type_=String(10),
existing_type=Boolean(name="xyz"), schema='foo')
context.assert_(