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
         
     |