class documentation

class SQLiteDialect(default.DefaultDialect):

Known subclasses: sqlalchemy.dialects.sqlite.pysqlite.SQLiteDialect_pysqlite

View In Hierarchy

Undocumented

Method __init__ Undocumented
Method ​_find​_cols​_in​_sig Undocumented
Method ​_get​_column​_info Undocumented
Method ​_get​_default​_schema​_name Return the string name of the currently selected schema from the given connection.
Method ​_get​_table​_pragma Undocumented
Method ​_get​_table​_sql Undocumented
Method ​_resolve​_type​_affinity Return a data type from a reflected column, using affinity rules.
Method get​_check​_constraints Return information about check constraints in table_name.
Method get​_columns Return information about columns in table_name.
Method get​_foreign​_keys Return information about foreign_keys in table_name.
Method get​_indexes Return information about indexes in table_name.
Method get​_isolation​_level Given a DBAPI connection, return its isolation level.
Method get​_pk​_constraint Return information about the primary key constraint on table_name`.
Method get​_schema​_names Undocumented
Method get​_table​_names Return a list of table names for schema.
Method get​_temp​_table​_names Return a list of temporary table names on the given connection, if supported by the underlying backend.
Method get​_temp​_view​_names Return a list of temporary view names on the given connection, if supported by the underlying backend.
Method get​_unique​_constraints Return information about unique constraints in table_name.
Method get​_view​_definition Return view definition.
Method get​_view​_names Return a list of all view names available in the database.
Method has​_table For internal dialect use, check the existence of a particular table in the database.
Method on​_connect return a callable which sets up a newly created DBAPI connection.
Method set​_isolation​_level Given a DBAPI connection, set its isolation level.
Class Variable ​_isolation​_lookup Undocumented
Class Variable construct​_arguments Optional set of argument specifiers for various SQLAlchemy constructs, typically schema items.
Class Variable default​_paramstyle Undocumented
Class Variable name Undocumented
Class Variable supports​_alter Undocumented
Class Variable supports​_default​_metavalue dialect supports INSERT... VALUES (DEFAULT) syntax
Class Variable supports​_empty​_insert dialect supports INSERT () VALUES ()
Class Variable supports​_statement​_cache indicates if this dialect supports caching.
Class Variable supports​_unicode​_binds Undocumented
Class Variable supports​_unicode​_statements Undocumented
Class Variable tuple​_in​_values Undocumented
Instance Variable ​_broken​_dotted​_colnames Undocumented
Instance Variable ​_broken​_fk​_pragma​_quotes Undocumented
Instance Variable ​_json​_deserializer Undocumented
Instance Variable ​_json​_serializer Undocumented
Instance Variable isolation​_level Undocumented
Instance Variable native​_datetime Undocumented
Instance Variable supports​_cast Undocumented
Instance Variable supports​_default​_values dialect supports INSERT... DEFAULT VALUES syntax
Instance Variable supports​_multivalues​_insert Undocumented

Inherited from DefaultDialect:

Class Method get​_pool​_class Undocumented
Class Method load​_provisioning set up the provision.py module for this dialect.
Method connect Establish a connection using this dialect's DBAPI.
Method create​_connect​_args Build DB-API compatible connection arguments.
Method create​_xid Create a random two-phase transaction ID.
Method denormalize​_name convert the given name to a case insensitive identifier for the backend if it is an all-lowercase name.
Method do​_begin Provide an implementation of connection.begin(), given a DB-API connection.
Method do​_close Provide an implementation of connection.close(), given a DBAPI connection.
Method do​_commit Provide an implementation of connection.commit(), given a DB-API connection.
Method do​_execute Provide an implementation of cursor.execute(statement, parameters).
Method do​_execute​_no​_params Provide an implementation of cursor.execute(statement).
Method do​_executemany Provide an implementation of cursor.executemany(statement, parameters).
Method do​_release​_savepoint Release the named savepoint on a connection.
Method do​_rollback Provide an implementation of connection.rollback(), given a DB-API connection.
Method do​_rollback​_to​_savepoint Rollback a connection to the named savepoint.
Method do​_savepoint Create a savepoint with the given name.
Method get​_default​_isolation​_level Given a DBAPI connection, return its isolation level, or a default isolation level if one cannot be retrieved.
Method get​_driver​_connection Returns the connection object as returned by the external driver package.
Method has​_index Check the existence of a particular index name in the database.
Method initialize Called during strategized creation of the dialect with a connection.
Method is​_disconnect Return True if the given DB-API error indicates an invalid connection
Method normalize​_name convert the given name to lowercase if it is detected as case insensitive.
Method reset​_isolation​_level Given a DBAPI connection, revert its isolation to the default.
Method type​_descriptor Provide a database-specific .TypeEngine object, given the generic object which comes from the types module.
Class Variable dbapi​_exception​_translation​_map mapping used in the extremely unusual case that a DBAPI's published exceptions don't actually have the __name__ that they are linked towards.
Instance Variable returns​_unicode​_strings Undocumented
Instance Variable type​_compiler Undocumented
Method ​_check​_max​_identifier​_length Perform a connection / server version specific check to determine the max_identifier_length.
Method ​_check​_unicode​_description Undocumented
Method ​_check​_unicode​_returns Undocumented
Method ​_ensure​_has​_table​_connection Undocumented
Method ​_reset​_characteristics Undocumented
Method ​_set​_connection​_characteristics Undocumented
Method do​_ping Undocumented
Method get​_dialect​_pool​_class Undocumented
Method set​_connection​_execution​_options Undocumented
Method set​_engine​_execution​_options Undocumented
Method validate​_identifier Undocumented
Class Variable colspecs Undocumented
Class Variable connection​_characteristics Undocumented
Class Variable cte​_follows​_insert Undocumented
Class Variable default​_sequence​_base Undocumented
Class Variable engine​_config​_types Undocumented
Class Variable full​_returning Undocumented
Class Variable inline​_comments Undocumented
Class Variable insert​_executemany​_returning Undocumented
Class Variable is​_async Undocumented
Class Variable max​_constraint​_name​_length Undocumented
Class Variable max​_index​_name​_length Undocumented
Class Variable non​_native​_boolean​_check​_constraint Undocumented
Class Variable postfetch​_lastrowid Undocumented
Class Variable preexecute​_autoincrement​_sequences Undocumented
Class Variable reflection​_options Undocumented
Class Variable requires​_name​_normalize Undocumented
Class Variable sequences​_optional Undocumented
Class Variable server​_side​_cursors Undocumented
Class Variable supports​_comments Undocumented
Class Variable supports​_for​_update​_of Undocumented
Class Variable supports​_identity​_columns Undocumented
Class Variable supports​_is​_distinct​_from Undocumented
Class Variable supports​_native​_decimal Undocumented
Class Variable supports​_native​_enum Undocumented
Class Variable supports​_sane​_multi​_rowcount Undocumented
Class Variable supports​_sane​_rowcount Undocumented
Class Variable supports​_schemas Undocumented
Class Variable supports​_sequences Undocumented
Class Variable supports​_server​_side​_cursors Undocumented
Class Variable supports​_simple​_order​_by​_label Undocumented
Class Variable supports​_views Undocumented
Class Variable use​_setinputsizes Undocumented
Instance Variable ​_decoder Undocumented
Instance Variable ​_description​_decoder Undocumented
Instance Variable ​_encoder Undocumented
Instance Variable ​_ischema Undocumented
Instance Variable ​_user​_defined​_max​_identifier​_length Undocumented
Instance Variable case​_sensitive Undocumented
Instance Variable compiler​_linting Undocumented
Instance Variable convert​_unicode Undocumented
Instance Variable dbapi Undocumented
Instance Variable default​_isolation​_level Undocumented
Instance Variable default​_schema​_name Undocumented
Instance Variable description​_encoding Undocumented
Instance Variable encoding Undocumented
Instance Variable identifier​_preparer Undocumented
Instance Variable implicit​_returning Undocumented
Instance Variable label​_length Undocumented
Instance Variable max​_identifier​_length Undocumented
Instance Variable paramstyle Undocumented
Instance Variable positional Undocumented
Instance Variable server​_version​_info Undocumented
Instance Variable supports​_native​_boolean Undocumented
Property ​_dialect​_specific​_select​_one Undocumented
Property ​_supports​_statement​_cache Undocumented
Property ​_type​_memos Undocumented
Property dialect​_description Undocumented
Property supports​_sane​_rowcount​_returning True if this dialect supports sane rowcount even if RETURNING is in use.

Inherited from Dialect (via DefaultDialect):

Class Method engine​_created A convenience hook called before returning the final _engine.Engine.
Class Method get​_dialect​_cls Given a URL, return the .Dialect that will be used.
Method ​_get​_server​_version​_info Retrieve the server version info from the given connection.
Method do​_begin​_twophase Begin a two phase transaction on the given connection.
Method do​_commit​_twophase Commit a two phase transaction on the given connection.
Method do​_prepare​_twophase Prepare a two phase transaction on the given connection.
Method do​_recover​_twophase Recover list of uncommitted prepared two phase transaction identifiers on the given connection.
Method do​_rollback​_twophase Rollback a two phase transaction on the given connection.
Method do​_set​_input​_sizes invoke the cursor.setinputsizes() method with appropriate arguments
Method get​_sequence​_names Return a list of all sequence names available in the database.
Method get​_table​_comment Return the "comment" for the table identified by table_name.
Method has​_sequence Check the existence of a particular sequence in the database.
Method on​_connect​_url return a callable which sets up a newly created DBAPI connection.
Class Variable ​_has​_events Undocumented
@util.deprecated_params(_json_serializer=('1.3.7', 'The _json_serializer argument to the SQLite dialect has been renamed to the correct name of json_serializer. The old argument name will be removed in a future release.'), _json_deserializer=('1.3.7', 'The _json_deserializer argument to the SQLite dialect has been renamed to the correct name of json_deserializer. The old argument name will be removed in a future release.'))
def __init__(self, isolation_level=None, native_datetime=False, json_serializer=None, json_deserializer=None, _json_serializer=None, _json_deserializer=None, **kwargs):
def _find_cols_in_sig(self, sig):

Undocumented

def _get_column_info(self, name, type_, nullable, default, primary_key, generated, persisted, tablesql):

Undocumented

def _get_default_schema_name(self, connection):

Return the string name of the currently selected schema from the given connection.

This is used by the default implementation to populate the "default_schema_name" attribute and is called exactly once upon first connect.

def _get_table_pragma(self, connection, pragma, table_name, schema=None):

Undocumented

@reflection.cache
def _get_table_sql(self, connection, table_name, schema=None, **kw):

Undocumented

def _resolve_type_affinity(self, type_):

Return a data type from a reflected column, using affinity rules.

SQLite's goal for universal compatibility introduces some complexity during reflection, as a column's defined type might not actually be a type that SQLite understands - or indeed, my not be defined at all. Internally, SQLite handles this with a 'data type affinity' for each column definition, mapping to one of 'TEXT', 'NUMERIC', 'INTEGER', 'REAL', or 'NONE' (raw bits). The algorithm that determines this is listed in https://www.sqlite.org/datatype3.html section 2.1.

This method allows SQLAlchemy to support that algorithm, while still providing access to smarter reflection utilities by recognizing column definitions that SQLite only supports through affinity (like DATE and DOUBLE).

@reflection.cache
def get_check_constraints(self, connection, table_name, schema=None, **kw):

Return information about check constraints in table_name.

Given a string table_name and an optional string schema, return check constraint information as a list of dicts with these keys:

  • name - the check constraint's name
  • sqltext - the check constraint's SQL expression
  • **kw - other options passed to the dialect's get_check_constraints() method.
New in version 1.1.0.
@reflection.cache
def get_columns(self, connection, table_name, schema=None, **kw):

Return information about columns in table_name.

Given a _engine.Connection, a string table_name, and an optional string schema, return column information as a list of dictionaries with these keys:

name
the column's name
type
[sqlalchemy.types#TypeEngine]
nullable
boolean
default
the column's default value
autoincrement
boolean
sequence
a dictionary of the form
{'name' : str, 'start' :int, 'increment': int, 'minvalue': int,
'maxvalue': int, 'nominvalue': bool, 'nomaxvalue': bool, 'cycle': bool, 'cache': int, 'order': bool}

Additional column attributes may be present.

@reflection.cache
def get_foreign_keys(self, connection, table_name, schema=None, **kw):

Return information about foreign_keys in table_name.

Given a _engine.Connection, a string table_name, and an optional string schema, return foreign key information as a list of dicts with these keys:

name
the constraint's name
constrained_columns
a list of column names that make up the foreign key
referred_schema
the name of the referred schema
referred_table
the name of the referred table
referred_columns
a list of column names in the referred table that correspond to constrained_columns
@reflection.cache
def get_indexes(self, connection, table_name, schema=None, **kw):

Return information about indexes in table_name.

Given a _engine.Connection, a string table_name and an optional string schema, return index information as a list of dictionaries with these keys:

name
the index's name
column_names
list of column names in order
unique
boolean
def get_isolation_level(self, connection):

Given a DBAPI connection, return its isolation level.

When working with a _engine.Connection object, the corresponding DBAPI connection may be procured using the _engine.Connection.connection accessor.

Note that this is a dialect-level method which is used as part of the implementation of the _engine.Connection and _engine.Engine isolation level facilities; these APIs should be preferred for most typical use cases.

See Also

_engine.Connection.get_isolation_level - view current level

_engine.Connection.default_isolation_level - view default level

:paramref:`.Connection.execution_options.isolation_level` - set per _engine.Connection isolation level

:paramref:`_sa.create_engine.isolation_level` - set per _engine.Engine isolation level

@reflection.cache
def get_pk_constraint(self, connection, table_name, schema=None, **kw):

Return information about the primary key constraint on table_name`.

