class CacheableOptions(Options, HasCacheKey):
Known subclasses: sqlalchemy.orm.context.ORMCompileState.default_compile_options
, sqlalchemy.sql.selectable.SelectState.default_select_compile_options
Undocumented
Method | _gen_cache_key |
return an optional cache key. |
Method | _generate_cache_key |
return a cache key. |
Inherited from Options
:
Class Method | from_execution_options |
process Options argument in terms of execution options. |
Class Method | isinstance |
Undocumented |
Class Method | safe_merge |
Undocumented |
Method | __add__ |
Undocumented |
Method | __eq__ |
Undocumented |
Method | __init__ |
Undocumented |
Method | __repr__ |
Undocumented |
Method | _state_dict |
Undocumented |
Method | add_to_element |
Undocumented |
Class Variable | _state_dict_const |
Undocumented |
Inherited from HasCacheKey
:
Class Variable | inherit_cache |
Indicate if this .HasCacheKey instance should make use of the cache key generation scheme used by its immediate superclass. |
Class Method | _generate_cache_attrs |
generate cache key dispatcher for a new class. |
Class Method | _generate_cache_key_for_object |
Undocumented |
Class Variable | __slots__ |
Undocumented |
Class Variable | _hierarchy_supports_caching |
private attribute which may be set to False to prevent the inherit_cache warning from being emitted for a hierarchy of subclasses. |
Class Variable | _is_has_cache_key |
Undocumented |
return an optional cache key.
The cache key is a tuple which can contain any series of objects that are hashable and also identifies this object uniquely within the presence of a larger SQL expression or statement, for the purposes of caching the resulting query.
The cache key should be based on the SQL compiled structure that would ultimately be produced. That is, two structures that are composed in exactly the same way should produce the same cache key; any difference in the structures that would affect the SQL string or the type handlers should result in a different cache key.
If a structure cannot produce a useful cache key, the NO_CACHE symbol should be added to the anon_map and the method should return None.
return a cache key.
The cache key is a tuple which can contain any series of objects that are hashable and also identifies this object uniquely within the presence of a larger SQL expression or statement, for the purposes of caching the resulting query.
The cache key should be based on the SQL compiled structure that would ultimately be produced. That is, two structures that are composed in exactly the same way should produce the same cache key; any difference in the structures that would affect the SQL string or the type handlers should result in a different cache key.
The cache key returned by this method is an instance of
.CacheKey
, which consists of a tuple representing the
cache key, as well as a list of .BindParameter
objects
which are extracted from the expression. While two expressions
that produce identical cache key tuples will themselves generate
identical SQL strings, the list of .BindParameter
objects
indicates the bound values which may have different values in
each one; these bound parameters must be consulted in order to
execute the statement with the correct parameters.
a _expression.ClauseElement
structure that does not implement
a ._gen_cache_key
method and does not implement a
.traverse_internals
attribute will not be cacheable; when
such an element is embedded into a larger structure, this method
will return None, indicating no cache key is available.