pytrilogy 0.0.3.21__py3-none-any.whl → 0.0.3.23__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.
Potentially problematic release.
This version of pytrilogy might be problematic. Click here for more details.
- {pytrilogy-0.0.3.21.dist-info → pytrilogy-0.0.3.23.dist-info}/METADATA +1 -1
- {pytrilogy-0.0.3.21.dist-info → pytrilogy-0.0.3.23.dist-info}/RECORD +11 -11
- {pytrilogy-0.0.3.21.dist-info → pytrilogy-0.0.3.23.dist-info}/WHEEL +1 -1
- pytrilogy-0.0.3.23.dist-info/entry_points.txt +2 -0
- trilogy/__init__.py +1 -1
- trilogy/core/models/build.py +4 -0
- trilogy/core/models/execute.py +1 -1
- trilogy/core/processing/concept_strategies_v3.py +12 -8
- trilogy/parsing/parse_engine.py +4 -1
- pytrilogy-0.0.3.21.dist-info/entry_points.txt +0 -2
- {pytrilogy-0.0.3.21.dist-info → pytrilogy-0.0.3.23.dist-info}/licenses/LICENSE.md +0 -0
- {pytrilogy-0.0.3.21.dist-info → pytrilogy-0.0.3.23.dist-info}/top_level.txt +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
pytrilogy-0.0.3.
|
|
2
|
-
trilogy/__init__.py,sha256=
|
|
1
|
+
pytrilogy-0.0.3.23.dist-info/licenses/LICENSE.md,sha256=5ZRvtTyCCFwz1THxDTjAu3Lidds9WjPvvzgVwPSYNDo,1042
|
|
2
|
+
trilogy/__init__.py,sha256=V3stjtkh3sDxf-s4ccwlCSOIsq8WO5pyE5PuQVwEsio,303
|
|
3
3
|
trilogy/compiler.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
4
|
trilogy/constants.py,sha256=5eQxk1A0pv-TQk3CCvgZCFA9_K-6nxrOm7E5Lxd7KIY,1652
|
|
5
5
|
trilogy/engine.py,sha256=OK2RuqCIUId6yZ5hfF8J1nxGP0AJqHRZiafcowmW0xc,1728
|
|
@@ -23,19 +23,19 @@ trilogy/core/optimization.py,sha256=xGO8piVsLrpqrx-Aid_Y56_5slSv4eZmlP64hCHRiEc,
|
|
|
23
23
|
trilogy/core/query_processor.py,sha256=Do8YpdPBdsbKtl9n37hobzk8SORMGqH-e_zNNxd-BE4,19456
|
|
24
24
|
trilogy/core/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
25
25
|
trilogy/core/models/author.py,sha256=gsn_vkm8gvnwTvzgqOL5v3X1Lx4n8xg32tRwk_9Mxnc,73494
|
|
26
|
-
trilogy/core/models/build.py,sha256=
|
|
26
|
+
trilogy/core/models/build.py,sha256=T3rDPoWNO_pNice90WBVwPzyiHK4pg-i-5iClkWeY8s,57392
|
|
27
27
|
trilogy/core/models/build_environment.py,sha256=8UggvlPU708GZWYPJMc_ou2r7M3TY2g69eqGvz03YX0,5528
|
|
28
28
|
trilogy/core/models/core.py,sha256=nb4h1HHm5_qwmUkYth4zRhEttS1EtsMZCP4vT20EEAE,10326
|
|
29
29
|
trilogy/core/models/datasource.py,sha256=6RjJUd2u4nYmEwFBpJlM9LbHVYDv8iHJxqiBMZqUrwI,9422
|
|
30
30
|
trilogy/core/models/environment.py,sha256=RlHNrRer4p1uSQM030iwGJL82M1hMyY5p8a550XTfUI,26606
|
|
31
|
-
trilogy/core/models/execute.py,sha256=
|
|
31
|
+
trilogy/core/models/execute.py,sha256=KZHiovlSr_3ZjyzKD1mdBlAqnPCqFCChQkO4_4WlGtg,34224
|
|
32
32
|
trilogy/core/optimizations/__init__.py,sha256=EBanqTXEzf1ZEYjAneIWoIcxtMDite5-n2dQ5xcfUtg,356
|
|
33
33
|
trilogy/core/optimizations/base_optimization.py,sha256=gzDOKImoFn36k7XBD3ysEYDnbnb6vdVIztUfFQZsGnM,513
|
|
34
34
|
trilogy/core/optimizations/inline_constant.py,sha256=lvNTIXaLNkw3HseJyXyDNk5R52doLU9sIg3pmU2_S08,1332
|
|
35
35
|
trilogy/core/optimizations/inline_datasource.py,sha256=AHuTGh2x0GQ8usOe0NiFncfTFQ_KogdgDl4uucmhIbI,4241
|
|
36
36
|
trilogy/core/optimizations/predicate_pushdown.py,sha256=g4AYE8Aw_iMlAh68TjNXGP754NTurrDduFECkUjoBnc,9399
|
|
37
37
|
trilogy/core/processing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
38
|
-
trilogy/core/processing/concept_strategies_v3.py,sha256=
|
|
38
|
+
trilogy/core/processing/concept_strategies_v3.py,sha256=O-O08cGLl4XX3Faf59UlkFjsjzTU-QkzlDQ0mzY-LRE,40515
|
|
39
39
|
trilogy/core/processing/graph_utils.py,sha256=8QUVrkE9j-9C1AyrCb1nQEh8daCe0u1HuXl-Te85lag,1205
|
|
40
40
|
trilogy/core/processing/utility.py,sha256=Oc5tLGeDDpzhbfo2ZcF8ex1kez-NcJDMcG2Lm5BjS4c,20548
|
|
41
41
|
trilogy/core/processing/node_generators/__init__.py,sha256=o8rOFHPSo-s_59hREwXMW6gjUJCsiXumdbJNozHUf-Y,800
|
|
@@ -91,13 +91,13 @@ trilogy/parsing/common.py,sha256=99tDKrpQTk-SpyTXUqKFtm-lfmhjCOQIn25hxbQvRRg,214
|
|
|
91
91
|
trilogy/parsing/config.py,sha256=Z-DaefdKhPDmSXLgg5V4pebhSB0h590vI0_VtHnlukI,111
|
|
92
92
|
trilogy/parsing/exceptions.py,sha256=92E5i2frv5hj9wxObJZsZqj5T6bglvPzvdvco_vW1Zk,38
|
|
93
93
|
trilogy/parsing/helpers.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
94
|
-
trilogy/parsing/parse_engine.py,sha256=
|
|
94
|
+
trilogy/parsing/parse_engine.py,sha256=Jja7SxpD0QSVdDfhaGs7QN301tt6g0npc3fAGhsuVuI,60787
|
|
95
95
|
trilogy/parsing/render.py,sha256=o_XuQWhcwx1lD9eGVqkqZEwkmQK0HdmWWokGBtdeH4I,17837
|
|
96
96
|
trilogy/parsing/trilogy.lark,sha256=7libFS5HNiyHJYzr5_lEiY-Lpqit04_PgyIPHMZT7-w,12928
|
|
97
97
|
trilogy/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
98
98
|
trilogy/scripts/trilogy.py,sha256=1L0XrH4mVHRt1C9T1HnaDv2_kYEfbWTb5_-cBBke79w,3774
|
|
99
|
-
pytrilogy-0.0.3.
|
|
100
|
-
pytrilogy-0.0.3.
|
|
101
|
-
pytrilogy-0.0.3.
|
|
102
|
-
pytrilogy-0.0.3.
|
|
103
|
-
pytrilogy-0.0.3.
|
|
99
|
+
pytrilogy-0.0.3.23.dist-info/METADATA,sha256=ZlYR5KCt_WOZwxuAmV6P5iFW88GmieXKo48iTCHmG9c,9100
|
|
100
|
+
pytrilogy-0.0.3.23.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
|
|
101
|
+
pytrilogy-0.0.3.23.dist-info/entry_points.txt,sha256=ewBPU2vLnVexZVnB-NrVj-p3E-4vukg83Zk8A55Wp2w,56
|
|
102
|
+
pytrilogy-0.0.3.23.dist-info/top_level.txt,sha256=cAy__NW_eMAa_yT9UnUNlZLFfxcg6eimUAZ184cdNiE,8
|
|
103
|
+
pytrilogy-0.0.3.23.dist-info/RECORD,,
|
trilogy/__init__.py
CHANGED
trilogy/core/models/build.py
CHANGED
|
@@ -1721,6 +1721,10 @@ class Factory:
|
|
|
1721
1721
|
components=base.components, where_clause=where
|
|
1722
1722
|
)
|
|
1723
1723
|
|
|
1724
|
+
@build.register
|
|
1725
|
+
def _(self, base: TupleWrapper) -> TupleWrapper:
|
|
1726
|
+
return TupleWrapper(val=[self.build(x) for x in base.val], type=base.type)
|
|
1727
|
+
|
|
1724
1728
|
@build.register
|
|
1725
1729
|
def _(self, base: FilterItem) -> BuildFilterItem:
|
|
1726
1730
|
return BuildFilterItem.model_construct(
|
trilogy/core/models/execute.py
CHANGED
|
@@ -787,15 +787,19 @@ def _search_concepts(
|
|
|
787
787
|
)
|
|
788
788
|
# if anything we need to get is in the filter set and it's a computed value
|
|
789
789
|
# we need to get _everything_ in this loop
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
790
|
+
required_filters = [
|
|
791
|
+
x
|
|
792
|
+
for x in mandatory_list
|
|
793
|
+
if x.derivation not in (Derivation.ROOT, Derivation.CONSTANT)
|
|
794
|
+
and not (
|
|
795
|
+
x.derivation == Derivation.AGGREGATE
|
|
796
|
+
and x.granularity == Granularity.SINGLE_ROW
|
|
797
|
+
)
|
|
798
|
+
and x.address in conditions.row_arguments
|
|
799
|
+
]
|
|
800
|
+
if any(required_filters):
|
|
797
801
|
logger.info(
|
|
798
|
-
f"{depth_to_prefix(depth)}{LOGGER_PREFIX} derived condition row
|
|
802
|
+
f"{depth_to_prefix(depth)}{LOGGER_PREFIX} derived condition row inputs {[x.address for x in required_filters]} present in mandatory list, forcing condition evaluation at this level. "
|
|
799
803
|
)
|
|
800
804
|
mandatory_list = completion_mandatory
|
|
801
805
|
must_evaluate_condition_on_this_level_not_push_down = True
|
trilogy/parsing/parse_engine.py
CHANGED
|
@@ -1342,7 +1342,10 @@ class ParseToObjects(Transformer):
|
|
|
1342
1342
|
)
|
|
1343
1343
|
|
|
1344
1344
|
def expr_tuple(self, args):
|
|
1345
|
-
|
|
1345
|
+
datatypes = set([arg_to_datatype(x) for x in args])
|
|
1346
|
+
if len(datatypes) != 1:
|
|
1347
|
+
raise ParseError("Tuple must have same type for all elements")
|
|
1348
|
+
return TupleWrapper(val=tuple(args), type=datatypes.pop())
|
|
1346
1349
|
|
|
1347
1350
|
def parenthetical(self, args):
|
|
1348
1351
|
return Parenthetical(content=args[0])
|
|
File without changes
|
|
File without changes
|