Given a _engine.Connection, a string table_name, and an optional string schema, return primary key information as a dictionary with these keys:

constrained_columns
a list of column names that make up the primary key
name
optional name of the primary key constraint.
@reflection.cache
def get_schema_names(self, connection, **kw):

Undocumented

@reflection.cache
def get_table_names(self, connection, schema=None, **kw):
Return a list of table names for schema.
@reflection.cache
def get_temp_table_names(self, connection, **kw):
Return a list of temporary table names on the given connection, if supported by the underlying backend.
@reflection.cache
def get_temp_view_names(self, connection, **kw):
Return a list of temporary view names on the given connection, if supported by the underlying backend.
@reflection.cache
def get_unique_constraints(self, connection, table_name, schema=None, **kw):

Return information about unique constraints in table_name.

Given a string table_name and an optional string schema, return unique constraint information as a list of dicts with these keys:

name
the unique constraint's name
column_names
list of column names in order
**kw
other options passed to the dialect's get_unique_constraints() method.
New in version 0.9.0.
@reflection.cache
def get_view_definition(self, connection, view_name, schema=None, **kw):

Return view definition.

Given a _engine.Connection, a string view_name, and an optional string schema, return the view definition.

@reflection.cache
def get_view_names(self, connection, schema=None, **kw):
Return a list of all view names available in the database.
Parameters
connectionUndocumented
schemaschema name to query, if not the default schema.
**kwUndocumented
def has_table(self, connection, table_name, schema=None):

