class documentation

Base class for dialect mixins, for DBAPIs that work across entirely different database backends. Currently the only such mixin is pyodbc.

Inherited from Dialect:

Class Method engine_created A convenience hook called before returning the final :class:`_engine.Engine`.
Class Method get_async_dialect_cls Given a URL, return the :class:`.Dialect` that will be used by an async engine.
Class Method get_dialect_cls Given a URL, return the :class:`.Dialect` that will be used.
Class Method import_dbapi Import the DBAPI module that is used by this dialect.
Class Method load_provisioning set up the provision.py module for this dialect.
Class Method type_descriptor Transform a generic type to a dialect-specific type.
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 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_begin_twophase Begin a two phase transaction on the given 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_commit_twophase Commit a two phase transaction on the given 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_ping ping the DBAPI connection and return True if the connection is usable.
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_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_rollback_twophase Rollback a two phase transaction on the given connection.
Method do_savepoint Create a savepoint with the given name.
Method do_set_input_sizes invoke the cursor.setinputsizes() method with appropriate arguments
Method do_terminate Provide an implementation of ``connection.close()`` that tries as much as possible to not block, given a DBAPI connection.
Method get_check_constraints Return information about check constraints in ``table_name``.
Method get_columns Return information about columns in ``table_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_dialect_pool_class return a Pool class to use for a given URL
Method get_driver_connection Returns the connection object as returned by the external driver package.
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_isolation_level_values return a sequence of string isolation level names that are accepted by this dialect.
Method get_materialized_view_names Return a list of all materialized view names available in the database.
Method get_multi_check_constraints Return information about check constraints in all tables in the given ``schema``.
Method get_multi_columns Return information about columns in all tables in the given ``schema``.
Method get_multi_foreign_keys Return information about foreign_keys in all tables in the given ``schema``.
Method get_multi_indexes Return information about indexes in in all tables in the given ``schema``.
Method get_multi_pk_constraint Return information about primary key constraints in all tables in the given ``schema``.
Method get_multi_table_comment Return information about the table comment in all tables in the given ``schema``.
Method get_multi_table_options Return a dictionary of options specified when the tables in the given schema were created.
Method get_multi_unique_constraints Return information about unique constraints in all tables in the given ``schema``.
Method get_pk_constraint Return information about the primary key constraint on table_name`.
Method get_schema_names Return a list of all schema names available in the database.
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 get_table_names Return a list of table names for ``schema``.
Method get_table_options Return a dictionary of options specified when ``table_name`` was created.
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 plain or materialized view definition.
Method get_view_names Return a list of all non-materialized view names available in the database.
Method has_index Check the existence of a particular index name in the database.
Method has_schema Check the existence of a particular schema name in the database.
Method has_sequence Check the existence of a particular sequence in the database.
Method has_table For internal dialect use, check the existence of a particular table or view 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 on_connect return a callable which sets up a newly created DBAPI connection.
Method on_connect_url return a callable which sets up a newly created DBAPI connection.
Method reset_isolation_level Given a DBAPI connection, revert its isolation to the default.
Method set_connection_execution_options Establish execution options for a given connection.
Method set_engine_execution_options Establish execution options for a given engine.
Method set_isolation_level Given a DBAPI connection, set its isolation level.
Class Variable colspecs A dictionary of TypeEngine classes from sqlalchemy.types mapped to subclasses that are specific to the dialect class. This dictionary is class-level only and is not accessed from the dialect instance itself.
Class Variable compiler_linting Undocumented
Class Variable construct_arguments Optional set of argument specifiers for various SQLAlchemy constructs, typically schema items.
Class Variable cte_follows_insert target database, when given a CTE with an INSERT statement, needs the CTE to be below the INSERT
Class Variable dbapi A reference to the DBAPI module object itself.
Class Variable ddl_compiler a :class:`.Compiled` class used to compile DDL statements
Class Variable default_isolation_level the isolation that is implicitly present on new connections
Class Variable default_metavalue_token for INSERT... VALUES (DEFAULT) syntax, the token to put in the parenthesis.
Class Variable default_schema_name the name of the default schema. This value is only available for supporting dialects, and is typically populated during the initial connection to the database.
Class Variable default_sequence_base the default value that will be rendered as the "START WITH" portion of a CREATE SEQUENCE DDL statement.
Class Variable delete_executemany_returning dialect supports DELETE..RETURNING with executemany.
Class Variable delete_returning if the dialect supports RETURNING with DELETE
Class Variable delete_returning_multifrom if the dialect supports RETURNING with DELETE..FROM
Class Variable dialect_description Undocumented
Class Variable dispatch Undocumented
Class Variable div_is_floordiv target database treats the / division operator as "floor division"
Class Variable driver identifying name for the dialect's DBAPI
Class Variable engine_config_types a mapping of string keys that can be in an engine config linked to type conversion functions.
Class Variable exclude_set_input_sizes set of DBAPI type objects that should be excluded in automatic cursor.setinputsizes() calls.
Class Variable execute_sequence_format either the 'tuple' or 'list' type, depending on what cursor.execute() accepts for the second argument (they vary).
Class Variable execution_ctx_cls a :class:`.ExecutionContext` class used to handle statement execution
Class Variable favor_returning_over_lastrowid for backends that support both a lastrowid and a RETURNING insert strategy, favor RETURNING for simple single-int pk inserts.
Class Variable has_terminate Whether or not this dialect has a separate "terminate" implementation that does not block or require awaiting.
Class Variable identifier_preparer This element will refer to an instance of :class:`.IdentifierPreparer` once a :class:`.DefaultDialect` has been constructed.
Class Variable include_set_input_sizes set of DBAPI type objects that should be included in automatic cursor.setinputsizes() calls.
Class Variable inline_comments Indicates the dialect supports comment DDL that's inline with the definition of a Table or Column. If False, this implies that ALTER must be used to set table and column comments.
Class Variable insert_executemany_returning dialect / driver / database supports some means of providing INSERT...RETURNING support when dialect.do_executemany() is used.
Class Variable insert_returning if the dialect supports RETURNING with INSERT
Class Variable insertmanyvalues_max_parameters Alternate to insertmanyvalues_page_size, will additionally limit page size based on number of parameters total in the statement.
Class Variable insertmanyvalues_page_size Number of rows to render into an individual INSERT..VALUES() statement for :attr:`.ExecuteStyle.INSERTMANYVALUES` executions.
Class Variable is_async Whether or not this dialect is intended for asyncio use.
Class Variable label_length optional user-defined max length for SQL labels
Class Variable max_identifier_length The maximum length of identifier names.
Class Variable name identifying name for the dialect from a DBAPI-neutral point of view (i.e. 'sqlite')
Class Variable paramstyle the paramstyle to be used (some DB-APIs support multiple paramstyles).
Class Variable positional True if the paramstyle for this Dialect is positional.
Class Variable preexecute_autoincrement_sequences True if 'implicit' primary key functions must be executed separately in order to get their value, if RETURNING is not used.
Class Variable preparer a :class:`.IdentifierPreparer` class used to quote identifiers.
Class Variable reflection_options Sequence of string names indicating keyword arguments that can be established on a :class:`.Table` object which will be passed as "reflection options" when using :paramref:`.Table.autoload_with`.
Class Variable sequences_optional If True, indicates if the :paramref:`_schema.Sequence.optional` parameter on the :class:`_schema.Sequence` construct should signal to not generate a CREATE SEQUENCE. Applies only to dialects that support sequences...
Class Variable server_side_cursors deprecated; indicates if the dialect should attempt to use server side cursors by default
Class Variable server_version_info a tuple containing a version number for the DB backend in use.
Class Variable statement_compiler a :class:`.Compiled` class used to compile SQL statements
Class Variable supports_alter ``True`` if the database supports ``ALTER TABLE`` - used only for generating foreign key constraints in certain circumstances
Class Variable supports_comments Indicates the dialect supports comment DDL on tables and columns.
Class Variable supports_constraint_comments Indicates if the dialect supports comment DDL on constraints.
Class Variable supports_default_metavalue dialect supports INSERT...(col) VALUES (DEFAULT) syntax.
Class Variable supports_default_values dialect supports INSERT... DEFAULT VALUES syntax
Class Variable supports_empty_insert dialect supports INSERT () VALUES (), i.e. a plain INSERT with no columns in it.
Class Variable supports_identity_columns target database supports IDENTITY
Class Variable supports_multivalues_insert Target database supports INSERT...VALUES with multiple value sets, i.e. INSERT INTO table (cols) VALUES (...), (...), (...), ...
Class Variable supports_native_boolean Indicates if the dialect supports a native boolean construct. This will prevent :class:`_types.Boolean` from generating a CHECK constraint when that type is used.
Class Variable supports_native_decimal indicates if Decimal objects are handled and returned for precision numeric types, or if floats are returned
Class Variable supports_native_enum Indicates if the dialect supports a native ENUM construct. This will prevent :class:`_types.Enum` from generating a CHECK constraint when that type is used in "native" mode.
Class Variable supports_native_uuid indicates if Python UUID() objects are handled natively by the driver for SQL UUID datatypes.
Class Variable supports_sane_multi_rowcount Indicate whether the dialect properly implements rowcount for ``UPDATE`` and ``DELETE`` statements when executed via executemany.
Class Variable supports_sane_rowcount Indicate whether the dialect properly implements rowcount for ``UPDATE`` and ``DELETE`` statements.
Class Variable supports_sequences Indicates if the dialect supports CREATE SEQUENCE or similar.
Class Variable supports_server_side_cursors indicates if the dialect supports server side cursors
Class Variable supports_simple_order_by_label target database supports ORDER BY <labelname>, where <labelname> refers to a label in the columns clause of the SELECT
Class Variable supports_statement_cache indicates if this dialect supports caching.
Class Variable tuple_in_values target database supports tuple IN, i.e. (x, y) IN ((q, p), (r, z))
Class Variable type_compiler legacy; this is a TypeCompiler class at the class level, a TypeCompiler instance at the instance level.
Class Variable type_compiler_cls a :class:`.Compiled` class used to compile SQL type objects
Class Variable type_compiler_instance instance of a :class:`.Compiled` class used to compile SQL type objects
Class Variable update_executemany_returning dialect supports UPDATE..RETURNING with executemany.
Class Variable update_returning if the dialect supports RETURNING with UPDATE
Class Variable update_returning_multifrom if the dialect supports RETURNING with UPDATE..FROM
Class Variable use_insertmanyvalues if True, indicates "insertmanyvalues" functionality should be used to allow for ``insert_executemany_returning`` behavior, if possible.
Class Variable use_insertmanyvalues_wo_returning if True, and use_insertmanyvalues is also True, INSERT statements that don't include RETURNING will also use "insertmanyvalues".
Property loaded_dbapi same as .dbapi, but is never None; will raise an error if no DBAPI was set up.
Method _assert_and_set_isolation_level Undocumented
Method _builtin_onconnect Undocumented
Method _deliver_insertmanyvalues_batches convert executemany parameters for an INSERT into an iterator of statement/single execute values, used by the insertmanyvalues feature.
Method _do_ping_w_event Undocumented
Method _get_default_schema_name Return the string name of the currently selected schema from the given connection.
Method _get_server_version_info Retrieve the server version info from the given connection.
Method _overrides_default Undocumented
Class Variable _bind_typing_render_casts Undocumented
Class Variable _has_events Undocumented
Class Variable _on_connect_isolation_level Undocumented
Class Variable _supports_statement_cache internal evaluation for supports_statement_cache
Class Variable _type_memos Undocumented