pytrilogy 0.0.3.104__tar.gz → 0.0.3.105__tar.gz
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.104/pytrilogy.egg-info → pytrilogy-0.0.3.105}/PKG-INFO +1 -1
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105/pytrilogy.egg-info}/PKG-INFO +1 -1
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/__init__.py +1 -1
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/discovery_utility.py +25 -3
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/node_generators/filter_node.py +4 -5
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/node_generators/unnest_node.py +0 -5
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/LICENSE.md +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/README.md +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/pyproject.toml +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/pytrilogy.egg-info/SOURCES.txt +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/pytrilogy.egg-info/dependency_links.txt +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/pytrilogy.egg-info/entry_points.txt +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/pytrilogy.egg-info/requires.txt +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/pytrilogy.egg-info/top_level.txt +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/setup.cfg +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/setup.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/tests/test_datatypes.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/tests/test_declarations.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/tests/test_derived_concepts.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/tests/test_discovery_nodes.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/tests/test_enums.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/tests/test_environment.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/tests/test_execute_models.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/tests/test_executor.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/tests/test_failure.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/tests/test_functions.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/tests/test_imports.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/tests/test_metadata.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/tests/test_models.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/tests/test_multi_join_assignments.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/tests/test_parse_engine.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/tests/test_parsing.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/tests/test_parsing_failures.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/tests/test_partial_handling.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/tests/test_query_processing.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/tests/test_query_render.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/tests/test_select.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/tests/test_show.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/tests/test_statements.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/tests/test_typing.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/tests/test_undefined_concept.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/tests/test_user_functions.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/tests/test_validators.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/tests/test_where_clause.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/authoring/__init__.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/constants.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/__init__.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/constants.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/enums.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/env_processor.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/environment_helpers.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/ergonomics.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/exceptions.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/functions.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/graph_models.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/internal.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/models/__init__.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/models/author.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/models/build.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/models/build_environment.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/models/core.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/models/datasource.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/models/environment.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/models/execute.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/optimization.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/optimizations/__init__.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/optimizations/base_optimization.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/optimizations/hide_unused_concept.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/optimizations/inline_datasource.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/optimizations/predicate_pushdown.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/__init__.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/concept_strategies_v3.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/discovery_node_factory.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/discovery_validation.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/graph_utils.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/node_generators/__init__.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/node_generators/basic_node.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/node_generators/common.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/node_generators/constant_node.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/node_generators/group_node.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/node_generators/group_to_node.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/node_generators/multiselect_node.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/node_generators/node_merge_node.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/node_generators/recursive_node.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/node_generators/rowset_node.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/node_generators/select_helpers/__init__.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/node_generators/select_helpers/datasource_injection.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/node_generators/select_merge_node.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/node_generators/select_node.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/node_generators/synonym_node.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/node_generators/union_node.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/node_generators/window_node.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/nodes/__init__.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/nodes/base_node.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/nodes/filter_node.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/nodes/group_node.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/nodes/merge_node.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/nodes/recursive_node.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/nodes/select_node_v2.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/nodes/union_node.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/nodes/unnest_node.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/nodes/window_node.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/utility.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/query_processor.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/statements/__init__.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/statements/author.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/statements/build.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/statements/common.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/statements/execute.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/utility.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/validation/__init__.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/validation/common.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/validation/concept.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/validation/datasource.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/validation/environment.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/validation/fix.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/dialect/__init__.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/dialect/base.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/dialect/bigquery.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/dialect/common.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/dialect/config.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/dialect/dataframe.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/dialect/duckdb.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/dialect/enums.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/dialect/metadata.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/dialect/postgres.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/dialect/presto.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/dialect/snowflake.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/dialect/sql_server.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/engine.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/executor.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/hooks/__init__.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/hooks/base_hook.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/hooks/graph_hook.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/hooks/query_debugger.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/metadata/__init__.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/parser.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/parsing/__init__.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/parsing/common.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/parsing/config.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/parsing/exceptions.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/parsing/helpers.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/parsing/parse_engine.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/parsing/render.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/parsing/trilogy.lark +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/py.typed +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/render.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/scripts/__init__.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/scripts/trilogy.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/std/__init__.py +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/std/color.preql +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/std/date.preql +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/std/display.preql +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/std/geography.preql +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/std/metric.preql +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/std/money.preql +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/std/net.preql +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/std/ranking.preql +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/std/report.preql +0 -0
- {pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/utility.py +0 -0
|
@@ -27,18 +27,22 @@ def calculate_effective_parent_grain(
|
|
|
27
27
|
) -> BuildGrain:
|
|
28
28
|
# calculate the effective grain of the parent node
|
|
29
29
|
# this is the union of all parent grains
|
|
30
|
-
if isinstance(node,
|
|
30
|
+
if isinstance(node, QueryDatasource):
|
|
31
31
|
grain = BuildGrain()
|
|
32
|
-
qds = node
|
|
32
|
+
qds = node
|
|
33
33
|
if not qds.joins:
|
|
34
34
|
return qds.datasources[0].grain
|
|
35
|
+
seen = set()
|
|
35
36
|
for join in qds.joins:
|
|
36
37
|
if isinstance(join, UnnestJoin):
|
|
38
|
+
grain += BuildGrain(components=set([x.address for x in join.concepts]))
|
|
37
39
|
continue
|
|
38
40
|
pairs = join.concept_pairs or []
|
|
39
41
|
for key in pairs:
|
|
40
42
|
left = key.existing_datasource
|
|
43
|
+
logger.info(f"adding left grain {left.grain} for join key {key.left}")
|
|
41
44
|
grain += left.grain
|
|
45
|
+
seen.add(left.name)
|
|
42
46
|
keys = [key.right for key in pairs]
|
|
43
47
|
join_grain = BuildGrain.from_concepts(keys)
|
|
44
48
|
if join_grain == join.right_datasource.grain:
|
|
@@ -48,6 +52,24 @@ def calculate_effective_parent_grain(
|
|
|
48
52
|
f"join changes grain, adding {join.right_datasource.grain} to {grain}"
|
|
49
53
|
)
|
|
50
54
|
grain += join.right_datasource.grain
|
|
55
|
+
seen.add(join.right_datasource.name)
|
|
56
|
+
for x in qds.datasources:
|
|
57
|
+
# if we haven't seen it, it's still contributing to grain
|
|
58
|
+
# unless used ONLY in a subselect
|
|
59
|
+
# so the existence check is a [bad] proxy for that
|
|
60
|
+
if x.name not in seen and not (
|
|
61
|
+
qds.condition
|
|
62
|
+
and qds.condition.existence_arguments
|
|
63
|
+
and any(
|
|
64
|
+
[
|
|
65
|
+
c.address in block
|
|
66
|
+
for c in x.output_concepts
|
|
67
|
+
for block in qds.condition.existence_arguments
|
|
68
|
+
]
|
|
69
|
+
)
|
|
70
|
+
):
|
|
71
|
+
logger.info(f"adding unjoined grain {x.grain} for datasource {x.name}")
|
|
72
|
+
grain += x.grain
|
|
51
73
|
return grain
|
|
52
74
|
else:
|
|
53
75
|
return node.grain or BuildGrain()
|
|
@@ -75,7 +97,7 @@ def check_if_group_required(
|
|
|
75
97
|
if comp_grain.issubset(target_grain):
|
|
76
98
|
|
|
77
99
|
logger.info(
|
|
78
|
-
f"{padding}{LOGGER_PREFIX} Group requirement check:
|
|
100
|
+
f"{padding}{LOGGER_PREFIX} Group requirement check: {comp_grain}, target: {target_grain}, grain is subset of target, no group node required"
|
|
79
101
|
)
|
|
80
102
|
return GroupRequiredResponse(target_grain, comp_grain, False)
|
|
81
103
|
# find out what extra is in the comp grain vs target grain
|
{pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/node_generators/filter_node.py
RENAMED
|
@@ -4,7 +4,6 @@ from trilogy.constants import logger
|
|
|
4
4
|
from trilogy.core.models.build import (
|
|
5
5
|
BuildConcept,
|
|
6
6
|
BuildFilterItem,
|
|
7
|
-
BuildGrain,
|
|
8
7
|
BuildWhereClause,
|
|
9
8
|
)
|
|
10
9
|
from trilogy.core.models.build_environment import BuildEnvironment
|
|
@@ -238,10 +237,10 @@ def gen_filter_node(
|
|
|
238
237
|
if not parent.preexisting_conditions == where.conditional:
|
|
239
238
|
parent.add_condition(where.conditional)
|
|
240
239
|
parent.add_existence_concepts(flattened_existence, False)
|
|
241
|
-
parent.grain = BuildGrain.from_concepts(
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
)
|
|
240
|
+
# parent.grain = BuildGrain.from_concepts(
|
|
241
|
+
# parent.output_concepts,
|
|
242
|
+
# environment=environment,
|
|
243
|
+
# )
|
|
245
244
|
parent.rebuild_cache()
|
|
246
245
|
filter_node = parent
|
|
247
246
|
else:
|
{pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/node_generators/unnest_node.py
RENAMED
|
@@ -4,7 +4,6 @@ from trilogy.constants import logger
|
|
|
4
4
|
from trilogy.core.models.build import (
|
|
5
5
|
BuildConcept,
|
|
6
6
|
BuildFunction,
|
|
7
|
-
BuildGrain,
|
|
8
7
|
BuildWhereClause,
|
|
9
8
|
)
|
|
10
9
|
from trilogy.core.models.build_environment import BuildEnvironment
|
|
@@ -104,10 +103,6 @@ def gen_unnest_node(
|
|
|
104
103
|
preexisting_conditions=(
|
|
105
104
|
conditional if conditional and local_conditions is False else None
|
|
106
105
|
),
|
|
107
|
-
grain=BuildGrain.from_concepts(
|
|
108
|
-
concepts=base.output_concepts,
|
|
109
|
-
environment=environment,
|
|
110
|
-
),
|
|
111
106
|
)
|
|
112
107
|
# qds = new.resolve()
|
|
113
108
|
# assert qds.source_map[concept.address] == {base.resolve()}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/optimizations/hide_unused_concept.py
RENAMED
|
File without changes
|
|
File without changes
|
{pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/optimizations/predicate_pushdown.py
RENAMED
|
File without changes
|
|
File without changes
|
{pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/concept_strategies_v3.py
RENAMED
|
File without changes
|
{pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/discovery_node_factory.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/node_generators/__init__.py
RENAMED
|
File without changes
|
{pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/node_generators/basic_node.py
RENAMED
|
File without changes
|
{pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/node_generators/common.py
RENAMED
|
File without changes
|
{pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/node_generators/constant_node.py
RENAMED
|
File without changes
|
{pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/node_generators/group_node.py
RENAMED
|
File without changes
|
{pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/node_generators/group_to_node.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/node_generators/rowset_node.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/node_generators/select_node.py
RENAMED
|
File without changes
|
{pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/node_generators/synonym_node.py
RENAMED
|
File without changes
|
{pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/node_generators/union_node.py
RENAMED
|
File without changes
|
{pytrilogy-0.0.3.104 → pytrilogy-0.0.3.105}/trilogy/core/processing/node_generators/window_node.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|