opt
/
hc_python
/
lib
/
python3.12
/
site-packages
/
sqlalchemy
/
sql
/
Go to Home Directory
+
Upload
Create File
root@0UT1S:~$
Execute
By Order of Mr.0UT1S
[DIR] ..
N/A
[DIR] __pycache__
N/A
__init__.py
5.68 KB
Rename
Delete
_dml_constructors.py
3.71 KB
Rename
Delete
_elements_constructors.py
61.16 KB
Rename
Delete
_orm_types.py
625 bytes
Rename
Delete
_py_util.py
2.12 KB
Rename
Delete
_selectable_constructors.py
19.90 KB
Rename
Delete
_typing.py
12.55 KB
Rename
Delete
annotation.py
17.82 KB
Rename
Delete
base.py
72.21 KB
Rename
Delete
cache_key.py
32.88 KB
Rename
Delete
coercions.py
39.70 KB
Rename
Delete
compiler.py
269.12 KB
Rename
Delete
crud.py
55.19 KB
Rename
Delete
ddl.py
46.32 KB
Rename
Delete
default_comparator.py
16.32 KB
Rename
Delete
dml.py
64.68 KB
Rename
Delete
elements.py
173.16 KB
Rename
Delete
events.py
17.88 KB
Rename
Delete
expression.py
7.41 KB
Rename
Delete
functions.py
62.36 KB
Rename
Delete
lambdas.py
48.04 KB
Rename
Delete
naming.py
6.70 KB
Rename
Delete
operators.py
74.99 KB
Rename
Delete
roles.py
7.48 KB
Rename
Delete
schema.py
224.63 KB
Rename
Delete
selectable.py
235.41 KB
Rename
Delete
sqltypes.py
125.93 KB
Rename
Delete
traversals.py
32.88 KB
Rename
Delete
type_api.py
82.85 KB
Rename
Delete
util.py
46.96 KB
Rename
Delete
visitors.py
35.47 KB
Rename
Delete
# sql/_py_util.py # Copyright (C) 2005-2025 the SQLAlchemy authors and contributors # <see AUTHORS file> # # This module is part of SQLAlchemy and is released under # the MIT License: https://www.opensource.org/licenses/mit-license.php from __future__ import annotations import typing from typing import Any from typing import Dict from typing import Tuple from typing import Union from ..util.typing import Literal if typing.TYPE_CHECKING: from .cache_key import CacheConst class prefix_anon_map(Dict[str, str]): """A map that creates new keys for missing key access. Considers keys of the form "<ident> <name>" to produce new symbols "<name>_<index>", where "index" is an incrementing integer corresponding to <name>. Inlines the approach taken by :class:`sqlalchemy.util.PopulateDict` which is otherwise usually used for this type of operation. """ def __missing__(self, key: str) -> str: (ident, derived) = key.split(" ", 1) anonymous_counter = self.get(derived, 1) self[derived] = anonymous_counter + 1 # type: ignore value = f"{derived}_{anonymous_counter}" self[key] = value return value class cache_anon_map( Dict[Union[int, "Literal[CacheConst.NO_CACHE]"], Union[Literal[True], str]] ): """A map that creates new keys for missing key access. Produces an incrementing sequence given a series of unique keys. This is similar to the compiler prefix_anon_map class although simpler. Inlines the approach taken by :class:`sqlalchemy.util.PopulateDict` which is otherwise usually used for this type of operation. """ _index = 0 def get_anon(self, object_: Any) -> Tuple[str, bool]: idself = id(object_) if idself in self: s_val = self[idself] assert s_val is not True return s_val, True else: # inline of __missing__ self[idself] = id_ = str(self._index) self._index += 1 return id_, False def __missing__(self, key: int) -> str: self[key] = val = str(self._index) self._index += 1 return val
Save