pytrilogy 0.0.2.31__py3-none-any.whl → 0.0.2.32__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.2.31.dist-info → pytrilogy-0.0.2.32.dist-info}/METADATA +1 -1
- {pytrilogy-0.0.2.31.dist-info → pytrilogy-0.0.2.32.dist-info}/RECORD +11 -11
- trilogy/__init__.py +1 -1
- trilogy/dialect/base.py +8 -6
- trilogy/dialect/common.py +2 -1
- trilogy/parsing/parse_engine.py +7 -2
- trilogy/parsing/trilogy.lark +9 -9
- {pytrilogy-0.0.2.31.dist-info → pytrilogy-0.0.2.32.dist-info}/LICENSE.md +0 -0
- {pytrilogy-0.0.2.31.dist-info → pytrilogy-0.0.2.32.dist-info}/WHEEL +0 -0
- {pytrilogy-0.0.2.31.dist-info → pytrilogy-0.0.2.32.dist-info}/entry_points.txt +0 -0
- {pytrilogy-0.0.2.31.dist-info → pytrilogy-0.0.2.32.dist-info}/top_level.txt +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
trilogy/__init__.py,sha256=
|
|
1
|
+
trilogy/__init__.py,sha256=CPOHf23-XKufDWmGAC9X5pKiKQAepzaB-rNzkGplJNo,291
|
|
2
2
|
trilogy/compiler.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3
3
|
trilogy/constants.py,sha256=KiyYnctoZen4Hzv8WG2jeN-IE-dfQbWHdVCUeTZYjBg,1270
|
|
4
4
|
trilogy/engine.py,sha256=R5ubIxYyrxRExz07aZCUfrTsoXCHQ8DKFTDsobXdWdA,1102
|
|
@@ -50,9 +50,9 @@ trilogy/core/processing/nodes/select_node_v2.py,sha256=7WoFxeGEAzhpS4y4Zw2nH2tt7
|
|
|
50
50
|
trilogy/core/processing/nodes/unnest_node.py,sha256=mAmFluzm2yeeiQ6NfIB7BU_8atRGh-UJfPf9ROwbhr8,2152
|
|
51
51
|
trilogy/core/processing/nodes/window_node.py,sha256=ro0QfMFi4ZmIn5Q4D0M_vJWfnHH_C0MN7XkVkx8Gygg,1214
|
|
52
52
|
trilogy/dialect/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
53
|
-
trilogy/dialect/base.py,sha256=
|
|
53
|
+
trilogy/dialect/base.py,sha256=V3YSzuyom8PLRS5Qru4iGatlB0huNLKorPKsYoAVWLk,34308
|
|
54
54
|
trilogy/dialect/bigquery.py,sha256=15KJ-cOpBlk9O7FPviPgmg8xIydJeKx7WfmL3SSsPE8,2953
|
|
55
|
-
trilogy/dialect/common.py,sha256=
|
|
55
|
+
trilogy/dialect/common.py,sha256=eqJi_Si1iyb2sV0siTf8g8JOHueWu6RkdtQZtutKazk,3826
|
|
56
56
|
trilogy/dialect/config.py,sha256=tLVEMctaTDhUgARKXUNfHUcIolGaALkQ0RavUvXAY4w,2994
|
|
57
57
|
trilogy/dialect/duckdb.py,sha256=_0a5HBU8zRNtZj7YED3ju4fHXRYG9jNeKwnlZwUDvwI,3419
|
|
58
58
|
trilogy/dialect/enums.py,sha256=4NdpsydBpDn6jnh0JzFz5VvQEtnShErWtWHVyT6TNpw,3948
|
|
@@ -70,14 +70,14 @@ trilogy/parsing/common.py,sha256=t7yiL_3f6rz_rouF9et84v5orAgs-EprV4V9ghQ6ql4,100
|
|
|
70
70
|
trilogy/parsing/config.py,sha256=Z-DaefdKhPDmSXLgg5V4pebhSB0h590vI0_VtHnlukI,111
|
|
71
71
|
trilogy/parsing/exceptions.py,sha256=92E5i2frv5hj9wxObJZsZqj5T6bglvPzvdvco_vW1Zk,38
|
|
72
72
|
trilogy/parsing/helpers.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
73
|
-
trilogy/parsing/parse_engine.py,sha256=
|
|
73
|
+
trilogy/parsing/parse_engine.py,sha256=eCEJJ06zgWhj4DNja5CEhlwv-PrGlVMXDHUX9Q3aITM,64688
|
|
74
74
|
trilogy/parsing/render.py,sha256=VKyo8wEOuiOzUtJ6w9EoGGmkhlqDQyy8wFj_Q_h6EfE,15263
|
|
75
|
-
trilogy/parsing/trilogy.lark,sha256=
|
|
75
|
+
trilogy/parsing/trilogy.lark,sha256=Tuqw5oGMwOYt3TYOEx_hZqGpsAp-PiAKiMW8S3EFRcg,12236
|
|
76
76
|
trilogy/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
77
77
|
trilogy/scripts/trilogy.py,sha256=PHxvv6f2ODv0esyyhWxlARgra8dVhqQhYl0lTrSyVNo,3729
|
|
78
|
-
pytrilogy-0.0.2.
|
|
79
|
-
pytrilogy-0.0.2.
|
|
80
|
-
pytrilogy-0.0.2.
|
|
81
|
-
pytrilogy-0.0.2.
|
|
82
|
-
pytrilogy-0.0.2.
|
|
83
|
-
pytrilogy-0.0.2.
|
|
78
|
+
pytrilogy-0.0.2.32.dist-info/LICENSE.md,sha256=5ZRvtTyCCFwz1THxDTjAu3Lidds9WjPvvzgVwPSYNDo,1042
|
|
79
|
+
pytrilogy-0.0.2.32.dist-info/METADATA,sha256=iOdK_We6Z-kEQP6SnEzowkN089iEjUCqq_Q7yGxLEkQ,8403
|
|
80
|
+
pytrilogy-0.0.2.32.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
|
|
81
|
+
pytrilogy-0.0.2.32.dist-info/entry_points.txt,sha256=0petKryjvvtEfTlbZC1AuMFumH_WQ9v8A19LvoS6G6c,54
|
|
82
|
+
pytrilogy-0.0.2.32.dist-info/top_level.txt,sha256=cAy__NW_eMAa_yT9UnUNlZLFfxcg6eimUAZ184cdNiE,8
|
|
83
|
+
pytrilogy-0.0.2.32.dist-info/RECORD,,
|
trilogy/__init__.py
CHANGED
trilogy/dialect/base.py
CHANGED
|
@@ -646,12 +646,14 @@ class BaseDialect:
|
|
|
646
646
|
else None
|
|
647
647
|
),
|
|
648
648
|
group_by=(
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
649
|
+
sorted(
|
|
650
|
+
list(
|
|
651
|
+
set(
|
|
652
|
+
[
|
|
653
|
+
self.render_concept_sql(c, cte, alias=False)
|
|
654
|
+
for c in cte.group_concepts
|
|
655
|
+
]
|
|
656
|
+
)
|
|
655
657
|
)
|
|
656
658
|
)
|
|
657
659
|
if cte.group_to_grain
|
trilogy/dialect/common.py
CHANGED
trilogy/parsing/parse_engine.py
CHANGED
|
@@ -164,8 +164,8 @@ def parse_concept_reference(
|
|
|
164
164
|
|
|
165
165
|
def expr_to_boolean(
|
|
166
166
|
root,
|
|
167
|
-
) -> Union[Comparison,
|
|
168
|
-
if not isinstance(root, (Comparison,
|
|
167
|
+
) -> Union[Comparison, SubselectComparison, Conditional]:
|
|
168
|
+
if not isinstance(root, (Comparison, SubselectComparison, Conditional)):
|
|
169
169
|
if arg_to_datatype(root) == DataType.BOOL:
|
|
170
170
|
root = Comparison(left=root, right=True, operator=ComparisonOperator.EQ)
|
|
171
171
|
else:
|
|
@@ -1098,6 +1098,11 @@ class ParseToObjects(Transformer):
|
|
|
1098
1098
|
def tuple_lit(self, args):
|
|
1099
1099
|
return tuple_to_wrapper(args)
|
|
1100
1100
|
|
|
1101
|
+
def string_lit(self, args) -> str:
|
|
1102
|
+
if not args:
|
|
1103
|
+
return ""
|
|
1104
|
+
return args[0]
|
|
1105
|
+
|
|
1101
1106
|
def struct_lit(self, args):
|
|
1102
1107
|
|
|
1103
1108
|
zipped = dict(zip(args[::2], args[1::2]))
|
trilogy/parsing/trilogy.lark
CHANGED
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
|
|
85
85
|
COPY_TYPE: "csv"i
|
|
86
86
|
|
|
87
|
-
copy_statement: "copy"i "into"i COPY_TYPE
|
|
87
|
+
copy_statement: "copy"i "into"i COPY_TYPE string_lit "from"i select_statement
|
|
88
88
|
|
|
89
89
|
// FUNCTION blocks
|
|
90
90
|
function: raw_function
|
|
@@ -118,7 +118,7 @@
|
|
|
118
118
|
_assignment: ("->") | "as"i
|
|
119
119
|
select_transform : expr _assignment IDENTIFIER metadata?
|
|
120
120
|
|
|
121
|
-
metadata: "metadata" "(" IDENTIFIER "="
|
|
121
|
+
metadata: "metadata" "(" IDENTIFIER "=" string_lit ")"
|
|
122
122
|
|
|
123
123
|
limit: "LIMIT"i /[0-9]+/
|
|
124
124
|
|
|
@@ -169,8 +169,8 @@
|
|
|
169
169
|
unnest: _UNNEST expr ")"
|
|
170
170
|
//indexing into an expression is a function
|
|
171
171
|
index_access: expr "[" int_lit "]"
|
|
172
|
-
map_key_access: expr "["
|
|
173
|
-
attr_access: expr "."
|
|
172
|
+
map_key_access: expr "[" string_lit "]"
|
|
173
|
+
attr_access: expr "." string_lit
|
|
174
174
|
|
|
175
175
|
expr: _constant_functions | window_item | filter_item | subselect_comparison | between_comparison | fgroup | aggregate_functions | unnest | _static_functions | literal | concept_lit | index_access | map_key_access | attr_access | parenthetical | expr_tuple | comparison | alt_like
|
|
176
176
|
|
|
@@ -209,16 +209,16 @@
|
|
|
209
209
|
|
|
210
210
|
//string
|
|
211
211
|
_LIKE.1: "like("i
|
|
212
|
-
like: _LIKE expr ","
|
|
212
|
+
like: _LIKE expr "," string_lit ")"
|
|
213
213
|
_ILIKE.1: "ilike("i
|
|
214
|
-
ilike: _ILIKE expr ","
|
|
214
|
+
ilike: _ILIKE expr "," string_lit ")"
|
|
215
215
|
alt_like: expr "like"i expr
|
|
216
216
|
_UPPER.1: "upper("i
|
|
217
217
|
upper: _UPPER expr ")"
|
|
218
218
|
_LOWER.1: "lower("i
|
|
219
219
|
lower: _LOWER expr ")"
|
|
220
220
|
_SPLIT.1: "split("i
|
|
221
|
-
fsplit: _SPLIT expr ","
|
|
221
|
+
fsplit: _SPLIT expr "," string_lit ")"
|
|
222
222
|
_STRPOS.1: "strpos("i
|
|
223
223
|
fstrpos: _STRPOS expr "," expr ")"
|
|
224
224
|
_SUBSTRING.1: "substring("i
|
|
@@ -301,7 +301,7 @@
|
|
|
301
301
|
SINGLE_STRING_CHARS: /(?:(?!\${)([^'\\]|\\.))+/+ // any character except '
|
|
302
302
|
_single_quote: "'" ( SINGLE_STRING_CHARS )* "'"
|
|
303
303
|
_double_quote: "\"" ( DOUBLE_STRING_CHARS )* "\""
|
|
304
|
-
|
|
304
|
+
string_lit: _single_quote | _double_quote
|
|
305
305
|
|
|
306
306
|
MINUS: "-"
|
|
307
307
|
|
|
@@ -322,7 +322,7 @@
|
|
|
322
322
|
|
|
323
323
|
!null_lit.1: "null"i
|
|
324
324
|
|
|
325
|
-
literal: null_lit |
|
|
325
|
+
literal: null_lit | string_lit | int_lit | float_lit | bool_lit | array_lit | map_lit | struct_lit | tuple_lit
|
|
326
326
|
|
|
327
327
|
MODIFIER: "Optional"i | "Partial"i | "Nullable"i
|
|
328
328
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|