summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/dialects
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2022-03-17 16:18:55 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2022-03-19 23:15:15 -0400
commit6c3d738757d7be32dc9f99d8e1c6b5c81c596d5f (patch)
treeae142d45de71d1ebd43df1a38e54e1d3cf1063ec /lib/sqlalchemy/dialects
parentc2fe4a264003933ff895c51f5d07a8456ac86382 (diff)
downloadsqlalchemy-6c3d738757d7be32dc9f99d8e1c6b5c81c596d5f.tar.gz
pep 484 for types
strict types type_api.py, including TypeDecorator, NativeForEmulated, etc. Change-Id: Ib2eba26de0981324a83733954cb7044a29bbd7db
Diffstat (limited to 'lib/sqlalchemy/dialects')
-rw-r--r--lib/sqlalchemy/dialects/mssql/base.py4
-rw-r--r--lib/sqlalchemy/dialects/mysql/base.py16
-rw-r--r--lib/sqlalchemy/dialects/oracle/base.py5
-rw-r--r--lib/sqlalchemy/dialects/postgresql/base.py11
-rw-r--r--lib/sqlalchemy/dialects/sqlite/base.py4
5 files changed, 18 insertions, 22 deletions
diff --git a/lib/sqlalchemy/dialects/mssql/base.py b/lib/sqlalchemy/dialects/mssql/base.py
index dd792f70d..07ff495a7 100644
--- a/lib/sqlalchemy/dialects/mssql/base.py
+++ b/lib/sqlalchemy/dialects/mssql/base.py
@@ -2311,7 +2311,7 @@ class MSDDLCompiler(compiler.DDLCompiler):
if column.computed is not None:
colspec += " " + self.process(column.computed)
else:
- colspec += " " + self.dialect.type_compiler.process(
+ colspec += " " + self.dialect.type_compiler_instance.process(
column.type, type_expression=column
)
@@ -2719,7 +2719,7 @@ class MSDialect(default.DefaultDialect):
statement_compiler = MSSQLCompiler
ddl_compiler = MSDDLCompiler
- type_compiler = MSTypeCompiler
+ type_compiler_cls = MSTypeCompiler
preparer = MSIdentifierPreparer
construct_arguments = [
diff --git a/lib/sqlalchemy/dialects/mysql/base.py b/lib/sqlalchemy/dialects/mysql/base.py
index b2ccfc90f..cfdc3deb2 100644
--- a/lib/sqlalchemy/dialects/mysql/base.py
+++ b/lib/sqlalchemy/dialects/mysql/base.py
@@ -1414,25 +1414,25 @@ class MySQLCompiler(compiler.SQLCompiler):
sqltypes.Time,
),
):
- return self.dialect.type_compiler.process(type_)
+ return self.dialect.type_compiler_instance.process(type_)
elif isinstance(type_, sqltypes.String) and not isinstance(
type_, (ENUM, SET)
):
adapted = CHAR._adapt_string_for_cast(type_)
- return self.dialect.type_compiler.process(adapted)
+ return self.dialect.type_compiler_instance.process(adapted)
elif isinstance(type_, sqltypes._Binary):
return "BINARY"
elif isinstance(type_, sqltypes.JSON):
return "JSON"
elif isinstance(type_, sqltypes.NUMERIC):
- return self.dialect.type_compiler.process(type_).replace(
+ return self.dialect.type_compiler_instance.process(type_).replace(
"NUMERIC", "DECIMAL"
)
elif (
isinstance(type_, sqltypes.Float)
and self.dialect._support_float_cast
):
- return self.dialect.type_compiler.process(type_)
+ return self.dialect.type_compiler_instance.process(type_)
else:
return None
@@ -1442,7 +1442,9 @@ class MySQLCompiler(compiler.SQLCompiler):
util.warn(
"Datatype %s does not support CAST on MySQL/MariaDb; "
"the CAST will be skipped."
- % self.dialect.type_compiler.process(cast.typeclause.type)
+ % self.dialect.type_compiler_instance.process(
+ cast.typeclause.type
+ )
)
return self.process(cast.clause.self_group(), **kw)
@@ -1699,7 +1701,7 @@ class MySQLDDLCompiler(compiler.DDLCompiler):
colspec = [
self.preparer.format_column(column),
- self.dialect.type_compiler.process(
+ self.dialect.type_compiler_instance.process(
column.type, type_expression=column
),
]
@@ -2358,7 +2360,7 @@ class MySQLDialect(default.DefaultDialect):
statement_compiler = MySQLCompiler
ddl_compiler = MySQLDDLCompiler
- type_compiler = MySQLTypeCompiler
+ type_compiler_cls = MySQLTypeCompiler
ischema_names = ischema_names
preparer = MySQLIdentifierPreparer
diff --git a/lib/sqlalchemy/dialects/oracle/base.py b/lib/sqlalchemy/dialects/oracle/base.py
index 1ae58b8f4..3ee38c0cf 100644
--- a/lib/sqlalchemy/dialects/oracle/base.py
+++ b/lib/sqlalchemy/dialects/oracle/base.py
@@ -743,9 +743,6 @@ class INTERVAL(sqltypes.NativeForEmulated, sqltypes._AbstractInterval):
day_precision=self.day_precision,
)
- def coerce_compared_value(self, op, value):
- return self
-
class ROWID(sqltypes.TypeEngine):
"""Oracle ROWID type.
@@ -1537,7 +1534,7 @@ class OracleDialect(default.DefaultDialect):
statement_compiler = OracleCompiler
ddl_compiler = OracleDDLCompiler
- type_compiler = OracleTypeCompiler
+ type_compiler_cls = OracleTypeCompiler
preparer = OracleIdentifierPreparer
execution_ctx_cls = OracleExecutionContext
diff --git a/lib/sqlalchemy/dialects/postgresql/base.py b/lib/sqlalchemy/dialects/postgresql/base.py
index e265cd0f7..a1401ea03 100644
--- a/lib/sqlalchemy/dialects/postgresql/base.py
+++ b/lib/sqlalchemy/dialects/postgresql/base.py
@@ -1712,9 +1712,6 @@ class INTERVAL(sqltypes.NativeForEmulated, sqltypes._AbstractInterval):
def python_type(self):
return dt.timedelta
- def coerce_compared_value(self, op, value):
- return self
-
PGInterval = INTERVAL
@@ -2168,7 +2165,7 @@ ischema_names = {
class PGCompiler(compiler.SQLCompiler):
def render_bind_cast(self, type_, dbapi_type, sqltext):
return f"""{sqltext}::{
- self.dialect.type_compiler.process(
+ self.dialect.type_compiler_instance.process(
dbapi_type, identifier_preparer=self.preparer
)
}"""
@@ -2318,7 +2315,7 @@ class PGCompiler(compiler.SQLCompiler):
return "SELECT %s WHERE 1!=1" % (
", ".join(
"CAST(NULL AS %s)"
- % self.dialect.type_compiler.process(
+ % self.dialect.type_compiler_instance.process(
INTEGER() if type_._isnull else type_
)
for type_ in element_types or [INTEGER()]
@@ -2604,7 +2601,7 @@ class PGDDLCompiler(compiler.DDLCompiler):
else:
colspec += " SERIAL"
else:
- colspec += " " + self.dialect.type_compiler.process(
+ colspec += " " + self.dialect.type_compiler_instance.process(
column.type,
type_expression=column,
identifier_preparer=self.preparer,
@@ -3225,7 +3222,7 @@ class PGDialect(default.DefaultDialect):
statement_compiler = PGCompiler
ddl_compiler = PGDDLCompiler
- type_compiler = PGTypeCompiler
+ type_compiler_cls = PGTypeCompiler
preparer = PGIdentifierPreparer
execution_ctx_cls = PGExecutionContext
inspector = PGInspector
diff --git a/lib/sqlalchemy/dialects/sqlite/base.py b/lib/sqlalchemy/dialects/sqlite/base.py
index 79068c75f..03f35d5e2 100644
--- a/lib/sqlalchemy/dialects/sqlite/base.py
+++ b/lib/sqlalchemy/dialects/sqlite/base.py
@@ -1426,7 +1426,7 @@ class SQLiteCompiler(compiler.SQLCompiler):
class SQLiteDDLCompiler(compiler.DDLCompiler):
def get_column_specification(self, column, **kwargs):
- coltype = self.dialect.type_compiler.process(
+ coltype = self.dialect.type_compiler_instance.process(
column.type, type_expression=column
)
colspec = self.preparer.format_column(column) + " " + coltype
@@ -1815,7 +1815,7 @@ class SQLiteDialect(default.DefaultDialect):
execution_ctx_cls = SQLiteExecutionContext
statement_compiler = SQLiteCompiler
ddl_compiler = SQLiteDDLCompiler
- type_compiler = SQLiteTypeCompiler
+ type_compiler_cls = SQLiteTypeCompiler
preparer = SQLiteIdentifierPreparer
ischema_names = ischema_names
colspecs = colspecs