ormlambda 2.0.2__py3-none-any.whl → 2.6.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ormlambda/common/abstract_classes/abstract_model.py +28 -13
- ormlambda/common/abstract_classes/decomposition_query.py +301 -0
- ormlambda/common/interfaces/IAggregate.py +10 -0
- ormlambda/common/interfaces/IDecompositionQuery.py +56 -0
- ormlambda/common/interfaces/IRepositoryBase.py +1 -10
- ormlambda/common/interfaces/IStatements.py +8 -2
- ormlambda/common/interfaces/__init__.py +2 -0
- ormlambda/databases/my_sql/clauses/__init__.py +16 -14
- ormlambda/databases/my_sql/clauses/count.py +27 -23
- ormlambda/databases/my_sql/clauses/select.py +28 -155
- ormlambda/databases/my_sql/clauses/where_condition.py +2 -2
- ormlambda/databases/my_sql/functions/__init__.py +3 -0
- ormlambda/databases/my_sql/functions/concat.py +41 -0
- ormlambda/databases/my_sql/functions/group_by.py +37 -0
- ormlambda/databases/my_sql/functions/max.py +39 -0
- ormlambda/databases/my_sql/repository.py +29 -44
- ormlambda/databases/my_sql/statements.py +18 -32
- ormlambda/model_base.py +2 -0
- ormlambda/utils/table_constructor.py +5 -4
- {ormlambda-2.0.2.dist-info → ormlambda-2.6.1.dist-info}/METADATA +1 -1
- {ormlambda-2.0.2.dist-info → ormlambda-2.6.1.dist-info}/RECORD +23 -19
- ormlambda/components/select/ISelect.py +0 -14
- ormlambda/components/select/__init__.py +0 -2
- ormlambda/components/select/table_column.py +0 -43
- {ormlambda-2.0.2.dist-info → ormlambda-2.6.1.dist-info}/LICENSE +0 -0
- {ormlambda-2.0.2.dist-info → ormlambda-2.6.1.dist-info}/WHEEL +0 -0
@@ -1,17 +1,20 @@
|
|
1
1
|
ormlambda/__init__.py,sha256=L-Enc4FPmW3ldBMnWOU3gLn9i4FEc7sQzLWy2mIEti8,538
|
2
2
|
ormlambda/common/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
3
3
|
ormlambda/common/abstract_classes/__init__.py,sha256=tk2J4Mn_nD-1ZjtMVBE5FH7KR_8ppN_1Kx1s6c38GjM,167
|
4
|
-
ormlambda/common/abstract_classes/abstract_model.py,sha256=
|
4
|
+
ormlambda/common/abstract_classes/abstract_model.py,sha256=1v86bTuSxsFzy5RUc9HnraRVjbGezJoqLbizcrMo-Uc,4548
|
5
|
+
ormlambda/common/abstract_classes/decomposition_query.py,sha256=OReQs1SEf02FnJI8SDreXp2agkjRqyj_RJrFiMn55ro,11409
|
5
6
|
ormlambda/common/abstract_classes/non_query_base.py,sha256=5jhvyT7OZaJxlGp9XMP3vQ4ei5QQZBn-fFtJnD640mE,980
|
6
7
|
ormlambda/common/abstract_classes/query_base.py,sha256=6qUFPwsVx45kUW3b66pHiSyjhcH4mzbdkddlGeUnG7c,266
|
7
8
|
ormlambda/common/enums/__init__.py,sha256=4lVKCHi1JalwgNzjsAXqX-C54NJEH83y2v5baMO8fN4,103
|
8
9
|
ormlambda/common/enums/condition_types.py,sha256=mDPMrtzZu4IYv3-q5Zw4NNgwUoNAx4lih5SIDFRn1Qo,309
|
9
10
|
ormlambda/common/enums/join_type.py,sha256=7LEhE34bzYOwJxe8yxPJo_EjQpGylgClAPX1Wt3z4n4,292
|
11
|
+
ormlambda/common/interfaces/IAggregate.py,sha256=i9zZIYrstP2oolUYqR-udeQQl7M0NwSzrr-VUL0b5HI,271
|
12
|
+
ormlambda/common/interfaces/IDecompositionQuery.py,sha256=VwZdYhVApNyGrWgqr27mRMOxREMb6Xv-oYtW_0c2D2g,1365
|
10
13
|
ormlambda/common/interfaces/INonQueryCommand.py,sha256=7CjLW4sKqkR5zUIGvhRXOtzTs6vypJW1a9EJHlgCw2c,260
|
11
14
|
ormlambda/common/interfaces/IQueryCommand.py,sha256=hfzCosK4-n8RJIb2PYs8b0qU3TNmfYluZXBf47KxxKs,331
|
12
|
-
ormlambda/common/interfaces/IRepositoryBase.py,sha256=
|
13
|
-
ormlambda/common/interfaces/IStatements.py,sha256=
|
14
|
-
ormlambda/common/interfaces/__init__.py,sha256=
|
15
|
+
ormlambda/common/interfaces/IRepositoryBase.py,sha256=jIwQ6c_eadf3K7dyvBf88kTIb6AqIsIYBc2aJ90RS0I,1196
|
16
|
+
ormlambda/common/interfaces/IStatements.py,sha256=zsjR6JnQ57M6GPGRqAXkuuwZx6fh3Mq6NB4D6gWw-3w,10028
|
17
|
+
ormlambda/common/interfaces/__init__.py,sha256=00ca9a-u_A8DzyEyxPfBMxfqLKFzzUgJaeNmoRitAbA,360
|
15
18
|
ormlambda/components/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
16
19
|
ormlambda/components/delete/IDelete.py,sha256=06ZEdbKBxsHSwsGMBu0E1om4WJjojZAm-L3b95eQrcc,139
|
17
20
|
ormlambda/components/delete/__init__.py,sha256=X_at2L4QkxDVK1olXhFHqNemkB8Dxbb7BYqv0EJyu7M,102
|
@@ -19,9 +22,6 @@ ormlambda/components/delete/abstract_delete.py,sha256=ca-AO3nM9MMhy0hofNLjnCod92
|
|
19
22
|
ormlambda/components/insert/IInsert.py,sha256=YIfMPlKu7UGgnVpZuhpr0Mtnefe-O85hqk8-GZrVK7w,139
|
20
23
|
ormlambda/components/insert/__init__.py,sha256=TGShCJZwejK3zZCRistBAKoDy2NNDRR_w1LXIbN66Dk,102
|
21
24
|
ormlambda/components/insert/abstract_insert.py,sha256=ctaXd6TB8fo3Fl7NHNA-wOmbCpivU-9uUs7O628RUW0,684
|
22
|
-
ormlambda/components/select/ISelect.py,sha256=_BkOHbO_ICHDjkzgxbenrauCKIDJ40zeFTIG0FjWRCE,319
|
23
|
-
ormlambda/components/select/__init__.py,sha256=BygaFGphVgGT0Zke4WhzdBQMUxevC34Qseok9qutaJE,95
|
24
|
-
ormlambda/components/select/table_column.py,sha256=AF4mQvHJnXzE95yP4iNnZCsNDLaYElL16tIo0ZMs7yc,1311
|
25
25
|
ormlambda/components/update/IUpdate.py,sha256=U-3Wx8lyCglhxf9gCXWO3MVgydG6gfRpzp00_MHC5cU,168
|
26
26
|
ormlambda/components/update/__init__.py,sha256=o1VjlfXgjftZgp64O10rzCGaDZCbdTZRRtjIlojTUWA,102
|
27
27
|
ormlambda/components/update/abstract_update.py,sha256=PV6B7FF9nzixmhnZZGG3Xrot8-ycH-oS3IHkHQdabx4,888
|
@@ -32,8 +32,8 @@ ormlambda/components/where/__init__.py,sha256=mI-ylB6cTTVf3rtCX54apgZrMP6y9tTD7-
|
|
32
32
|
ormlambda/components/where/abstract_where.py,sha256=93tIJBC81OUUVV6il7mISibBwqJeodQdFFQ9DShDKOQ,344
|
33
33
|
ormlambda/databases/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
34
34
|
ormlambda/databases/my_sql/__init__.py,sha256=3PbOp4WqxJzFOSRwBozqyNtQi25cLLdiJFPDzEnSI70,115
|
35
|
-
ormlambda/databases/my_sql/clauses/__init__.py,sha256=
|
36
|
-
ormlambda/databases/my_sql/clauses/count.py,sha256=
|
35
|
+
ormlambda/databases/my_sql/clauses/__init__.py,sha256=OG_cLBAWOeJt4oq-OYXyDd_idbGgYvO_9bnV_hz3Fvg,778
|
36
|
+
ormlambda/databases/my_sql/clauses/count.py,sha256=UFJD-ELp-xvOyPbvYX37GvRZsP8M_axambnI7_h91yA,1177
|
37
37
|
ormlambda/databases/my_sql/clauses/create_database.py,sha256=WnWaAuhxeE71NZKXW37WZ-msRqjum7TFCSRK1IGdSTE,1279
|
38
38
|
ormlambda/databases/my_sql/clauses/delete.py,sha256=nUKNQgwF5YUfzk2icWpecYjrGk5DeXpp7eiwtWCf_3c,1924
|
39
39
|
ormlambda/databases/my_sql/clauses/drop_database.py,sha256=nMM0YUbcH0D9X3bU70Uc6S_dsIrAZy-IrYuIKrQZNrg,505
|
@@ -43,13 +43,17 @@ ormlambda/databases/my_sql/clauses/joins.py,sha256=U6JnUvQo7AXyEeK-X1jMvckXefgAB
|
|
43
43
|
ormlambda/databases/my_sql/clauses/limit.py,sha256=a4lI8FVRKpfXwBQTXdkbVtlQkmzcjE20ymiCy1IaSc4,391
|
44
44
|
ormlambda/databases/my_sql/clauses/offset.py,sha256=81170JhsQndjKlDfQj1ll-tiYHQbW8SuU4IE3mhQF7Y,395
|
45
45
|
ormlambda/databases/my_sql/clauses/order.py,sha256=AcTD7aeaaz-isyjs1_CkRCb7z8b7o5GhpMxc_2G5IgI,1030
|
46
|
-
ormlambda/databases/my_sql/clauses/select.py,sha256=
|
46
|
+
ormlambda/databases/my_sql/clauses/select.py,sha256=NQFBoxTeJxFBEJJ8SIKr_06BYEeblOuP4J_9YD_iJxI,1280
|
47
47
|
ormlambda/databases/my_sql/clauses/update.py,sha256=3Htw0_PT3EckEiF214-V2r63lcNoRBroKZI9yg48Ddg,1867
|
48
48
|
ormlambda/databases/my_sql/clauses/upsert.py,sha256=eW2pQ4ax-GKuXiaWKoSRSS1GrHuILJBsmj83ADbBQ34,1951
|
49
|
-
ormlambda/databases/my_sql/clauses/where_condition.py,sha256=
|
50
|
-
ormlambda/databases/my_sql/
|
51
|
-
ormlambda/databases/my_sql/
|
52
|
-
ormlambda/
|
49
|
+
ormlambda/databases/my_sql/clauses/where_condition.py,sha256=UgU5vnTqFAx91wKwnECpww5tETDZ9F7IdC_SiZOgZhI,8336
|
50
|
+
ormlambda/databases/my_sql/functions/__init__.py,sha256=jUFHlFc04UAPht65GlEkLXa5_dwfBl2c377ohrNXswc,120
|
51
|
+
ormlambda/databases/my_sql/functions/concat.py,sha256=cZztl5eSATpYMKVKfyPbul6OocaUkaEGpt3uWmhf-3o,1177
|
52
|
+
ormlambda/databases/my_sql/functions/group_by.py,sha256=ym1L6RBA70hmzrkJ-IA_-6Esq7eoVgNdf1vWpqxRq-8,1080
|
53
|
+
ormlambda/databases/my_sql/functions/max.py,sha256=zrO_RBKsHhyokEmSpPI6Yg5OY6Jf4GGp2RveBJdOuuA,1190
|
54
|
+
ormlambda/databases/my_sql/repository.py,sha256=KltLdpWFiPaHKFOVcefy3pQ0g_pBFsUVlpBFV7CGEEk,7034
|
55
|
+
ormlambda/databases/my_sql/statements.py,sha256=4o1NguIiNOVA9i8hqaUMJdIfgn1MvXnnJhJABKPJtF0,9660
|
56
|
+
ormlambda/model_base.py,sha256=RrAATQWX_bHJ0ZQ5sCHyJKA4NiR7ZJY4I6dqhnGWWAc,1216
|
53
57
|
ormlambda/utils/__init__.py,sha256=ywMdWqmA2jHj19-W-S04yfaYF5hv4IZ1lZDq0B8Jnjs,142
|
54
58
|
ormlambda/utils/column.py,sha256=5FAGzCU4yvNS4MhwJJ5i73h7RvHD5UCVox0NdzMsMiE,1945
|
55
59
|
ormlambda/utils/dtypes.py,sha256=1kRsT5JggNS1DMWgSUdBb67CefQHnZ-VTN1WI7nN2yQ,7879
|
@@ -64,8 +68,8 @@ ormlambda/utils/lambda_disassembler/tree_instruction.py,sha256=QUnhG89WKJyAlEWAj
|
|
64
68
|
ormlambda/utils/module_tree/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
65
69
|
ormlambda/utils/module_tree/dfs_traversal.py,sha256=lSF03G63XtJFLp03ueAmsHMBvhUkjptDbK3IugXm8iU,1425
|
66
70
|
ormlambda/utils/module_tree/dynamic_module.py,sha256=zwvjU3U2cz6H2CDp9Gncs5D5bSAyfITNa2SDqFDl8rw,8551
|
67
|
-
ormlambda/utils/table_constructor.py,sha256=
|
68
|
-
ormlambda-2.
|
69
|
-
ormlambda-2.
|
70
|
-
ormlambda-2.
|
71
|
-
ormlambda-2.
|
71
|
+
ormlambda/utils/table_constructor.py,sha256=8Apm44K6MiYMK3PQyK74MUV18OatbFI9eDLAVklQO0w,11660
|
72
|
+
ormlambda-2.6.1.dist-info/LICENSE,sha256=xBprFw8GJLdHMOoUqDk0427EvjIcbEREvXXVFULuuXU,1080
|
73
|
+
ormlambda-2.6.1.dist-info/METADATA,sha256=OUhV3mP2xqwH75LftvCqJis1Kmx00sBUnazCPG5DrOQ,8428
|
74
|
+
ormlambda-2.6.1.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
75
|
+
ormlambda-2.6.1.dist-info/RECORD,,
|
@@ -1,14 +0,0 @@
|
|
1
|
-
from abc import abstractmethod
|
2
|
-
|
3
|
-
from ormlambda.common.interfaces import IQuery
|
4
|
-
from .table_column import TableColumn
|
5
|
-
|
6
|
-
|
7
|
-
class ISelect(IQuery):
|
8
|
-
@property
|
9
|
-
@abstractmethod
|
10
|
-
def select_list(self) -> list[TableColumn]: ...
|
11
|
-
|
12
|
-
@property
|
13
|
-
@abstractmethod
|
14
|
-
def tables_heritage(self) -> list[TableColumn]: ...
|
@@ -1,43 +0,0 @@
|
|
1
|
-
from __future__ import annotations
|
2
|
-
from typing import Any, Iterator
|
3
|
-
from typing import TYPE_CHECKING
|
4
|
-
|
5
|
-
if TYPE_CHECKING:
|
6
|
-
from ormlambda import Table
|
7
|
-
|
8
|
-
|
9
|
-
class TableColumn:
|
10
|
-
def __init__(self, table: Table, col: str) -> None:
|
11
|
-
self._table: Table = table
|
12
|
-
self._column: str = col
|
13
|
-
|
14
|
-
def __repr__(self) -> str:
|
15
|
-
return f"{TableColumn.__name__}: T={self._table.__table_name__} col={self._column}"
|
16
|
-
|
17
|
-
@property
|
18
|
-
def real_column(self) -> str:
|
19
|
-
return self._column
|
20
|
-
|
21
|
-
@property
|
22
|
-
def column(self) -> str:
|
23
|
-
return f"{self._table.__table_name__}.{self._column} as `{self.alias}`"
|
24
|
-
|
25
|
-
@property
|
26
|
-
def alias(self) -> str:
|
27
|
-
return f"{self._table.__table_name__}_{self._column}"
|
28
|
-
|
29
|
-
def get_all_alias(self) -> list[str]:
|
30
|
-
return [class_.alias for class_ in self.all_columns(self._table)]
|
31
|
-
|
32
|
-
@classmethod
|
33
|
-
def all_columns(cls, table: Table) -> Iterator["TableColumn"]:
|
34
|
-
for col in table.__annotations__:
|
35
|
-
yield cls(table, col)
|
36
|
-
|
37
|
-
def __hash__(self) -> int:
|
38
|
-
return hash((self._table, self._column))
|
39
|
-
|
40
|
-
def __eq__(self, __value: Any) -> bool:
|
41
|
-
if isinstance(__value, TableColumn):
|
42
|
-
return self._table.__table_name__ == __value._table.__table_name__ and self._column == __value._column
|
43
|
-
return False
|
File without changes
|
File without changes
|