-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlib.incn
More file actions
508 lines (506 loc) · 18.9 KB
/
lib.incn
File metadata and controls
508 lines (506 loc) · 18.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
"""
InQL — typed query surface (Incan library).
Add modules (e.g. `dataset`, `functions`, `query`) and re-export them here with `pub from ... import ...`.
Consumers depend on this package via `[dependencies]` and import with `from pub::inql import ...`.
"""
pub from dataset import BoundedDataSet, DataFrame, DataSet, DataStream, LazyFrame, UnboundedDataSet
pub from schema_registry import named_table_columns, register_named_table_schema, registered_named_table_columns
pub from dataset.ops import (
agg_ds,
filter_ds,
generate_ds,
group_by_ds,
join_ds,
limit_ds,
order_by_ds,
select_project_ds_of_columns,
select_ds,
with_window_column_ds,
)
pub from aggregate_builders import AggregateKind, AggregateMeasure, aggregate_as
pub from sketch_types import (
SKETCH_FAMILY_OPTION,
SKETCH_FORMAT_OPTION,
SKETCH_PRECISION_OPTION,
SKETCH_VALUE_DOMAIN_OPTION,
SketchExpr,
SketchFamily,
SketchLogicalType,
SketchSerializationFormat,
SketchValueDomain,
hll_type,
sketch_col,
sketch_types_compatible,
sketch_value,
)
pub from variant_types import (
VARIANT_ENCODING_OPTION,
VARIANT_KIND_OPTION,
VARIANT_PARSE_MODE_OPTION,
VariantEncoding,
VariantExpr,
VariantKind,
VariantLogicalType,
VariantParseMode,
variant_col,
variant_parse_options,
variant_path_expr,
variant_path_value_or_column_expr,
variant_scalar_options,
variant_type,
variant_types_compatible,
variant_value,
)
pub from generator_builders import (
GeneratorApplication,
GeneratorKind,
generator_output_columns,
generator_primary_output_column,
)
pub from window_builders import (
WindowBound,
WindowBoundKind,
WindowFrame,
WindowFrameKind,
WindowFunctionApplication,
WindowFunctionCall,
WindowFunctionKind,
WindowNullTreatment,
WindowProjection,
WindowSpec,
window_output_columns,
window_projection,
)
pub from projection_builders import (
BoolLiteralExpr,
ColumnExpr,
ColumnExprKind,
ColumnRefExpr,
FloatLiteralExpr,
IntLiteralExpr,
ProjectionAssignment,
ScalarFunctionApplicationExpr,
ScalarFunctionOption,
StringLiteralExpr,
column_expr_argument_count,
column_expr_function_name,
column_expr_function_ref,
column_expr_kind,
column_expr_name,
column_expr_option_value,
select_project_output_columns,
with_column_assignment,
)
pub from functions.registry import function_registry
pub from functions import (
function_registry_canonical_names,
function_registry_entries,
function_registry_entry,
function_registry_entry_by_name,
function_registry_entry_count,
function_registry_function_refs,
registered_substrait_mapped_function_refs,
)
pub from functions.references.col import col
pub from functions.literals.always_false import always_false
pub from functions.literals.always_true import always_true
pub from functions.literals.bool_expr import bool_expr
pub from functions.literals.bool_lit import bool_lit
pub from functions.literals.float_expr import float_expr
pub from functions.literals.int_expr import int_expr
pub from functions.literals.int_lit import int_lit
pub from functions.literals.lit import lit
pub from functions.literals.str_expr import str_expr
pub from functions.literals.str_lit import str_lit
pub from functions.aggregates.count import count, count_expr
pub from functions.aggregates.count_distinct import count_distinct
pub from functions.aggregates.count_if import count_if
pub from functions.aggregates.sum import sum
pub from functions.aggregates.avg import avg
pub from functions.aggregates.min import min
pub from functions.aggregates.max import max
pub from functions.approximate.approx_count_distinct import approx_count_distinct
pub from functions.approximate.approx_percentile import approx_percentile
pub from functions.sketches.hll_deserialize import hll_deserialize
pub from functions.sketches.hll_estimate import hll_estimate
pub from functions.sketches.hll_merge import hll_merge
pub from functions.sketches.hll_serialize import hll_serialize
pub from functions.sketches.hll_sketch import hll_sketch
pub from functions.variants.is_array import is_array
pub from functions.variants.is_boolean import is_boolean
pub from functions.variants.is_float import is_float
pub from functions.variants.is_integer import is_integer
pub from functions.variants.is_null_value import is_null_value
pub from functions.variants.is_object import is_object
pub from functions.variants.is_string import is_string
pub from functions.variants.is_timestamp import is_timestamp
pub from functions.variants.parse_variant_json import parse_variant_json
pub from functions.variants.try_parse_variant_json import try_parse_variant_json
pub from functions.variants.typeof import typeof
pub from functions.variants.variant_get import variant_get
pub from functions.math.abs import abs
pub from functions.math.acos import acos
pub from functions.math.asin import asin
pub from functions.math.atan import atan
pub from functions.math.atan2 import atan2
pub from functions.math.ceil import ceil
pub from functions.math.cos import cos
pub from functions.math.degrees import degrees
pub from functions.math.exp import exp
pub from functions.math.floor import floor
pub from functions.math.greatest import greatest
pub from functions.math.least import least
pub from functions.math.ln import ln
pub from functions.math.log import log
pub from functions.math.log10 import log10
pub from functions.math.power import power
pub from functions.math.radians import radians
pub from functions.math.round import round
pub from functions.math.sign import sign
pub from functions.math.sin import sin
pub from functions.math.sqrt import sqrt
pub from functions.math.tan import tan
pub from functions.strings.char_length import char_length
pub from functions.strings.concat import concat
pub from functions.strings.concat_ws import concat_ws
pub from functions.strings.lcase import lcase
pub from functions.strings.left import left
pub from functions.strings.lower import lower
pub from functions.strings.lpad import lpad
pub from functions.strings.ltrim import ltrim
pub from functions.strings.octet_length import octet_length
pub from functions.strings.overlay import overlay
pub from functions.strings.position import position
pub from functions.strings.repeat import repeat
pub from functions.strings.replace import replace
pub from functions.strings.right import right
pub from functions.strings.rpad import rpad
pub from functions.strings.rtrim import rtrim
pub from functions.strings.split_part import split_part
pub from functions.strings.substr import substr
pub from functions.strings.substring import substring
pub from functions.strings.translate import translate
pub from functions.strings.trim import trim
pub from functions.strings.ucase import ucase
pub from functions.strings.upper import upper
pub from functions.encoding.base64 import base64
pub from functions.encoding.decode import decode
pub from functions.encoding.encode import encode
pub from functions.encoding.hex import hex
pub from functions.encoding.unbase64 import unbase64
pub from functions.encoding.unhex import unhex
pub from functions.regex.regexp_extract import regexp_extract
pub from functions.regex.regexp_like import regexp_like
pub from functions.regex.regexp_replace import regexp_replace
pub from functions.datetime.current_date import current_date
pub from functions.datetime.current_time import current_time
pub from functions.datetime.current_timestamp import current_timestamp
pub from functions.datetime.date_add import date_add
pub from functions.datetime.date_diff import date_diff
pub from functions.datetime.date_part import date_part
pub from functions.datetime.date_sub import date_sub
pub from functions.datetime.date_trunc import date_trunc
pub from functions.datetime.dateadd import dateadd
pub from functions.datetime.datediff import datediff
pub from functions.datetime.extract import extract
pub from functions.datetime.from_unixtime import from_unixtime
pub from functions.datetime.last_day import last_day
pub from functions.datetime.make_date import make_date
pub from functions.datetime.make_time import make_time
pub from functions.datetime.make_timestamp import make_timestamp
pub from functions.datetime.time_trunc import time_trunc
pub from functions.datetime.timestamp_diff import timestamp_diff
pub from functions.datetime.to_date import to_date
pub from functions.datetime.to_time import to_time
pub from functions.datetime.to_timestamp import to_timestamp
pub from functions.datetime.unix_micros import unix_micros
pub from functions.datetime.unix_millis import unix_millis
pub from functions.datetime.unix_seconds import unix_seconds
pub from functions.nested.array import array
pub from functions.nested.array_contains import array_contains
pub from functions.nested.array_distinct import array_distinct
pub from functions.nested.array_except import array_except
pub from functions.nested.array_flatten import array_flatten
pub from functions.nested.array_intersect import array_intersect
pub from functions.nested.array_join import array_join
pub from functions.nested.array_position import array_position
pub from functions.nested.array_range import array_range
pub from functions.nested.array_reverse import array_reverse
pub from functions.nested.array_slice import array_slice
pub from functions.nested.array_sort import array_sort
pub from functions.nested.array_union import array_union
pub from functions.nested.arrays_overlap import arrays_overlap
pub from functions.nested.cardinality import cardinality
pub from functions.nested.element_at import element_at
pub from functions.nested.map_contains_key import map_contains_key
pub from functions.nested.map_entries import map_entries
pub from functions.nested.map_extract import map_extract
pub from functions.nested.map_from_arrays import map_from_arrays
pub from functions.nested.map_keys import map_keys
pub from functions.nested.map_values import map_values
pub from functions.nested.named_struct import named_struct
pub from functions.generators.explode import explode
pub from functions.generators.explode_outer import explode_outer
pub from functions.generators.flatten import flatten
pub from functions.generators.inline import inline
pub from functions.generators.inline_outer import inline_outer
pub from functions.generators.posexplode import posexplode
pub from functions.generators.posexplode_outer import posexplode_outer
pub from functions.generators.stack import stack
pub from functions.windows.window import window
pub from functions.windows.row_number import row_number
pub from functions.windows.rank import rank
pub from functions.windows.dense_rank import dense_rank
pub from functions.windows.percent_rank import percent_rank
pub from functions.windows.cume_dist import cume_dist
pub from functions.windows.ntile import ntile
pub from functions.windows.lag import lag
pub from functions.windows.lead import lead
pub from functions.windows.first_value import first_value
pub from functions.windows.last_value import last_value
pub from functions.windows.nth_value import nth_value
pub from functions.windows.bounds import current_row, following, preceding, unbounded_following, unbounded_preceding
pub from functions.hashing.md5 import md5
pub from functions.hashing.crc32 import crc32
pub from functions.hashing.sha1 import sha1
pub from functions.hashing.sha2 import sha2
pub from functions.hashing.sha224 import sha224
pub from functions.hashing.sha256 import sha256
pub from functions.hashing.sha384 import sha384
pub from functions.hashing.sha512 import sha512
pub from functions.hashing.xxhash64 import xxhash64
pub from functions.urls.parse_url import parse_url
pub from functions.urls.try_url_decode import try_url_decode
pub from functions.urls.url_decode import url_decode
pub from functions.urls.url_encode import url_encode
pub from functions.json.check_json import check_json
pub from functions.json.from_json import from_json
pub from functions.json.get_json_object import get_json_object
pub from functions.json.json_array_length import json_array_length
pub from functions.json.json_extract_path_text import json_extract_path_text
pub from functions.json.json_object_keys import json_object_keys
pub from functions.json.parse_json import parse_json
pub from functions.json.schema_of_json import schema_of_json
pub from functions.json.to_json import to_json
pub from functions.json.try_from_json import try_from_json
pub from functions.csv.from_csv import from_csv
pub from functions.csv.schema_of_csv import schema_of_csv
pub from functions.csv.to_csv import to_csv
pub from functions.operators.add import add
pub from functions.operators.and_ import and_
pub from functions.operators.div import div
pub from functions.operators.eq import eq
pub from functions.operators.equal_null import equal_null
pub from functions.operators.gt import gt
pub from functions.operators.gte import gte
pub from functions.operators.lt import lt
pub from functions.operators.lte import lte
pub from functions.operators.modulo import modulo
pub from functions.operators.mul import mul
pub from functions.operators.ne import ne
pub from functions.operators.neg import neg
pub from functions.operators.not_ import not_
pub from functions.operators.or_ import or_
pub from functions.operators.sub import sub
pub from functions.casts.cast import cast
pub from functions.casts.try_cast import safe_cast, try_cast
pub from functions.predicates.between import between
pub from functions.predicates.in_ import in_
pub from functions.predicates.is_nan import is_nan
pub from functions.predicates.is_not_nan import is_not_nan
pub from functions.predicates.is_not_null import is_not_null
pub from functions.predicates.is_null import is_null
pub from functions.conditionals.case_when import case_when
pub from functions.conditionals.coalesce import coalesce
pub from functions.conditionals.nullif import nullif
pub from functions.ordering.asc import asc
pub from functions.ordering.asc_nulls_first import asc_nulls_first
pub from functions.ordering.asc_nulls_last import asc_nulls_last
pub from functions.ordering.desc import desc
pub from functions.ordering.desc_nulls_first import desc_nulls_first
pub from functions.ordering.desc_nulls_last import desc_nulls_last
pub from functions.formatting.display import display
pub from function_registry import (
AggregateModifierPolicy,
APPROXIMATE_AGGREGATE_MODIFIERS,
APPROX_COUNT_DISTINCT_POLICY,
APPROX_PERCENTILE_POLICY,
CORE_AGGREGATE_MODIFIERS,
CORE_FUNCTION_NAMESPACE,
FunctionAliasPolicy,
FunctionChange,
FunctionClass,
FunctionDeprecation,
FunctionDeterminism,
FunctionErrorBehavior,
FunctionLifecycle,
FunctionNullBehavior,
FunctionApproximationPolicy,
FunctionPolicyCategory,
FunctionRegistry,
FunctionRegistryEntry,
FunctionSketchPolicy,
FunctionSpec,
FunctionVariantPolicy,
FunctionVersion,
HLL_ESTIMATE_APPROXIMATION_POLICY,
HLL_SKETCH_APPROXIMATION_POLICY,
HLL_SKETCH_CONSTRUCT_POLICY,
HLL_SKETCH_DESERIALIZE_POLICY,
HLL_SKETCH_ESTIMATE_POLICY,
HLL_SKETCH_MERGE_POLICY,
HLL_SKETCH_SERIALIZE_POLICY,
NO_AGGREGATE_MODIFIERS,
NO_APPROXIMATION,
NO_SKETCH_POLICY,
NO_VARIANT_POLICY,
RejectedFunctionPolicy,
SubstraitMapping,
SubstraitMappingKind,
VARIANT_GET_POLICY,
VARIANT_IS_ARRAY_POLICY,
VARIANT_IS_BOOLEAN_POLICY,
VARIANT_IS_FLOAT_POLICY,
VARIANT_IS_INTEGER_POLICY,
VARIANT_IS_NULL_VALUE_POLICY,
VARIANT_IS_OBJECT_POLICY,
VARIANT_IS_STRING_POLICY,
VARIANT_IS_TIMESTAMP_POLICY,
VARIANT_PARSE_JSON_POLICY,
VARIANT_TRY_PARSE_JSON_POLICY,
VARIANT_TYPEOF_POLICY,
approx_count_distinct_spec,
approx_percentile_spec,
compatibility_alias_spec,
deterministic_spec,
engine_specific_spec,
extension_only_spec,
extension_mapping,
function_ref_for,
hll_merge_spec,
hll_scalar_spec,
hll_sketch_spec,
namespaced_function_ref,
rejected_function_policy,
relation_extension_mapping,
rewrite_mapping,
sort_field_mapping,
structural_mapping,
variant_scalar_spec,
v0_1,
v0_2,
v0_3,
)
pub from backends import (
BackendKind,
BackendOption,
BackendSelection,
DataFusion,
TableSource,
arrow_source,
csv_source,
datafusion_backend_from_selection,
datafusion_backend_selection,
parquet_source,
)
pub from metadata import inql_version
pub from session.types import Session, SessionBuilder
pub from session.errors import SessionError, SessionErrorKind, format_session_diagnostic, report_session_error
pub from substrait.errors import SubstraitLoweringError, SubstraitLoweringErrorKind
pub from substrait.schema import (
RowColumnSpec,
RowShapeSpec,
SubstraitPrimitiveKind,
row_shape_to_named_struct,
row_shape_field_names,
row_shape_to_substrait_struct_type,
substrait_row_type_encoded_len,
)
pub from substrait.relations import (
SubstraitJoinKind,
SubstraitSetOperation,
aggregate_rel,
cross_rel,
extension_single_rel,
fetch_rel,
filter_rel,
generator_rel,
generator_rel_of_columns,
join_rel,
join_rel_of_columns,
join_rel_of_kind,
project_rel,
read_local_files_rel,
read_named_table_rel,
read_virtual_table_rel,
reference_rel,
set_rel,
set_rel_of_kind,
select_project_rel_of_columns,
sort_rel,
sort_rel_of_columns,
window_rel,
window_rel_of_columns,
)
pub from substrait.plans import (
empty_plan,
plan_encoded_len,
plan_from_local_files,
plan_from_named_table,
plan_from_root_relation,
plan_from_virtual_table,
substrait_producer_name,
substrait_release_tag,
)
pub from substrait.inspect import (
aggregate_measure_filter_flags,
aggregate_measure_function_names,
aggregate_measure_invocation_names,
aggregate_measure_sort_counts,
plan_extension_urn_anchor_at,
plan_extension_urn_count,
plan_contains_relation_kind,
plan_has_extension_urn,
read_kind_name,
reference_subtree_ordinal,
relation_kind_name,
rel_contains_kind,
root_rel,
set_operation_name,
window_function_names,
window_partition_count,
window_sort_count,
)
pub from substrait.function_extensions import (
DENSE_RANK_FUNCTION_ANCHOR,
EXPLODE_EXTENSION_URI,
EXPLODE_OUTER_EXTENSION_URI,
FLATTEN_EXTENSION_URI,
FUNCTION_EXTENSION_URI,
INLINE_EXTENSION_URI,
INLINE_OUTER_EXTENSION_URI,
POSEXPLODE_EXTENSION_URI,
POSEXPLODE_OUTER_EXTENSION_URI,
RANK_FUNCTION_ANCHOR,
ROW_NUMBER_FUNCTION_ANCHOR,
registered_substrait_extension_uris,
STACK_EXTENSION_URI,
)
pub from substrait.conformance_catalog import (
ConformanceCapabilityTags,
ConformancePortability,
ConformanceProfileTag,
ConformanceRel,
ConformanceReferences,
ConformanceStatus,
CoreScenarioKey,
SubstraitConformanceScenario,
core_scenario,
core_scenarios,
)
pub from substrait.conformance_validate import (
relation_kind_name_from_conformance,
scenario_has_required_rel_kinds,
scenario_matches_key_invariants,
scenario_matches_root_shape,
)