For internal dialect use, check the existence of a particular table in the database.

Given a _engine.Connection object, a string table_name and optional schema name, return True if the given table exists in the database, False otherwise.

This method serves as the underlying implementation of the public facing .Inspector.has_table method, and is also used internally to implement the "checkfirst" behavior for methods like _schema.Table.create and _schema.MetaData.create_all.

Note

This method is used internally by SQLAlchemy, and is published so that third-party dialects may provide an implementation. It is not the public API for checking for table presence. Please use the .Inspector.has_table method. Alternatively, for legacy cross-compatibility, the _engine.Engine.has_table method may be used.

def on_connect(self):

return a callable which sets up a newly created DBAPI connection.

The callable should accept a single argument "conn" which is the DBAPI connection itself. The inner callable has no return value.

E.g.:

class MyDialect(default.DefaultDialect):
    # ...

    def on_connect(self):
        def do_on_connect(connection):
            connection.execute("SET SPECIAL FLAGS etc")

        return do_on_connect

This is used to set dialect-wide per-connection options such as isolation modes, Unicode modes, etc.

The "do_on_connect" callable is invoked by using the _events.PoolEvents.connect event hook, then unwrapping the DBAPI connection and passing it into the callable.

Changed in version 1.4: the on_connect hook is no longer called twice for the first connection of a dialect. The on_connect hook is still called before the _engine.Dialect.initialize method however.
Changed in version 1.4.3: the on_connect hook is invoked from a new method on_connect_url that passes the URL that was used to create the connect args. Dialects can implement on_connect_url instead of on_connect if they need the URL object that was used for the connection in order to get additional context.

