class documentation

Undocumented

Class default_update_options Undocumented
Class Method can_use_returning Undocumented
Class Method orm_pre_session_exec Undocumented
Class Method orm_setup_cursor_result Undocumented
Class Method _adjust_for_extra_criteria Apply extra criteria filtering.
Class Method _do_pre_synchronize_auto setup auto sync strategy
Class Method _do_pre_synchronize_evaluate Undocumented
Class Method _do_pre_synchronize_fetch Undocumented
Class Method _eval_condition_from_statement Undocumented
Class Method _get_matched_objects_on_criteria Undocumented
Class Method _get_resolved_values Undocumented
Class Method _interpret_returning_rows translate from local inherited table columns to base mapper primary key columns.
Class Method _resolved_keys_as_propnames Undocumented

Inherited from ORMDMLState:

Class Method get_entity_description Undocumented
Class Method get_returning_column_descriptions Undocumented
Class Variable is_dml_returning Undocumented
Instance Variable from_statement_ctx Undocumented
Instance Variable select_statement Undocumented
Class Method _get_crud_kv_pairs Undocumented
Class Method _get_multi_crud_kv_pairs Undocumented
Class Method _get_orm_crud_kv_pairs Undocumented
Class Method _return_orm_returning Undocumented
Method _setup_orm_returning establish ORM column handlers for an INSERT, UPDATE, or DELETE which uses explicit returning().

Inherited from AbstractORMCompileState (via ORMDMLState):

Class Method create_for_statement Create a context for a statement given a :class:`.Compiler`.
Class Method orm_execute_statement Undocumented

Inherited from CompileState (via ORMDMLState, AbstractORMCompileState):

Class Method get_plugin_class Undocumented
Class Method plugin_for Undocumented
Method __init__ Undocumented
Class Variable __slots__ Undocumented
Class Variable plugins Undocumented
Instance Variable statement Undocumented
Class Method _get_plugin_class_for_plugin Undocumented
Class Variable _ambiguous_table_name_map Undocumented
@classmethod
def can_use_returning(cls, dialect: Dialect, mapper: Mapper[Any], *, is_multitable: bool = False, is_update_from: bool = False, is_delete_using: bool = False) -> bool: (source)
@classmethod
def orm_pre_session_exec(cls, session, statement, params, execution_options, bind_arguments, is_pre_event): (source)
@classmethod
def orm_setup_cursor_result(cls, session, statement, params, execution_options, bind_arguments, result): (source)
@classmethod
def _adjust_for_extra_criteria(cls, global_attributes, ext_info): (source)

Apply extra criteria filtering. For all distinct single-table-inheritance mappers represented in the table being updated or deleted, produce additional WHERE criteria such that only the appropriate subtypes are selected from the total results. Additionally, add WHERE criteria originating from LoaderCriteriaOptions collected from the statement.

@classmethod
def _do_pre_synchronize_auto(cls, session, statement, params, execution_options, bind_arguments, update_options): (source)

setup auto sync strategy "auto" checks if we can use "evaluate" first, then falls back to "fetch" evaluate is vastly more efficient for the common case where session is empty, only has a few objects, and the UPDATE statement can potentially match thousands/millions of rows. OTOH more complex criteria that fails to work with "evaluate" we would hope usually correlates with fewer net rows.

@classmethod
def _do_pre_synchronize_evaluate(cls, session, statement, params, execution_options, bind_arguments, update_options): (source)

Undocumented

@classmethod
def _do_pre_synchronize_fetch(cls, session, statement, params, execution_options, bind_arguments, update_options): (source)

Undocumented

@classmethod
def _eval_condition_from_statement(cls, update_options, statement): (source)

Undocumented

@classmethod
def _get_matched_objects_on_criteria(cls, update_options, states): (source)

Undocumented

@classmethod
def _get_resolved_values(cls, mapper, statement): (source)

Undocumented

@classmethod
def _interpret_returning_rows(cls, mapper, rows): (source)

translate from local inherited table columns to base mapper primary key columns. Joined inheritance mappers always establish the primary key in terms of the base table. When we UPDATE a sub-table, we can only get RETURNING for the sub-table's columns. Here, we create a lookup from the local sub table's primary key columns to the base table PK columns so that we can get identity key values from RETURNING that's against the joined inheritance sub-table. the complexity here is to support more than one level deep of inheritance, where we have to link columns to each other across the inheritance hierarchy.

@classmethod
def _resolved_keys_as_propnames(cls, mapper, resolved_values): (source)

Undocumented