class documentation

Base class for visitable objects. :class:`.Visitable` is used to implement the SQL compiler dispatch functions. Other forms of traversal such as for cache key generation are implemented separately using the :class:`.HasTraverseInternals` interface. .. versionchanged:: 2.0 The :class:`.Visitable` class was named :class:`.Traversible` in the 1.4 series; the name is changed back to :class:`.Visitable` in 2.0 which is what it was prior to 1.4. Both names remain importable in both 1.4 and 2.0 versions.

Method __class_getitem__ Undocumented
Method __init_subclass__ Undocumented
Class Variable __slots__ Undocumented
Class Variable __visit_name__ Undocumented
Class Method _generate_compiler_dispatch Undocumented
Method _compiler_dispatch Undocumented
Class Variable _original_compiler_dispatch Undocumented
def __class_getitem__(cls, key: str) -> Any: (source)

Undocumented

__visit_name__: str = (source)
overridden in sqlalchemy.dialects.mssql.MONEY, sqlalchemy.dialects.mssql.SMALLMONEY, sqlalchemy.dialects.mssql.SQL_VARIANT, sqlalchemy.dialects.mssql.TIMESTAMP, sqlalchemy.dialects.mysql.BIT, sqlalchemy.dialects.mysql.LONGBLOB, sqlalchemy.dialects.mysql.MEDIUMBLOB, sqlalchemy.dialects.mysql.TINYBLOB, sqlalchemy.dialects.mysql.YEAR, sqlalchemy.dialects.oracle.INTERVAL, sqlalchemy.dialects.oracle.RAW, sqlalchemy.dialects.oracle.ROWID, sqlalchemy.dialects.postgresql.asyncpg.AsyncpgJSONIntIndexType, sqlalchemy.dialects.postgresql.asyncpg.AsyncpgJSONStrIndexType, sqlalchemy.dialects.postgresql.BIT, sqlalchemy.dialects.postgresql.CIDR, sqlalchemy.dialects.postgresql.DATEMULTIRANGE, sqlalchemy.dialects.postgresql.DATERANGE, sqlalchemy.dialects.postgresql.DOMAIN, sqlalchemy.dialects.postgresql.hstore.HSTORE, sqlalchemy.dialects.postgresql.INET, sqlalchemy.dialects.postgresql.INT4MULTIRANGE, sqlalchemy.dialects.postgresql.INT4RANGE, sqlalchemy.dialects.postgresql.INT8MULTIRANGE, sqlalchemy.dialects.postgresql.INT8RANGE, sqlalchemy.dialects.postgresql.INTERVAL, sqlalchemy.dialects.postgresql.MACADDR, sqlalchemy.dialects.postgresql.MACADDR8, sqlalchemy.dialects.postgresql.MONEY, sqlalchemy.dialects.postgresql.NUMMULTIRANGE, sqlalchemy.dialects.postgresql.NUMRANGE, sqlalchemy.dialects.postgresql.OID, sqlalchemy.dialects.postgresql.REGCLASS, sqlalchemy.dialects.postgresql.REGCONFIG, sqlalchemy.dialects.postgresql.TSMULTIRANGE, sqlalchemy.dialects.postgresql.TSQUERY, sqlalchemy.dialects.postgresql.TSRANGE, sqlalchemy.dialects.postgresql.TSTZMULTIRANGE, sqlalchemy.dialects.postgresql.TSTZRANGE, sqlalchemy.dialects.postgresql.TSVECTOR, sqlalchemy.sql.elements.ClauseElement, sqlalchemy.sql.elements.ClauseElement, sqlalchemy.sql.elements.CompilerElement, sqlalchemy.sql.schema.SchemaItem, sqlalchemy.sql.selectable.CompoundSelect, sqlalchemy.sql.selectable.Select, sqlalchemy.sql.selectable.SelectStatementGrouping, sqlalchemy.sql.selectable.TextualSelect, sqlalchemy.sql.sqltypes.ARRAY, sqlalchemy.sql.sqltypes.BINARY, sqlalchemy.sql.sqltypes.Boolean, sqlalchemy.sql.sqltypes.Date, sqlalchemy.sql.sqltypes.DateTime, sqlalchemy.sql.sqltypes.Enum, sqlalchemy.sql.sqltypes.Integer, sqlalchemy.sql.sqltypes.JSON, sqlalchemy.sql.sqltypes.JSON.JSONPathType, sqlalchemy.sql.sqltypes.LargeBinary, sqlalchemy.sql.sqltypes.NullType, sqlalchemy.sql.sqltypes.Numeric, sqlalchemy.sql.sqltypes.String, sqlalchemy.sql.sqltypes.Time, sqlalchemy.sql.sqltypes.Uuid, sqlalchemy.sql.sqltypes.VARBINARY, sqlalchemy.sql.type_api.TypeDecorator, sqlalchemy.sql.type_api.UserDefinedType, sqlalchemy.dialects.postgresql.pg8000._PGJSONIntIndexType, sqlalchemy.dialects.postgresql.pg8000._PGJSONStrIndexType, sqlalchemy.dialects.postgresql.psycopg._PGJSONIntIndexType, sqlalchemy.dialects.postgresql.psycopg._PGJSONStrIndexType, sqlalchemy.orm.strategy_options._LoadElement, sqlalchemy.sql.selectable._MemoizedSelectEntities

Undocumented

@classmethod
def _generate_compiler_dispatch(cls): (source)

Undocumented

_original_compiler_dispatch: _CompilerDispatchType = (source)

Undocumented