If None is returned, no event listener is generated.

See Also

.Dialect.connect - allows the DBAPI connect() sequence itself to be controlled.

.Dialect.on_connect_url - supersedes .Dialect.on_connect to also receive the _engine.URL object in context.

Returns
a callable that accepts a single DBAPI connection as an argument, or None.
def set_isolation_level(self, connection, level):

Given a DBAPI connection, set its isolation level.

Note that this is a dialect-level method which is used as part of the implementation of the _engine.Connection and _engine.Engine isolation level facilities; these APIs should be preferred for most typical use cases.

See Also

_engine.Connection.get_isolation_level - view current level

_engine.Connection.default_isolation_level - view default level

:paramref:`.Connection.execution_options.isolation_level` - set per _engine.Connection isolation level

:paramref:`_sa.create_engine.isolation_level` - set per _engine.Engine isolation level

_isolation_lookup =
construct_arguments =

Optional set of argument specifiers for various SQLAlchemy constructs, typically schema items.

To implement, establish as a series of tuples, as in:

construct_arguments = [
    (schema.Index, {
        "using": False,
        "where": None,
        "ops": None
    })
]

If the above construct is established on the PostgreSQL dialect, the .Index construct will now accept the keyword arguments postgresql_using, postgresql_where, nad postgresql_ops. Any other argument specified to the constructor of .Index which is prefixed with postgresql_ will raise .ArgumentError.

