@milaboratories/pl-model-common 1.41.2 → 1.43.0

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.
Files changed (33) hide show
  1. package/dist/drivers/index.d.ts +4 -4
  2. package/dist/drivers/ls.d.ts +1 -1
  3. package/dist/drivers/pframe/driver.d.ts +2 -2
  4. package/dist/drivers/pframe/index.d.ts +4 -4
  5. package/dist/drivers/pframe/pframe.d.ts +1 -1
  6. package/dist/drivers/pframe/query/index.d.ts +2 -2
  7. package/dist/drivers/pframe/query/query_common.d.ts +229 -22
  8. package/dist/drivers/pframe/query/query_common.d.ts.map +1 -1
  9. package/dist/drivers/pframe/query/query_data.d.ts +9 -7
  10. package/dist/drivers/pframe/query/query_data.d.ts.map +1 -1
  11. package/dist/drivers/pframe/query/query_spec.d.ts +9 -7
  12. package/dist/drivers/pframe/query/query_spec.d.ts.map +1 -1
  13. package/dist/drivers/pframe/query/utils.cjs +12 -3
  14. package/dist/drivers/pframe/query/utils.cjs.map +1 -1
  15. package/dist/drivers/pframe/query/utils.d.ts.map +1 -1
  16. package/dist/drivers/pframe/query/utils.js +12 -3
  17. package/dist/drivers/pframe/query/utils.js.map +1 -1
  18. package/dist/drivers/pframe/spec_driver.d.ts +11 -1
  19. package/dist/drivers/pframe/spec_driver.d.ts.map +1 -1
  20. package/dist/drivers/pframe/table_calculate.d.ts +1 -1
  21. package/dist/index.d.ts +5 -5
  22. package/dist/services/service_declarations.cjs +4 -2
  23. package/dist/services/service_declarations.cjs.map +1 -1
  24. package/dist/services/service_declarations.js +4 -2
  25. package/dist/services/service_declarations.js.map +1 -1
  26. package/package.json +4 -4
  27. package/src/drivers/pframe/query/query_common.ts +256 -27
  28. package/src/drivers/pframe/query/query_data.ts +33 -12
  29. package/src/drivers/pframe/query/query_spec.ts +29 -11
  30. package/src/drivers/pframe/query/utils.test.ts +24 -8
  31. package/src/drivers/pframe/query/utils.ts +21 -3
  32. package/src/drivers/pframe/spec_driver.ts +12 -1
  33. package/src/services/service_declarations.ts +2 -0