A dialect which does not include a construct_arguments member will not participate in the argument validation system. For such a dialect, any argument name is accepted by all participating constructs, within the namespace of arguments prefixed with that dialect name. The rationale here is so that third-party dialects that haven't yet implemented this feature continue to function in the old way.

New in version 0.9.2.

See Also

.DialectKWArgs - implementing base class which consumes .DefaultDialect.construct_arguments

name: str =
supports_alter: bool =
supports_default_metavalue: bool =
dialect supports INSERT... VALUES (DEFAULT) syntax
supports_empty_insert: bool =
dialect supports INSERT () VALUES ()
supports_statement_cache: bool =

indicates if this dialect supports caching.

All dialects that are compatible with statement caching should set this flag to True directly on each dialect class and subclass that supports it. SQLAlchemy tests that this flag is locally present on each dialect subclass before it will use statement caching. This is to provide safety for legacy or new dialects that are not yet fully tested to be compliant with SQL statement caching.

New in version 1.4.5.
supports_unicode_binds: bool =
supports_unicode_statements: bool =
tuple_in_values: bool =
_broken_dotted_colnames =

Undocumented

_broken_fk_pragma_quotes =

Undocumented

_json_deserializer =

Undocumented

_json_serializer =

Undocumented

isolation_level =
native_datetime =

Undocumented

supports_cast =

Undocumented

supports_default_values =
dialect supports INSERT... DEFAULT VALUES syntax
supports_multivalues_insert =