@@ -5,9 +5,11 @@ import { Annotation, AnnotationDataStatus, AnnotationJson, AxesId, AxesSpec, Axi
5
5
  import { AnchoredIdDeriver, ResolveAnchorsOptions, resolveAnchors } from "./pframe/spec/anchored.js";
6
6
  import { NativePObjectId, deriveNativeId } from "./pframe/spec/native_id.js";
7
7
  import { PTableColumnId, PTableColumnIdAxis, PTableColumnIdColumn, PTableColumnSpec, PTableColumnSpecAxis, PTableColumnSpecColumn, getPTableColumnId } from "./pframe/table_common.js";
8
+ import { PTableDownloadCompression, PTableDownloadFormat, PTableNA, PTableShape, PTableValue, PTableValueAxis, PTableValueBranded, PTableValueData, PTableValueDataBranded, PTableValueDouble, PTableValueFloat, PTableValueInt, PTableValueLong, PTableValueString, PTableVector, PTableVectorTyped, PVectorData, PVectorDataBytes, PVectorDataDouble, PVectorDataFloat, PVectorDataInt, PVectorDataLong, PVectorDataString, PVectorDataTyped, TableRange, ValueTypeSupported, WritePTableToFsOptions, WritePTableToFsResult, isPTableNA, isValueNA, pTableValue, pTableValueBranded } from "./pframe/data_types.js";
8
9
  import { BinaryChunk, BinaryPartitionedDataInfo, BinaryPartitionedDataInfoEntries, DataInfo, DataInfoEntries, JsonDataInfo, JsonDataInfoEntries, JsonPartitionedDataInfo, JsonPartitionedDataInfoEntries, PColumnDataEntry, PColumnKey, PColumnValue, PColumnValues, PColumnValuesEntry, ParquetChunk, ParquetChunkMapping, ParquetChunkMappingAxis, ParquetChunkMappingColumn, ParquetChunkMetadata, ParquetChunkStats, ParquetPartitionedDataInfo, ParquetPartitionedDataInfoEntries, PartitionedDataInfoEntries, dataInfoToEntries, entriesToDataInfo, isDataInfo, isDataInfoEntries, isPartitionedDataInfoEntries, mapDataInfo, mapDataInfoEntries, visitDataInfo } from "./pframe/data_info.js";
9
- import { SpecExprAxisRef, SpecExprColumnRef, SpecQuery, SpecQueryBooleanExpression, SpecQueryColumn, SpecQueryExpression, SpecQueryFilter, SpecQueryInlineColumn, SpecQueryJoinEntry, SpecQueryLinkerJoin, SpecQueryLinkerJoinLinker, SpecQueryOuterJoin, SpecQuerySliceAxes, SpecQuerySort, SpecQuerySparseToDenseColumn, SpecQuerySymmetricJoin } from "./pframe/query/query_spec.js";
10
- import { DataExprAxisRef, DataExprColumnRef, DataQuery, DataQueryBooleanExpression, DataQueryColumn, DataQueryExpression, DataQueryFilter, DataQueryInlineColumn, DataQueryJoinEntry, DataQueryLinkerJoin, DataQueryLinkerJoinLinker, DataQueryOuterJoin, DataQuerySliceAxes, DataQuerySort, DataQuerySparseToDenseColumn, DataQuerySymmetricJoin } from "./pframe/query/query_data.js";
10
+ import { SpecExprAxisRef, SpecExprColumnRef, SpecQuery, SpecQueryBooleanExpression, SpecQueryColumn, SpecQueryExpression, SpecQueryFilter, SpecQueryInlineColumn, SpecQueryJoinEntry, SpecQueryLinkerJoin, SpecQueryLinkerJoinLinker, SpecQueryOuterJoin, SpecQuerySliceAxes, SpecQuerySort, SpecQuerySparseToDenseColumn, SpecQuerySymmetricJoin, SpecQueryTransformColumns } from "./pframe/query/query_spec.js";
11
+ import { ArtificialColumnJoinEntry, CalculateTableDataRequest, CalculateTableDataResponse, ColumnJoinEntry, ConstantAxisFilter, FullJoin, FullPTableColumnData, InlineColumnJoinEntry, InnerJoin, JoinEntry, OuterJoin, PTableDef, PTableDefV2, PTableRecordFilter, PTableRecordSingleValueFilterV2, PTableSorting, SingleValueAndPredicateV2, SingleValueEqualPredicate, SingleValueGreaterOrEqualPredicate, SingleValueGreaterPredicate, SingleValueIEqualPredicate, SingleValueInSetPredicate, SingleValueIsNAPredicate, SingleValueLessOrEqualPredicate, SingleValueLessPredicate, SingleValueMatchesPredicate, SingleValueNotPredicateV2, SingleValueOrPredicateV2, SingleValuePredicateV2, SingleValueStringContainsFuzzyPredicate, SingleValueStringContainsPredicate, SingleValueStringIContainsFuzzyPredicate, SingleValueStringIContainsPredicate, SlicedColumnJoinEntry, mapJoinEntry, mapPTableDef, mapPTableDefV2, sortJoinEntry, sortPTableDef } from "./pframe/table_calculate.js";
12
+ import { DataExprAxisRef, DataExprColumnRef, DataQuery, DataQueryBooleanExpression, DataQueryColumn, DataQueryExpression, DataQueryFilter, DataQueryInlineColumn, DataQueryJoinEntry, DataQueryLinkerJoin, DataQueryLinkerJoinLinker, DataQueryOuterJoin, DataQuerySliceAxes, DataQuerySort, DataQuerySparseToDenseColumn, DataQuerySymmetricJoin, DataQueryTransformColumns } from "./pframe/query/query_data.js";
11
13
  import { collectSpecQueryColumns, isBooleanExpression, mapSpecQueryColumns, sortSpecQuery, traverseQuerySpec } from "./pframe/query/utils.js";
12
14
  import { BuildQueryInput, ColumnAxesWithQualifications, DeleteColumnRequest, DeleteColumnResponse, DiscoverColumnsConstraints, DiscoverColumnsFilterStep, DiscoverColumnsLinkerStep, DiscoverColumnsMappingVariant, DiscoverColumnsRequest, DiscoverColumnsResponse, DiscoverColumnsResponseHit, DiscoverColumnsResponseQualifications, DiscoverColumnsStepInfo, EvaluateQueryResponse, MatcherMap, MultiAxisSelector, MultiColumnSelector, PFrameSpecDriver, SpecFrameHandle, StringMatcher } from "./pframe/spec_driver.js";
13
15
  import { AAxisSelector, ADomain, AnchorAxisIdOrRefBasic, AnchorAxisRef, AnchorAxisRefByIdx, AnchorAxisRefByMatcher, AnchorAxisRefByName, AnchorDomainRef, AnchoredColumnMatchStrategy, AnchoredPColumnId, AnchoredPColumnSelector, AxisQualification, LegacyAxisSelector, PColumnSelector, SingleAxisSelector, isAnchoredPColumnId, legacyColumnSelectorsToPredicate, matchAxis, matchMultiColumnSelector, matchPColumn, multiColumnSelectorsToPredicate } from "./pframe/spec/selectors.js";
@@ -18,10 +20,8 @@ import { ImportProgress, ImportStatus } from "./upload.js";
18
20
  import { AnyLogHandle, LiveLogHandle, LogsDriver, ProgressLogWithInfo, ReadyLogHandle, StreamingApiResponse, StreamingApiResponseHandleOutdated, StreamingApiResponseOk, isAnyLogHandle, isLiveLog } from "./log.js";
19
21
  import { ColumnFilter } from "./pframe/column_filter.js";
20
22
  import { FilterSpec, FilterSpecLeaf, FilterSpecNode, FilterSpecOfType, FilterSpecType, InferFilterSpecCommonLeaf, InferFilterSpecCommonNode, InferFilterSpecLeaf, InferFilterSpecLeafColumn, RootFilterSpec } from "./pframe/filter_spec.js";
21
- import { PTableDownloadCompression, PTableDownloadFormat, PTableNA, PTableShape, PTableValue, PTableValueAxis, PTableValueBranded, PTableValueData, PTableValueDataBranded, PTableValueDouble, PTableValueFloat, PTableValueInt, PTableValueLong, PTableValueString, PTableVector, PTableVectorTyped, PVectorData, PVectorDataBytes, PVectorDataDouble, PVectorDataFloat, PVectorDataInt, PVectorDataLong, PVectorDataString, PVectorDataTyped, TableRange, ValueTypeSupported, WritePTableToFsOptions, WritePTableToFsResult, isPTableNA, isValueNA, pTableValue, pTableValueBranded } from "./pframe/data_types.js";
22
23
  import { FindColumnsRequest, FindColumnsResponse } from "./pframe/find_columns.js";
23
24
  import { PTable } from "./pframe/table.js";
24
- import { ArtificialColumnJoinEntry, CalculateTableDataRequest, CalculateTableDataResponse, ColumnJoinEntry, ConstantAxisFilter, FullJoin, FullPTableColumnData, InlineColumnJoinEntry, InnerJoin, JoinEntry, OuterJoin, PTableDef, PTableDefV2, PTableRecordFilter, PTableRecordSingleValueFilterV2, PTableSorting, SingleValueAndPredicateV2, SingleValueEqualPredicate, SingleValueGreaterOrEqualPredicate, SingleValueGreaterPredicate, SingleValueIEqualPredicate, SingleValueInSetPredicate, SingleValueIsNAPredicate, SingleValueLessOrEqualPredicate, SingleValueLessPredicate, SingleValueMatchesPredicate, SingleValueNotPredicateV2, SingleValueOrPredicateV2, SingleValuePredicateV2, SingleValueStringContainsFuzzyPredicate, SingleValueStringContainsPredicate, SingleValueStringIContainsFuzzyPredicate, SingleValueStringIContainsPredicate, SlicedColumnJoinEntry, mapJoinEntry, mapPTableDef, mapPTableDefV2, sortJoinEntry, sortPTableDef } from "./pframe/table_calculate.js";
25
25
  import { UniqueValuesRequest, UniqueValuesResponse } from "./pframe/unique_values.js";
26
26
  import { CompositeLinkerMap, LinkerMap } from "./pframe/linker_columns.js";
27
27
  import { FileRange, ImportFileHandle, ImportFileHandleIndex, ImportFileHandleUpload, ListFilesResult, LocalImportFileHandle, LsDriver, LsEntry, OpenDialogFilter, OpenDialogOps, OpenMultipleFilesResponse, OpenSingleFileResponse, StorageEntry, StorageHandle, StorageHandleLocal, StorageHandleRemote, getFileNameFromHandle, getFilePathFromHandle, isImportFileHandleIndex, isImportFileHandleUpload } from "./ls.js";
@@ -1,6 +1,6 @@
1
1
  import { Branded } from "../branding.js";
2
- import { FileLike } from "./interfaces.js";
3
2
  import { TableRange } from "./pframe/data_types.js";
3
+ import { FileLike } from "./interfaces.js";
4
4
  //#region src/drivers/ls.d.ts
5
5
  type ImportFileHandleUpload = `upload://upload/${string}`;
6
6
  type ImportFileHandleIndex = `index://index/${string}`;
@@ -1,10 +1,10 @@
1
1
  import { Branded } from "../../branding.js";
2
2
  import { PColumn, PColumnIdAndSpec, PColumnSpec } from "./spec/spec.js";
3
3
  import { PTableColumnSpec } from "./table_common.js";
4
- import { DataInfo, PColumnValues } from "./data_info.js";
5
4
  import { PTableShape, PTableVector, TableRange, WritePTableToFsOptions, WritePTableToFsResult } from "./data_types.js";
6
- import { FindColumnsRequest, FindColumnsResponse } from "./find_columns.js";
5
+ import { DataInfo, PColumnValues } from "./data_info.js";
7
6
  import { CalculateTableDataRequest, CalculateTableDataResponse, PTableDef, PTableDefV2 } from "./table_calculate.js";
7
+ import { FindColumnsRequest, FindColumnsResponse } from "./find_columns.js";
8
8
  import { UniqueValuesRequest, UniqueValuesResponse } from "./unique_values.js";
9
9
  import { PObjectId } from "../../pool/spec.js";
10
10
  import { PFrameDef } from "./pframe.js";
@@ -5,18 +5,18 @@ import { Annotation, AnnotationDataStatus, AnnotationJson, AxesId, AxesSpec, Axi
5
5
  import { AnchoredIdDeriver, ResolveAnchorsOptions, resolveAnchors } from "./spec/anchored.js";
6
6
  import { NativePObjectId, deriveNativeId } from "./spec/native_id.js";
7
7
  import { PTableColumnId, PTableColumnIdAxis, PTableColumnIdColumn, PTableColumnSpec, PTableColumnSpecAxis, PTableColumnSpecColumn, getPTableColumnId } from "./table_common.js";
8
+ import { PTableDownloadCompression, PTableDownloadFormat, PTableNA, PTableShape, PTableValue, PTableValueAxis, PTableValueBranded, PTableValueData, PTableValueDataBranded, PTableValueDouble, PTableValueFloat, PTableValueInt, PTableValueLong, PTableValueString, PTableVector, PTableVectorTyped, PVectorData, PVectorDataBytes, PVectorDataDouble, PVectorDataFloat, PVectorDataInt, PVectorDataLong, PVectorDataString, PVectorDataTyped, TableRange, ValueTypeSupported, WritePTableToFsOptions, WritePTableToFsResult, isPTableNA, isValueNA, pTableValue, pTableValueBranded } from "./data_types.js";
8
9
  import { BinaryChunk, BinaryPartitionedDataInfo, BinaryPartitionedDataInfoEntries, DataInfo, DataInfoEntries, JsonDataInfo, JsonDataInfoEntries, JsonPartitionedDataInfo, JsonPartitionedDataInfoEntries, PColumnDataEntry, PColumnKey, PColumnValue, PColumnValues, PColumnValuesEntry, ParquetChunk, ParquetChunkMapping, ParquetChunkMappingAxis, ParquetChunkMappingColumn, ParquetChunkMetadata, ParquetChunkStats, ParquetPartitionedDataInfo, ParquetPartitionedDataInfoEntries, PartitionedDataInfoEntries, dataInfoToEntries, entriesToDataInfo, isDataInfo, isDataInfoEntries, isPartitionedDataInfoEntries, mapDataInfo, mapDataInfoEntries, visitDataInfo } from "./data_info.js";
9
- import { SpecExprAxisRef, SpecExprColumnRef, SpecQuery, SpecQueryBooleanExpression, SpecQueryColumn, SpecQueryExpression, SpecQueryFilter, SpecQueryInlineColumn, SpecQueryJoinEntry, SpecQueryLinkerJoin, SpecQueryLinkerJoinLinker, SpecQueryOuterJoin, SpecQuerySliceAxes, SpecQuerySort, SpecQuerySparseToDenseColumn, SpecQuerySymmetricJoin } from "./query/query_spec.js";
10
- import { DataExprAxisRef, DataExprColumnRef, DataQuery, DataQueryBooleanExpression, DataQueryColumn, DataQueryExpression, DataQueryFilter, DataQueryInlineColumn, DataQueryJoinEntry, DataQueryLinkerJoin, DataQueryLinkerJoinLinker, DataQueryOuterJoin, DataQuerySliceAxes, DataQuerySort, DataQuerySparseToDenseColumn, DataQuerySymmetricJoin } from "./query/query_data.js";
10
+ import { SpecExprAxisRef, SpecExprColumnRef, SpecQuery, SpecQueryBooleanExpression, SpecQueryColumn, SpecQueryExpression, SpecQueryFilter, SpecQueryInlineColumn, SpecQueryJoinEntry, SpecQueryLinkerJoin, SpecQueryLinkerJoinLinker, SpecQueryOuterJoin, SpecQuerySliceAxes, SpecQuerySort, SpecQuerySparseToDenseColumn, SpecQuerySymmetricJoin, SpecQueryTransformColumns } from "./query/query_spec.js";
11
+ import { ArtificialColumnJoinEntry, CalculateTableDataRequest, CalculateTableDataResponse, ColumnJoinEntry, ConstantAxisFilter, FullJoin, FullPTableColumnData, InlineColumnJoinEntry, InnerJoin, JoinEntry, OuterJoin, PTableDef, PTableDefV2, PTableRecordFilter, PTableRecordSingleValueFilterV2, PTableSorting, SingleValueAndPredicateV2, SingleValueEqualPredicate, SingleValueGreaterOrEqualPredicate, SingleValueGreaterPredicate, SingleValueIEqualPredicate, SingleValueInSetPredicate, SingleValueIsNAPredicate, SingleValueLessOrEqualPredicate, SingleValueLessPredicate, SingleValueMatchesPredicate, SingleValueNotPredicateV2, SingleValueOrPredicateV2, SingleValuePredicateV2, SingleValueStringContainsFuzzyPredicate, SingleValueStringContainsPredicate, SingleValueStringIContainsFuzzyPredicate, SingleValueStringIContainsPredicate, SlicedColumnJoinEntry, mapJoinEntry, mapPTableDef, mapPTableDefV2, sortJoinEntry, sortPTableDef } from "./table_calculate.js";
12
+ import { DataExprAxisRef, DataExprColumnRef, DataQuery, DataQueryBooleanExpression, DataQueryColumn, DataQueryExpression, DataQueryFilter, DataQueryInlineColumn, DataQueryJoinEntry, DataQueryLinkerJoin, DataQueryLinkerJoinLinker, DataQueryOuterJoin, DataQuerySliceAxes, DataQuerySort, DataQuerySparseToDenseColumn, DataQuerySymmetricJoin, DataQueryTransformColumns } from "./query/query_data.js";
11
13
  import { collectSpecQueryColumns, isBooleanExpression, mapSpecQueryColumns, sortSpecQuery, traverseQuerySpec } from "./query/utils.js";
12
14
  import { BuildQueryInput, ColumnAxesWithQualifications, DeleteColumnRequest, DeleteColumnResponse, DiscoverColumnsConstraints, DiscoverColumnsFilterStep, DiscoverColumnsLinkerStep, DiscoverColumnsMappingVariant, DiscoverColumnsRequest, DiscoverColumnsResponse, DiscoverColumnsResponseHit, DiscoverColumnsResponseQualifications, DiscoverColumnsStepInfo, EvaluateQueryResponse, MatcherMap, MultiAxisSelector, MultiColumnSelector, PFrameSpecDriver, SpecFrameHandle, StringMatcher } from "./spec_driver.js";
13
15
  import { AAxisSelector, ADomain, AnchorAxisIdOrRefBasic, AnchorAxisRef, AnchorAxisRefByIdx, AnchorAxisRefByMatcher, AnchorAxisRefByName, AnchorDomainRef, AnchoredColumnMatchStrategy, AnchoredPColumnId, AnchoredPColumnSelector, AxisQualification, LegacyAxisSelector, PColumnSelector, SingleAxisSelector, isAnchoredPColumnId, legacyColumnSelectorsToPredicate, matchAxis, matchMultiColumnSelector, matchPColumn, multiColumnSelectorsToPredicate } from "./spec/selectors.js";
14
16
  import { ColumnFilter } from "./column_filter.js";
15
17
  import { FilterSpec, FilterSpecLeaf, FilterSpecNode, FilterSpecOfType, FilterSpecType, InferFilterSpecCommonLeaf, InferFilterSpecCommonNode, InferFilterSpecLeaf, InferFilterSpecLeafColumn, RootFilterSpec } from "./filter_spec.js";
16
- import { PTableDownloadCompression, PTableDownloadFormat, PTableNA, PTableShape, PTableValue, PTableValueAxis, PTableValueBranded, PTableValueData, PTableValueDataBranded, PTableValueDouble, PTableValueFloat, PTableValueInt, PTableValueLong, PTableValueString, PTableVector, PTableVectorTyped, PVectorData, PVectorDataBytes, PVectorDataDouble, PVectorDataFloat, PVectorDataInt, PVectorDataLong, PVectorDataString, PVectorDataTyped, TableRange, ValueTypeSupported, WritePTableToFsOptions, WritePTableToFsResult, isPTableNA, isValueNA, pTableValue, pTableValueBranded } from "./data_types.js";
17
18
  import { FindColumnsRequest, FindColumnsResponse } from "./find_columns.js";
18
19
  import { PTable } from "./table.js";
19
- import { ArtificialColumnJoinEntry, CalculateTableDataRequest, CalculateTableDataResponse, ColumnJoinEntry, ConstantAxisFilter, FullJoin, FullPTableColumnData, InlineColumnJoinEntry, InnerJoin, JoinEntry, OuterJoin, PTableDef, PTableDefV2, PTableRecordFilter, PTableRecordSingleValueFilterV2, PTableSorting, SingleValueAndPredicateV2, SingleValueEqualPredicate, SingleValueGreaterOrEqualPredicate, SingleValueGreaterPredicate, SingleValueIEqualPredicate, SingleValueInSetPredicate, SingleValueIsNAPredicate, SingleValueLessOrEqualPredicate, SingleValueLessPredicate, SingleValueMatchesPredicate, SingleValueNotPredicateV2, SingleValueOrPredicateV2, SingleValuePredicateV2, SingleValueStringContainsFuzzyPredicate, SingleValueStringContainsPredicate, SingleValueStringIContainsFuzzyPredicate, SingleValueStringIContainsPredicate, SlicedColumnJoinEntry, mapJoinEntry, mapPTableDef, mapPTableDefV2, sortJoinEntry, sortPTableDef } from "./table_calculate.js";
20
20
  import { UniqueValuesRequest, UniqueValuesResponse } from "./unique_values.js";
21
21
  import { CompositeLinkerMap, LinkerMap } from "./linker_columns.js";
22
22
  import { PFrame, PFrameDef } from "./pframe.js";
@@ -1,7 +1,7 @@
1
1
  import { PColumnIdAndSpec, PColumnSpec } from "./spec/spec.js";
2
2
  import { TableRange } from "./data_types.js";
3
- import { FindColumnsRequest, FindColumnsResponse } from "./find_columns.js";
4
3
  import { CalculateTableDataRequest, CalculateTableDataResponse } from "./table_calculate.js";
4
+ import { FindColumnsRequest, FindColumnsResponse } from "./find_columns.js";
5
5
  import { UniqueValuesRequest, UniqueValuesResponse } from "./unique_values.js";
6
6
  import { PObjectId } from "../../pool/spec.js";
7
7
  //#region src/drivers/pframe/pframe.d.ts
@@ -1,3 +1,3 @@
1
- import { SpecExprAxisRef, SpecExprColumnRef, SpecQuery, SpecQueryBooleanExpression, SpecQueryColumn, SpecQueryExpression, SpecQueryFilter, SpecQueryInlineColumn, SpecQueryJoinEntry, SpecQueryLinkerJoin, SpecQueryLinkerJoinLinker, SpecQueryOuterJoin, SpecQuerySliceAxes, SpecQuerySort, SpecQuerySparseToDenseColumn, SpecQuerySymmetricJoin } from "./query_spec.js";
2
- import { DataExprAxisRef, DataExprColumnRef, DataQuery, DataQueryBooleanExpression, DataQueryColumn, DataQueryExpression, DataQueryFilter, DataQueryInlineColumn, DataQueryJoinEntry, DataQueryLinkerJoin, DataQueryLinkerJoinLinker, DataQueryOuterJoin, DataQuerySliceAxes, DataQuerySort, DataQuerySparseToDenseColumn, DataQuerySymmetricJoin } from "./query_data.js";
1
+ import { SpecExprAxisRef, SpecExprColumnRef, SpecQuery, SpecQueryBooleanExpression, SpecQueryColumn, SpecQueryExpression, SpecQueryFilter, SpecQueryInlineColumn, SpecQueryJoinEntry, SpecQueryLinkerJoin, SpecQueryLinkerJoinLinker, SpecQueryOuterJoin, SpecQuerySliceAxes, SpecQuerySort, SpecQuerySparseToDenseColumn, SpecQuerySymmetricJoin, SpecQueryTransformColumns } from "./query_spec.js";
2
+ import { DataExprAxisRef, DataExprColumnRef, DataQuery, DataQueryBooleanExpression, DataQueryColumn, DataQueryExpression, DataQueryFilter, DataQueryInlineColumn, DataQueryJoinEntry, DataQueryLinkerJoin, DataQueryLinkerJoinLinker, DataQueryOuterJoin, DataQuerySliceAxes, DataQuerySort, DataQuerySparseToDenseColumn, DataQuerySymmetricJoin, DataQueryTransformColumns } from "./query_data.js";
3
3
  import { collectSpecQueryColumns, isBooleanExpression, mapSpecQueryColumns, sortSpecQuery, traverseQuerySpec } from "./utils.js";
@@ -43,8 +43,9 @@ type NumericUnaryOperand = "abs" | "ceil" | "floor" | "round" | "sqrt" | "log" |
43
43
  * - `mul` - Multiplication: left * right
44
44
  * - `div` - Division: left / right (division by zero returns Infinity or NaN)
45
45
  * - `mod` - Modulo: left % right
46
+ * - `power` - Exponentiation: left ** right
46
47
  */
47
- type NumericBinaryOperand = "add" | "sub" | "mul" | "div" | "mod";
48
+ type NumericBinaryOperand = "add" | "sub" | "mul" | "div" | "mod" | "power";
48
49
  /**
49
50
  * Numeric comparison operation kinds.
50
51
  *
@@ -110,17 +111,20 @@ interface ExprIsNull<I> {
110
111
  * **Output**: Same type as input/replacement.
111
112
  * **Null handling**: If input is null, returns replacement; otherwise returns input.
112
113
  *
114
+ * The Rust runtime also accepts the legacy `"ifNull"` tag as a serde
115
+ * alias; new code should emit `"fillNull"`.
116
+ *
113
117
  * @template I - The expression type (for recursion)
114
118
  *
115
119
  * @example
116
120
  * // Replace null values with 0
117
- * { type: 'ifNull', input: columnRef, replacement: { type: 'constant', value: 0 } }
121
+ * { type: 'fillNull', input: columnRef, replacement: { type: 'constant', value: 0 } }
118
122
  *
119
123
  * // Replace null strings with 'unknown'
120
- * { type: 'ifNull', input: nameColumn, replacement: { type: 'constant', value: 'unknown' } }
124
+ * { type: 'fillNull', input: nameColumn, replacement: { type: 'constant', value: 'unknown' } }
121
125
  */
122
- interface ExprIfNull<I> {
123
- type: "ifNull";
126
+ interface ExprFillNull<I> {
127
+ type: "fillNull";
124
128
  /** Value to check for null */
125
129
  input: I;
126
130
  /** Replacement value if input is null */
@@ -424,6 +428,90 @@ interface ExprIsIn<I, T extends string | number> {
424
428
  input: I;
425
429
  /** Set of allowed values */
426
430
  set: T[];
431
+ /** If true, the predicate is inverted (true for values NOT in `set`). */
432
+ negate: boolean;
433
+ }
434
+ /**
435
+ * Type cast expression.
436
+ *
437
+ * Converts the input value to a different column value type. Mirrors
438
+ * SQL `CAST(input AS U)`.
439
+ *
440
+ * **Input**: any expression.
441
+ * **Output**: a value of `targetType`.
442
+ * **Null handling**: null in → null out.
443
+ *
444
+ * @template I - The expression type (for recursion)
445
+ */
446
+ interface ExprCast<I> {
447
+ type: "cast";
448
+ /** Expression to cast. */
449
+ input: I;
450
+ /** Target column value type. */
451
+ targetType: ColumnValueType;
452
+ }
453
+ /**
454
+ * A single `when → then` case in a {@link ExprConditional} expression.
455
+ *
456
+ * @template I - The expression type (for recursion)
457
+ */
458
+ interface ExprConditionalCase<I> {
459
+ /** Boolean predicate that selects this branch. */
460
+ when: I;
461
+ /** Value produced when `when` evaluates to true. */
462
+ then: I;
463
+ }
464
+ /**
465
+ * Conditional (CASE WHEN) expression.
466
+ *
467
+ * Evaluates `cases` in order; the value of the first case whose `when`
468
+ * is true is returned. If no case matches, `otherwise` is used (or
469
+ * null when omitted).
470
+ *
471
+ * **Result type**: the type of the first case's `then`; subsequent
472
+ * `then`s and `otherwise` are cast to it.
473
+ *
474
+ * @template I - The expression type (for recursion)
475
+ *
476
+ * @example
477
+ * {
478
+ * type: 'conditional',
479
+ * cases: [
480
+ * { when: gtTwenty, then: { type: 'constant', value: 'high' } },
481
+ * { when: gtTen, then: { type: 'constant', value: 'mid' } }
482
+ * ],
483
+ * otherwise: { type: 'constant', value: 'low' }
484
+ * }
485
+ */
486
+ interface ExprConditional<I> {
487
+ type: "conditional";
488
+ /** Cases evaluated in order; first matching wins. At least one. */
489
+ cases: [ExprConditionalCase<I>, ...ExprConditionalCase<I>[]];
490
+ /** Fallback value when no case matches. */
491
+ otherwise?: I;
492
+ }
493
+ /** Ranking function kind. */
494
+ type RankingKind = "rank" | "denseRank" | "rowNumber";
495
+ /**
496
+ * Ranking expression (always a window function).
497
+ *
498
+ * Orders rows by `orderBy` within each partition and assigns ranks
499
+ * according to `kind`. Output is always `Long`.
500
+ *
501
+ * @template I - The expression type (for recursion)
502
+ * @template A - Axis selector type
503
+ * @template C - Column selector type
504
+ */
505
+ interface ExprRanking<I, A, C> {
506
+ type: "ranking";
507
+ /** Ranking semantics. */
508
+ kind: RankingKind;
509
+ /** Expression to order by within each partition. */
510
+ orderBy: I;
511
+ /** If true (default), sort ascending; if false, descending. */
512
+ ascending?: boolean;
513
+ /** Partition specification — at least one entry when supplied. */
514
+ partitionBy?: [QuerySelector<A, C>, ...QuerySelector<A, C>[]];
427
515
  }
428
516
  /**
429
517
  * Axis reference expression.
@@ -484,6 +572,58 @@ type InferBooleanExpressionUnion<E> = [E extends ExprNumericComparison<unknown>
484
572
  }> : never, E extends ExprIsIn<unknown, string | number> ? Extract<E, {
485
573
  type: "isIn";
486
574
  }> : never][number];
575
+ /**
576
+ * Selector for referencing an axis in queries.
577
+ *
578
+ * Used to identify a specific axis dimension in operations like:
579
+ * - Sorting by axis values
580
+ * - Partitioning for window functions
581
+ * - Filtering/slicing axes
582
+ *
583
+ * @template A - Axis identifier type (typically string name or numeric index)
584
+ *
585
+ * @example
586
+ * // Select axis by name
587
+ * { type: 'axis', id: 'sample' }
588
+ *
589
+ * // Select axis by index
590
+ * { type: 'axis', id: 0 }
591
+ */
592
+ interface QueryAxisSelector<A> {
593
+ type: "axis";
594
+ /** Axis identifier (name or index depending on context) */
595
+ id: A;
596
+ }
597
+ /**
598
+ * Selector for referencing a column in queries.
599
+ *
600
+ * Used to identify a specific column in operations like:
601
+ * - Sorting by column values
602
+ * - Partitioning for window functions
603
+ * - Aggregation expressions
604
+ *
605
+ * @template C - Column identifier type (typically string name or numeric index)
606
+ *
607
+ * @example
608
+ * // Select column by name
609
+ * { type: 'column', id: 'expression_value' }
610
+ *
611
+ * // Select column by index
612
+ * { type: 'column', id: 0 }
613
+ */
614
+ interface QueryColumnSelector<C> {
615
+ type: "column";
616
+ /** Column identifier (name or index depending on context) */
617
+ id: C;
618
+ }
619
+ /**
620
+ * Axis-or-column selector — mirrors the Rust `Selector<AxisSelector,
621
+ * ColumnSelector>` enum
622
+ * (`packages/bridge/src/query/query_sort.rs`). Used for the
623
+ * `partitionBy` / `over` fields of window expressions where either an
624
+ * axis or a column can drive the partition.
625
+ */
626
+ type QuerySelector<A, C> = QueryAxisSelector<A> | QueryColumnSelector<C>;
487
627
  /**
488
628
  * Left outer join query operation.
489
629
  *
@@ -581,8 +721,8 @@ interface QuerySliceAxes<Q, A> {
581
721
  * type: 'sort',
582
722
  * input: dataQuery,
583
723
  * sortBy: [
584
- * { expression: { type: 'columnRef', value: 'score' }, ascending: false, nullsFirst: null },
585
- * { expression: { type: 'axisRef', value: { name: 'name' } }, ascending: true, nullsFirst: null }
724
+ * { expression: { type: 'columnRef', value: 'score' }, ascending: false, nullsFirst: false },
725
+ * { expression: { type: 'axisRef', value: { name: 'name' } }, ascending: true, nullsFirst: false }
586
726
  * ]
587
727
  * }
588
728
  */
@@ -598,9 +738,8 @@ interface QuerySort<Q, E> {
598
738
  * Null placement control:
599
739
  * - true: nulls sort before non-null values
600
740
  * - false: nulls sort after non-null values
601
- * - null: use default behavior (typically nulls last)
602
741
  */
603
- nullsFirst: null | boolean;
742
+ nullsFirst: boolean;
604
743
  }[];
605
744
  }
606
745
  /**
@@ -691,37 +830,57 @@ interface QueryInlineColumn<T> {
691
830
  /**
692
831
  * Sparse to dense column query operation.
693
832
  *
694
- * Expands a column across additional axes using Cartesian product.
695
- * Creates all combinations of existing axis values with new axis values.
833
+ * Densifies a sparse column over the Cartesian product of distinct
834
+ * axis values: `axes` partitions the column's own axes into two sets
835
+ * (the listed axes on one side, the rest on the other); both sides
836
+ * contribute their distinct values, and the cross product fills in
837
+ * the missing tuples (null on rows that have no underlying value).
696
838
  *
697
- * **Use case**: When you need to repeat/broadcast a column across
698
- * new dimensions that it doesn't originally have.
839
+ * **Use case**: graph-maker and other UI surfaces that need a dense
840
+ * grid to plot.
699
841
  *
700
842
  * **Behavior**:
701
- * - Takes an existing column
702
- * - Expands it across specified axes indices
703
- * - Result has Cartesian product of original axes × new axes
843
+ * - Output axes = input axes (no axes are added).
844
+ * - Missing axis-tuple combinations become null in the output (or
845
+ * filled later via `pl7.app/graph/isDenseAxis` /
846
+ * `treatAbsentValuesAs` annotations).
704
847
  *
705
848
  * @template C - Column reference type
849
+ * @template A - Axis selector type (named selectors at the spec layer,
850
+ * numeric axis indices at the data layer)
706
851
  * @template SO - Spec override type
707
852
  *
708
853
  * @example
709
- * // Expand column across axes at indices 0 and 2
854
+ * // Spec layer: name the axis to expand across.
710
855
  * {
711
856
  * type: 'sparseToDenseColumn',
712
857
  * column: 'col_abc123',
713
- * axesIndices: [0, 2],
858
+ * axes: [{ name: 'sample' }],
714
859
  * specOverride: { ... } // optional spec modifications
715
860
  * }
861
+ *
862
+ * @example
863
+ * // Data layer: the same query after spec→data lowering.
864
+ * {
865
+ * type: 'sparseToDenseColumn',
866
+ * column: 'col_abc123',
867
+ * axes: [0],
868
+ * specOverride: { ... }
869
+ * }
716
870
  */
717
- interface QuerySparseToDenseColumn<C, SO> {
871
+ interface QuerySparseToDenseColumn<C, A, SO> {
718
872
  type: "sparseToDenseColumn";
719
873
  /** Column reference (ID or full column object depending on context) */
720
874
  column: C;
721
875
  /** Optional override for the column specification */
722
876
  specOverride?: SO;
723
- /** Indices of axes to expand across */
724
- axesIndices: number[];
877
+ /**
878
+ * Axes that participate in the cartesian-product densification.
879
+ * Named selectors at the spec layer; resolved to numeric axis
880
+ * indices during spec→data lowering. The Rust runtime also accepts
881
+ * the legacy field name `axesIndices` as a serde alias.
882
+ */
883
+ axes: [A, ...A[]];
725
884
  }
726
885
  /**
727
886
  * Symmetric join query operation (inner join or full outer join).
@@ -817,6 +976,54 @@ interface QueryLinkerJoin<L, JE extends QueryJoinEntry<unknown>> {
817
976
  /** Rest side — one or more subqueries joined with the linker (at least one). */
818
977
  secondary: JE[];
819
978
  }
979
+ /**
980
+ * `transformColumns` mode.
981
+ *
982
+ * - `"append"` — existing columns pass through; the new columns are
983
+ * appended.
984
+ * - `"replace"` — only the listed columns are kept; everything else is
985
+ * dropped.
986
+ *
987
+ * The Rust runtime accepts the legacy `"add"` tag as a serde alias;
988
+ * new code should emit `"append"`.
989
+ */
990
+ type TransformColumnsMode = "append" | "replace";
991
+ /**
992
+ * Single column entry for {@link QueryTransformColumns}.
993
+ *
994
+ * @template E - Expression type
995
+ * @template SO - Spec override type (typically `PColumnIdAndSpec` at
996
+ * the spec layer, or layer-specific id+typespec at the data layer)
997
+ */
998
+ interface TransformColumnEntry<E, SO> {
999
+ /** Expression computing the column values. */
1000
+ expression: E;
1001
+ /**
1002
+ * Optional spec override. If omitted, the runtime auto-derives the
1003
+ * column's spec from the host's input and the expression.
1004
+ * `valueType` is always inferred from the expression.
1005
+ */
1006
+ specOverride?: SO;
1007
+ }
1008
+ /**
1009
+ * Transform-columns query operation.
1010
+ *
1011
+ * Computes one or more derived columns from `input`. Axes are
1012
+ * preserved.
1013
+ *
1014
+ * @template Q - Input query type
1015
+ * @template E - Expression type
1016
+ * @template SO - Spec override type
1017
+ */
1018
+ interface QueryTransformColumns<Q, E, SO> {
1019
+ type: "transformColumns";
1020
+ /** Input query. */
1021
+ input: Q;
1022
+ /** `"append"` to add new columns; `"replace"` to keep only listed columns. */
1023
+ mode: TransformColumnsMode;
1024
+ /** Derived columns to compute (at least one). */
1025
+ columns: [TransformColumnEntry<E, SO>, ...TransformColumnEntry<E, SO>[]];
1026
+ }
820
1027
  //#endregion
821
- export { ExprAxisRef, ExprColumnRef, ExprConstant, ExprIfNull, ExprIsIn, ExprIsNull, ExprLogicalUnary, ExprLogicalVariadic, ExprNumericBinary, ExprNumericComparison, ExprNumericUnary, ExprStringContains, ExprStringContainsFuzzy, ExprStringEquals, ExprStringRegex, InferBooleanExpressionUnion, QueryColumn, QueryFilter, QueryInlineColumn, QueryJoinEntry, QueryLinkerJoin, QueryOuterJoin, QuerySliceAxes, QuerySort, QuerySparseToDenseColumn, QuerySymmetricJoin, TypeSpec };
1028
+ export { ExprAxisRef, ExprCast, ExprColumnRef, ExprConditional, ExprConstant, ExprFillNull, ExprIsIn, ExprIsNull, ExprLogicalUnary, ExprLogicalVariadic, ExprNumericBinary, ExprNumericComparison, ExprNumericUnary, ExprRanking, ExprStringContains, ExprStringContainsFuzzy, ExprStringEquals, ExprStringRegex, InferBooleanExpressionUnion, QueryColumn, QueryFilter, QueryInlineColumn, QueryJoinEntry, QueryLinkerJoin, QueryOuterJoin, QuerySliceAxes, QuerySort, QuerySparseToDenseColumn, QuerySymmetricJoin, QueryTransformColumns, TypeSpec };
822
1029
  //# sourceMappingURL=query_common.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query_common.d.ts","names":[],"sources":["../../../../src/drivers/pframe/query/query_common.ts"],"mappings":"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"}
1
+ {"version":3,"file":"query_common.d.ts","names":[],"sources":["../../../../src/drivers/pframe/query/query_common.ts"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ExprAxisRef, ExprColumnRef, ExprConstant, ExprIfNull, ExprIsIn, ExprIsNull, ExprLogicalUnary, ExprLogicalVariadic, ExprNumericBinary, ExprNumericComparison, ExprNumericUnary, ExprStringContains, ExprStringContainsFuzzy, ExprStringEquals, ExprStringRegex, InferBooleanExpressionUnion, QueryColumn, QueryFilter, QueryInlineColumn, QueryJoinEntry, QueryLinkerJoin, QueryOuterJoin, QuerySliceAxes, QuerySort, QuerySparseToDenseColumn, QuerySymmetricJoin, TypeSpec } from "./query_common.js";
1
+ import { ExprAxisRef, ExprCast, ExprColumnRef, ExprConditional, ExprConstant, ExprFillNull, ExprIsIn, ExprIsNull, ExprLogicalUnary, ExprLogicalVariadic, ExprNumericBinary, ExprNumericComparison, ExprNumericUnary, ExprRanking, ExprStringContains, ExprStringContainsFuzzy, ExprStringEquals, ExprStringRegex, InferBooleanExpressionUnion, QueryColumn, QueryFilter, QueryInlineColumn, QueryJoinEntry, QueryLinkerJoin, QueryOuterJoin, QuerySliceAxes, QuerySort, QuerySparseToDenseColumn, QuerySymmetricJoin, QueryTransformColumns, TypeSpec } from "./query_common.js";
2
2
  import { PObjectId } from "../../../pool/spec.js";
3
3
  //#region src/drivers/pframe/query/query_data.d.ts
4
4
  /**
@@ -32,7 +32,7 @@ type DataQueryColumn = QueryColumn;
32
32
  /** @see QueryInlineColumn */
33
33
  type DataQueryInlineColumn = QueryInlineColumn<ColumnIdAndTypeSpec>;
34
34
  /** @see QuerySparseToDenseColumn */
35
- type DataQuerySparseToDenseColumn = QuerySparseToDenseColumn<PObjectId, ColumnIdAndTypeSpec>;
35
+ type DataQuerySparseToDenseColumn = QuerySparseToDenseColumn<PObjectId, number, ColumnIdAndTypeSpec>;
36
36
  /** @see QuerySymmetricJoin */
37
37
  type DataQuerySymmetricJoin = QuerySymmetricJoin<DataQueryJoinEntry>;
38
38
  /** @see QueryOuterJoin */
@@ -58,6 +58,8 @@ type DataQuerySliceAxes = QuerySliceAxes<DataQuery, number>;
58
58
  type DataQuerySort = QuerySort<DataQuery, DataQueryExpression>;
59
59
  /** @see QueryFilter */
60
60
  type DataQueryFilter = QueryFilter<DataQuery, DataQueryBooleanExpression>;
61
+ /** @see QueryTransformColumns */
62
+ type DataQueryTransformColumns = QueryTransformColumns<DataQuery, DataQueryExpression, ColumnIdAndTypeSpec>;
61
63
  /**
62
64
  * Union of all data layer query types.
63
65
  *
@@ -66,16 +68,16 @@ type DataQueryFilter = QueryFilter<DataQuery, DataQueryBooleanExpression>;
66
68
  *
67
69
  * Includes:
68
70
  * - Leaf nodes: column, inlineColumn, sparseToDenseColumn
69
- * - Join operations: innerJoin, fullJoin, outerJoin
70
- * - Transformations: sliceAxes, sort, filter
71
+ * - Join operations: innerJoin, fullJoin, outerJoin, linkerJoin
72
+ * - Transformations: sliceAxes, sort, filter, transformColumns
71
73
  */
72
- type DataQuery = DataQueryColumn | DataQueryInlineColumn | DataQuerySparseToDenseColumn | DataQuerySymmetricJoin | DataQueryOuterJoin | DataQueryLinkerJoin | DataQuerySliceAxes | DataQuerySort | DataQueryFilter;
74
+ type DataQuery = DataQueryColumn | DataQueryInlineColumn | DataQuerySparseToDenseColumn | DataQuerySymmetricJoin | DataQueryOuterJoin | DataQueryLinkerJoin | DataQuerySliceAxes | DataQuerySort | DataQueryFilter | DataQueryTransformColumns;
73
75
  /** @see ExprAxisRef */
74
76
  type DataExprAxisRef = ExprAxisRef<number>;
75
77
  /** @see ExprColumnRef */
76
78
  type DataExprColumnRef = ExprColumnRef<number>;
77
- type DataQueryExpression = DataExprColumnRef | DataExprAxisRef | ExprConstant | ExprNumericBinary<DataQueryExpression> | ExprNumericComparison<DataQueryExpression> | ExprNumericUnary<DataQueryExpression> | ExprStringEquals<DataQueryExpression> | ExprStringContains<DataQueryExpression> | ExprStringRegex<DataQueryExpression> | ExprStringContainsFuzzy<DataQueryExpression> | ExprIsNull<DataQueryExpression> | ExprIfNull<DataQueryExpression> | ExprLogicalUnary<DataQueryExpression> | ExprLogicalVariadic<DataQueryExpression> | ExprIsIn<DataQueryExpression, string> | ExprIsIn<DataQueryExpression, number>;
79
+ type DataQueryExpression = DataExprColumnRef | DataExprAxisRef | ExprConstant | ExprNumericBinary<DataQueryExpression> | ExprNumericComparison<DataQueryExpression> | ExprNumericUnary<DataQueryExpression> | ExprStringEquals<DataQueryExpression> | ExprStringContains<DataQueryExpression> | ExprStringRegex<DataQueryExpression> | ExprStringContainsFuzzy<DataQueryExpression> | ExprIsNull<DataQueryExpression> | ExprFillNull<DataQueryExpression> | ExprLogicalUnary<DataQueryExpression> | ExprLogicalVariadic<DataQueryExpression> | ExprIsIn<DataQueryExpression, string> | ExprIsIn<DataQueryExpression, number> | ExprCast<DataQueryExpression> | ExprConditional<DataQueryExpression> | ExprRanking<DataQueryExpression, number, number>;
78
80
  type DataQueryBooleanExpression = InferBooleanExpressionUnion<DataQueryExpression>;
79
81
  //#endregion
80
- export { DataExprAxisRef, DataExprColumnRef, DataQuery, DataQueryBooleanExpression, DataQueryColumn, DataQueryExpression, DataQueryFilter, DataQueryInlineColumn, DataQueryJoinEntry, DataQueryLinkerJoin, DataQueryLinkerJoinLinker, DataQueryOuterJoin, DataQuerySliceAxes, DataQuerySort, DataQuerySparseToDenseColumn, DataQuerySymmetricJoin };
82
+ export { DataExprAxisRef, DataExprColumnRef, DataQuery, DataQueryBooleanExpression, DataQueryColumn, DataQueryExpression, DataQueryFilter, DataQueryInlineColumn, DataQueryJoinEntry, DataQueryLinkerJoin, DataQueryLinkerJoinLinker, DataQueryOuterJoin, DataQuerySliceAxes, DataQuerySort, DataQuerySparseToDenseColumn, DataQuerySymmetricJoin, DataQueryTransformColumns };
81
83
  //# sourceMappingURL=query_data.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query_data.d.ts","names":[],"sources":["../../../../src/drivers/pframe/query/query_data.ts"],"mappings":";;;;;;AA6BwB;;;KAQnB,mBAAA;EAEH,sCAAA,EAAA,EAAI,SAAA,EAEJ;EAAA,IAAA,EAAM,QAAA;AAAA;;AAeR;;;;;;;;;AAMA;;UANiB,kBAAA,SAA2B,cAAA,CAAe,SAAA;EAM7B;EAJ5B,WAAA;AAAA;;KAIU,eAAA,GAAkB,WAAA;;KAElB,qBAAA,GAAwB,iBAAA,CAAkB,mBAAA;AAEtD;AAAA,KAAY,4BAAA,GAA+B,wBAAA,CAAyB,SAAA,EAAW,mBAAA;;KAEnE,sBAAA,GAAyB,kBAAA,CAAmB,kBAAA;;KAE5C,kBAAA,GAAqB,cAAA,CAAe,kBAAA;;;;;;;;AAFhD;KAWY,yBAAA;iCAEV,MAAA,EAAQ,SAAA,EAbgE;EAexE,WAAA,YAb4B;EAe5B,kBAAA;AAAA;;KAGU,mBAAA,GAAsB,eAAA,CAAgB,yBAAA,EAA2B,kBAAA;;KAEjE,kBAAA,GAAqB,cAAA,CAAe,SAAA;;KAEpC,aAAA,GAAgB,SAAA,CAAU,SAAA,EAAW,mBAAA;;KAErC,eAAA,GAAkB,WAAA,CAAY,SAAA,EAAW,0BAAA;;;;AANrD;;;;;;;;KAmBY,SAAA,GACR,eAAA,GACA,qBAAA,GACA,4BAAA,GACA,sBAAA,GACA,kBAAA,GACA,mBAAA,GACA,kBAAA,GACA,aAAA,GACA,eAAA;;KAGQ,eAAA,GAAkB,WAAA;;KAElB,iBAAA,GAAoB,aAAA;AAAA,KAEpB,mBAAA,GACR,iBAAA,GACA,eAAA,GACA,YAAA,GACA,iBAAA,CAAkB,mBAAA,IAClB,qBAAA,CAAsB,mBAAA,IACtB,gBAAA,CAAiB,mBAAA,IACjB,gBAAA,CAAiB,mBAAA,IACjB,kBAAA,CAAmB,mBAAA,IACnB,eAAA,CAAgB,mBAAA,IAChB,uBAAA,CAAwB,mBAAA,IACxB,UAAA,CAAW,mBAAA,IACX,UAAA,CAAW,mBAAA,IACX,gBAAA,CAAiB,mBAAA,IACjB,mBAAA,CAAoB,mBAAA,IACpB,QAAA,CAAS,mBAAA,YACT,QAAA,CAAS,mBAAA;AAAA,KAED,0BAAA,GAA6B,2BAAA,CAA4B,mBAAA"}
1
+ {"version":3,"file":"query_data.d.ts","names":[],"sources":["../../../../src/drivers/pframe/query/query_data.ts"],"mappings":";;;;;;AAiCwB;;;KAQnB,mBAAA;EAEH,sCAAA,EAAA,EAAI,SAAA,EAEJ;EAAA,IAAA,EAAM,QAAA;AAAA;;AAeR;;;;;;;;;AAMA;;UANiB,kBAAA,SAA2B,cAAA,CAAe,SAAA;EAM7B;EAJ5B,WAAA;AAAA;;KAIU,eAAA,GAAkB,WAAA;;KAElB,qBAAA,GAAwB,iBAAA,CAAkB,mBAAA;AAEtD;AAAA,KAAY,4BAAA,GAA+B,wBAAA,CACzC,SAAA,UAEA,mBAAA;;KAGU,sBAAA,GAAyB,kBAAA,CAAmB,kBAAA;;KAE5C,kBAAA,GAAqB,cAAA,CAAe,kBAAA;;;;;;;;AAFhD;KAWY,yBAAA;iCAEV,MAAA,EAAQ,SAAA,EAbgE;EAexE,WAAA,YAb4B;EAe5B,kBAAA;AAAA;;KAGU,mBAAA,GAAsB,eAAA,CAAgB,yBAAA,EAA2B,kBAAA;;KAEjE,kBAAA,GAAqB,cAAA,CAAe,SAAA;;KAEpC,aAAA,GAAgB,SAAA,CAAU,SAAA,EAAW,mBAAA;;KAErC,eAAA,GAAkB,WAAA,CAAY,SAAA,EAAW,0BAAA;;KAEzC,yBAAA,GAA4B,qBAAA,CACtC,SAAA,EACA,mBAAA,EACA,mBAAA;;AAXF;;;;;;;;;;KAyBY,SAAA,GACR,eAAA,GACA,qBAAA,GACA,4BAAA,GACA,sBAAA,GACA,kBAAA,GACA,mBAAA,GACA,kBAAA,GACA,aAAA,GACA,eAAA,GACA,yBAAA;;KAGQ,eAAA,GAAkB,WAAA;AApC9B;AAAA,KAsCY,iBAAA,GAAoB,aAAA;AAAA,KAEpB,mBAAA,GACR,iBAAA,GACA,eAAA,GACA,YAAA,GACA,iBAAA,CAAkB,mBAAA,IAClB,qBAAA,CAAsB,mBAAA,IACtB,gBAAA,CAAiB,mBAAA,IACjB,gBAAA,CAAiB,mBAAA,IACjB,kBAAA,CAAmB,mBAAA,IACnB,eAAA,CAAgB,mBAAA,IAChB,uBAAA,CAAwB,mBAAA,IACxB,UAAA,CAAW,mBAAA,IACX,YAAA,CAAa,mBAAA,IACb,gBAAA,CAAiB,mBAAA,IACjB,mBAAA,CAAoB,mBAAA,IACpB,QAAA,CAAS,mBAAA,YACT,QAAA,CAAS,mBAAA,YAET,QAAA,CAAS,mBAAA,IACT,eAAA,CAAgB,mBAAA,IAEhB,WAAA,CAAY,mBAAA;AAAA,KAGJ,0BAAA,GAA6B,2BAAA,CAA4B,mBAAA"}
@@ -1,5 +1,5 @@
1
1
  import { Domain, PColumnIdAndSpec } from "../spec/spec.js";
2
- import { ExprAxisRef, ExprColumnRef, ExprConstant, ExprIfNull, ExprIsIn, ExprIsNull, ExprLogicalUnary, ExprLogicalVariadic, ExprNumericBinary, ExprNumericComparison, ExprNumericUnary, ExprStringContains, ExprStringContainsFuzzy, ExprStringEquals, ExprStringRegex, InferBooleanExpressionUnion, QueryColumn, QueryFilter, QueryInlineColumn, QueryJoinEntry, QueryLinkerJoin, QueryOuterJoin, QuerySliceAxes, QuerySort, QuerySparseToDenseColumn, QuerySymmetricJoin } from "./query_common.js";
2
+ import { ExprAxisRef, ExprCast, ExprColumnRef, ExprConditional, ExprConstant, ExprFillNull, ExprIsIn, ExprIsNull, ExprLogicalUnary, ExprLogicalVariadic, ExprNumericBinary, ExprNumericComparison, ExprNumericUnary, ExprRanking, ExprStringContains, ExprStringContainsFuzzy, ExprStringEquals, ExprStringRegex, InferBooleanExpressionUnion, QueryColumn, QueryFilter, QueryInlineColumn, QueryJoinEntry, QueryLinkerJoin, QueryOuterJoin, QuerySliceAxes, QuerySort, QuerySparseToDenseColumn, QuerySymmetricJoin, QueryTransformColumns } from "./query_common.js";
3
3
  import { SingleAxisSelector } from "../spec/selectors.js";
4
4
  import { PObjectId } from "../../../pool/spec.js";
5
5
  //#region src/drivers/pframe/query/query_spec.d.ts
@@ -24,7 +24,7 @@ type SpecQueryColumn<C = PObjectId> = QueryColumn<C>;
24
24
  /** @see QueryInlineColumn */
25
25
  type SpecQueryInlineColumn = QueryInlineColumn<PColumnIdAndSpec>;
26
26
  /** @see QuerySparseToDenseColumn */
27
- type SpecQuerySparseToDenseColumn<C = PObjectId> = QuerySparseToDenseColumn<C, PColumnIdAndSpec>;
27
+ type SpecQuerySparseToDenseColumn<C = PObjectId> = QuerySparseToDenseColumn<C, SingleAxisSelector, PColumnIdAndSpec>;
28
28
  /** @see QuerySymmetricJoin */
29
29
  type SpecQuerySymmetricJoin<C = PObjectId> = QuerySymmetricJoin<SpecQueryJoinEntry<C>>;
30
30
  /** @see QueryOuterJoin */
@@ -46,6 +46,8 @@ type SpecQuerySliceAxes<C = PObjectId> = QuerySliceAxes<SpecQuery<C>, SingleAxis
46
46
  type SpecQuerySort<C = PObjectId> = QuerySort<SpecQuery<C>, SpecQueryExpression>;
47
47
  /** @see QueryFilter */
48
48
  type SpecQueryFilter<C = PObjectId> = QueryFilter<SpecQuery<C>, SpecQueryBooleanExpression>;
49
+ /** @see QueryTransformColumns */
50
+ type SpecQueryTransformColumns<C = PObjectId> = QueryTransformColumns<SpecQuery<C>, SpecQueryExpression, PColumnIdAndSpec>;
49
51
  /**
50
52
  * Union of all spec layer query types.
51
53
  *
@@ -58,16 +60,16 @@ type SpecQueryFilter<C = PObjectId> = QueryFilter<SpecQuery<C>, SpecQueryBoolean
58
60
  *
59
61
  * Includes:
60
62
  * - Leaf nodes: column, inlineColumn, sparseToDenseColumn
61
- * - Join operations: innerJoin, fullJoin, outerJoin
62
- * - Transformations: sliceAxes, sort, filter
63
+ * - Join operations: innerJoin, fullJoin, outerJoin, linkerJoin
64
+ * - Transformations: sliceAxes, sort, filter, transformColumns
63
65
  */
64
- type SpecQuery<C = PObjectId> = SpecQueryColumn<C> | SpecQueryInlineColumn | SpecQuerySparseToDenseColumn<C> | SpecQuerySymmetricJoin<C> | SpecQueryOuterJoin<C> | SpecQueryLinkerJoin<C> | SpecQuerySliceAxes<C> | SpecQuerySort<C> | SpecQueryFilter<C>;
66
+ type SpecQuery<C = PObjectId> = SpecQueryColumn<C> | SpecQueryInlineColumn | SpecQuerySparseToDenseColumn<C> | SpecQuerySymmetricJoin<C> | SpecQueryOuterJoin<C> | SpecQueryLinkerJoin<C> | SpecQuerySliceAxes<C> | SpecQuerySort<C> | SpecQueryFilter<C> | SpecQueryTransformColumns<C>;
65
67
  /** @see ExprAxisRef */
66
68
  type SpecExprAxisRef = ExprAxisRef<SingleAxisSelector>;
67
69
  /** @see ExprColumnRef */
68
70
  type SpecExprColumnRef = ExprColumnRef<PObjectId>;
69
- type SpecQueryExpression = SpecExprColumnRef | SpecExprAxisRef | ExprConstant | ExprNumericBinary<SpecQueryExpression> | ExprNumericComparison<SpecQueryExpression> | ExprNumericUnary<SpecQueryExpression> | ExprStringEquals<SpecQueryExpression> | ExprStringContains<SpecQueryExpression> | ExprStringRegex<SpecQueryExpression> | ExprStringContainsFuzzy<SpecQueryExpression> | ExprIsNull<SpecQueryExpression> | ExprIfNull<SpecQueryExpression> | ExprLogicalUnary<SpecQueryExpression> | ExprLogicalVariadic<SpecQueryExpression> | ExprIsIn<SpecQueryExpression, string> | ExprIsIn<SpecQueryExpression, number>;
71
+ type SpecQueryExpression = SpecExprColumnRef | SpecExprAxisRef | ExprConstant | ExprNumericBinary<SpecQueryExpression> | ExprNumericComparison<SpecQueryExpression> | ExprNumericUnary<SpecQueryExpression> | ExprStringEquals<SpecQueryExpression> | ExprStringContains<SpecQueryExpression> | ExprStringRegex<SpecQueryExpression> | ExprStringContainsFuzzy<SpecQueryExpression> | ExprIsNull<SpecQueryExpression> | ExprFillNull<SpecQueryExpression> | ExprLogicalUnary<SpecQueryExpression> | ExprLogicalVariadic<SpecQueryExpression> | ExprIsIn<SpecQueryExpression, string> | ExprIsIn<SpecQueryExpression, number> | ExprCast<SpecQueryExpression> | ExprConditional<SpecQueryExpression> | ExprRanking<SpecQueryExpression, SingleAxisSelector, PObjectId>;
70
72
  type SpecQueryBooleanExpression = InferBooleanExpressionUnion<SpecQueryExpression>;
71
73
  //#endregion
72
- export { SpecExprAxisRef, SpecExprColumnRef, SpecQuery, SpecQueryBooleanExpression, SpecQueryColumn, SpecQueryExpression, SpecQueryFilter, SpecQueryInlineColumn, SpecQueryJoinEntry, SpecQueryLinkerJoin, SpecQueryLinkerJoinLinker, SpecQueryOuterJoin, SpecQuerySliceAxes, SpecQuerySort, SpecQuerySparseToDenseColumn, SpecQuerySymmetricJoin };
74
+ export { SpecExprAxisRef, SpecExprColumnRef, SpecQuery, SpecQueryBooleanExpression, SpecQueryColumn, SpecQueryExpression, SpecQueryFilter, SpecQueryInlineColumn, SpecQueryJoinEntry, SpecQueryLinkerJoin, SpecQueryLinkerJoinLinker, SpecQueryOuterJoin, SpecQuerySliceAxes, SpecQuerySort, SpecQuerySparseToDenseColumn, SpecQuerySymmetricJoin, SpecQueryTransformColumns };
73
75
  //# sourceMappingURL=query_spec.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query_spec.d.ts","names":[],"sources":["../../../../src/drivers/pframe/query/query_spec.ts"],"mappings":";;;;;;;;;;AAyCA;;;;;KAAY,kBAAA,KAAuB,SAAA,IAAa,cAAA,CAAe,SAAA,CAAU,CAAA;EACvE,cAAA;IAEQ,uBAAN,IAAA,EAAM,kBAAA,EAEe;IAArB,aAAA,EAAe,MAAA;EAAA;AAAA;;KAKP,eAAA,KAAoB,SAAA,IAAa,WAAA,CAAY,CAAA;;KAE7C,qBAAA,GAAwB,iBAAA,CAAkB,gBAAA;;KAE1C,4BAAA,KAAiC,SAAA,IAAa,wBAAA,CACxD,CAAA,EACA,gBAAA;;KAGU,sBAAA,KAA2B,SAAA,IAAa,kBAAA,CAAmB,kBAAA,CAAmB,CAAA;;KAE9E,kBAAA,KAAuB,SAAA,IAAa,cAAA,CAAe,kBAAA,CAAmB,CAAA;AAXlF;;;;;;AAAA,KAkBY,yBAAA,KAA8B,SAAA;EAlBc,+BAoBtD,MAAA,EAAQ,CAAA;AAAA;;KAGE,mBAAA,KAAwB,SAAA,IAAa,eAAA,CAC/C,yBAAA,CAA0B,CAAA,GAC1B,kBAAA,CAAmB,CAAA;;KAGT,kBAAA,KAAuB,SAAA,IAAa,cAAA,CAAe,SAAA,CAAU,CAAA,GAAI,kBAAA;AA1B7E;AAAA,KA4BY,aAAA,KAAkB,SAAA,IAAa,SAAA,CAAU,SAAA,CAAU,CAAA,GAAI,mBAAA;;KAEvD,eAAA,KAAoB,SAAA,IAAa,WAAA,CAAY,SAAA,CAAU,CAAA,GAAI,0BAAA;;AA5BvE;;;;;;;;;;;;;;KA6CY,SAAA,KAAc,SAAA,IACtB,eAAA,CAAgB,CAAA,IAChB,qBAAA,GACA,4BAAA,CAA6B,CAAA,IAC7B,sBAAA,CAAuB,CAAA,IACvB,kBAAA,CAAmB,CAAA,IACnB,mBAAA,CAAoB,CAAA,IACpB,kBAAA,CAAmB,CAAA,IACnB,aAAA,CAAc,CAAA,IACd,eAAA,CAAgB,CAAA;;KAGR,eAAA,GAAkB,WAAA,CAAY,kBAAA;;KAE9B,iBAAA,GAAoB,aAAA,CAAc,SAAA;AAAA,KAElC,mBAAA,GACR,iBAAA,GACA,eAAA,GACA,YAAA,GACA,iBAAA,CAAkB,mBAAA,IAClB,qBAAA,CAAsB,mBAAA,IACtB,gBAAA,CAAiB,mBAAA,IACjB,gBAAA,CAAiB,mBAAA,IACjB,kBAAA,CAAmB,mBAAA,IACnB,eAAA,CAAgB,mBAAA,IAChB,uBAAA,CAAwB,mBAAA,IACxB,UAAA,CAAW,mBAAA,IACX,UAAA,CAAW,mBAAA,IACX,gBAAA,CAAiB,mBAAA,IACjB,mBAAA,CAAoB,mBAAA,IACpB,QAAA,CAAS,mBAAA,YACT,QAAA,CAAS,mBAAA;AAAA,KAED,0BAAA,GAA6B,2BAAA,CAA4B,mBAAA"}
1
+ {"version":3,"file":"query_spec.d.ts","names":[],"sources":["../../../../src/drivers/pframe/query/query_spec.ts"],"mappings":";;;;;;;;;;AA6CA;;;;;KAAY,kBAAA,KAAuB,SAAA,IAAa,cAAA,CAAe,SAAA,CAAU,CAAA;EACvE,cAAA;IAEQ,uBAAN,IAAA,EAAM,kBAAA,EAEe;IAArB,aAAA,EAAe,MAAA;EAAA;AAAA;;KAKP,eAAA,KAAoB,SAAA,IAAa,WAAA,CAAY,CAAA;;KAE7C,qBAAA,GAAwB,iBAAA,CAAkB,gBAAA;;KAE1C,4BAAA,KAAiC,SAAA,IAAa,wBAAA,CACxD,CAAA,EACA,kBAAA,EACA,gBAAA;;KAGU,sBAAA,KAA2B,SAAA,IAAa,kBAAA,CAAmB,kBAAA,CAAmB,CAAA;;KAE9E,kBAAA,KAAuB,SAAA,IAAa,cAAA,CAAe,kBAAA,CAAmB,CAAA;AAZlF;;;;;;AAAA,KAmBY,yBAAA,KAA8B,SAAA;EAnBc,+BAqBtD,MAAA,EAAQ,CAAA;AAAA;;KAGE,mBAAA,KAAwB,SAAA,IAAa,eAAA,CAC/C,yBAAA,CAA0B,CAAA,GAC1B,kBAAA,CAAmB,CAAA;;KAGT,kBAAA,KAAuB,SAAA,IAAa,cAAA,CAAe,SAAA,CAAU,CAAA,GAAI,kBAAA;AA3B7E;AAAA,KA6BY,aAAA,KAAkB,SAAA,IAAa,SAAA,CAAU,SAAA,CAAU,CAAA,GAAI,mBAAA;;KAEvD,eAAA,KAAoB,SAAA,IAAa,WAAA,CAAY,SAAA,CAAU,CAAA,GAAI,0BAAA;;KAE3D,yBAAA,KAA8B,SAAA,IAAa,qBAAA,CACrD,SAAA,CAAU,CAAA,GACV,mBAAA,EACA,gBAAA;;;;;;;;;;;;;;;;KAkBU,SAAA,KAAc,SAAA,IACtB,eAAA,CAAgB,CAAA,IAChB,qBAAA,GACA,4BAAA,CAA6B,CAAA,IAC7B,sBAAA,CAAuB,CAAA,IACvB,kBAAA,CAAmB,CAAA,IACnB,mBAAA,CAAoB,CAAA,IACpB,kBAAA,CAAmB,CAAA,IACnB,aAAA,CAAc,CAAA,IACd,eAAA,CAAgB,CAAA,IAChB,yBAAA,CAA0B,CAAA;;KAGlB,eAAA,GAAkB,WAAA,CAAY,kBAAA;;KAE9B,iBAAA,GAAoB,aAAA,CAAc,SAAA;AAAA,KAElC,mBAAA,GACR,iBAAA,GACA,eAAA,GACA,YAAA,GACA,iBAAA,CAAkB,mBAAA,IAClB,qBAAA,CAAsB,mBAAA,IACtB,gBAAA,CAAiB,mBAAA,IACjB,gBAAA,CAAiB,mBAAA,IACjB,kBAAA,CAAmB,mBAAA,IACnB,eAAA,CAAgB,mBAAA,IAChB,uBAAA,CAAwB,mBAAA,IACxB,UAAA,CAAW,mBAAA,IACX,YAAA,CAAa,mBAAA,IACb,gBAAA,CAAiB,mBAAA,IACjB,mBAAA,CAAoB,mBAAA,IACpB,QAAA,CAAS,mBAAA,YACT,QAAA,CAAS,mBAAA,YAET,QAAA,CAAS,mBAAA,IACT,eAAA,CAAgB,mBAAA,IAEhB,WAAA,CAAY,mBAAA,EAAqB,kBAAA,EAAoB,SAAA;AAAA,KAG7C,0BAAA,GAA6B,2BAAA,CAA4B,mBAAA"}