@malloydata/malloy 0.0.303 → 0.0.305
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.
- package/dist/dialect/dialect.d.ts +1 -1
- package/dist/dialect/duckdb/duckdb.d.ts +1 -1
- package/dist/dialect/duckdb/duckdb.js +2 -6
- package/dist/dialect/mysql/mysql.d.ts +1 -1
- package/dist/dialect/mysql/mysql.js +2 -6
- package/dist/dialect/postgres/postgres.d.ts +1 -1
- package/dist/dialect/postgres/postgres.js +2 -6
- package/dist/dialect/snowflake/snowflake.d.ts +1 -1
- package/dist/dialect/snowflake/snowflake.js +2 -5
- package/dist/dialect/standardsql/standardsql.d.ts +1 -1
- package/dist/dialect/standardsql/standardsql.js +2 -6
- package/dist/dialect/trino/trino.d.ts +1 -1
- package/dist/dialect/trino/trino.js +2 -6
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -3
- package/dist/lang/ast/expressions/expr-aggregate-function.js +12 -2
- package/dist/lang/ast/expressions/expr-count.js +3 -1
- package/dist/lang/ast/expressions/expr-func.js +34 -10
- package/dist/lang/ast/expressions/expr-props.js +1 -1
- package/dist/lang/ast/expressions/expr-ungroup.js +7 -3
- package/dist/lang/ast/expressions/function-ordering.d.ts +19 -5
- package/dist/lang/ast/expressions/function-ordering.js +61 -9
- package/dist/lang/ast/field-space/include-utils.js +1 -1
- package/dist/lang/ast/field-space/index-field-space.js +3 -1
- package/dist/lang/ast/field-space/query-spaces.js +20 -11
- package/dist/lang/ast/query-builders/index-builder.js +1 -1
- package/dist/lang/ast/query-builders/reduce-builder.js +1 -1
- package/dist/lang/ast/query-elements/query-arrow.js +14 -4
- package/dist/lang/ast/query-elements/query-base.d.ts +1 -0
- package/dist/lang/ast/query-elements/query-base.js +14 -4
- package/dist/lang/ast/query-elements/query-refine.js +2 -0
- package/dist/lang/ast/query-properties/drill.js +1 -1
- package/dist/lang/ast/source-properties/join.js +6 -2
- package/dist/lang/ast/statements/define-source.js +1 -1
- package/dist/lang/ast/types/expr-value.js +1 -1
- package/dist/lang/ast/view-elements/reference-view.js +4 -1
- package/dist/lang/ast/view-elements/refine-utils.js +1 -1
- package/dist/{model/composite_source_utils.d.ts → lang/composite-source-utils.d.ts} +4 -17
- package/dist/{model/composite_source_utils.js → lang/composite-source-utils.js} +274 -44
- package/dist/lang/test/parse-expects.d.ts +1 -1
- package/dist/lang/test/parse-expects.js +6 -2
- package/dist/lang/test/test-translator.js +1 -1
- package/dist/malloy.js +1 -1
- package/dist/model/expression_compiler.d.ts +27 -0
- package/dist/model/expression_compiler.js +780 -0
- package/dist/model/field_instance.d.ts +108 -0
- package/dist/model/field_instance.js +520 -0
- package/dist/model/index.d.ts +5 -1
- package/dist/model/index.js +25 -4
- package/dist/model/join_instance.d.ts +18 -0
- package/dist/model/join_instance.js +71 -0
- package/dist/model/malloy_types.d.ts +48 -2
- package/dist/model/malloy_types.js +39 -1
- package/dist/model/query_model.d.ts +2 -0
- package/dist/model/query_model.js +7 -0
- package/dist/model/query_model_contract.d.ts +32 -0
- package/dist/model/query_model_contract.js +7 -0
- package/dist/model/query_model_impl.d.ts +30 -0
- package/dist/model/query_model_impl.js +266 -0
- package/dist/model/query_node.d.ts +132 -0
- package/dist/model/query_node.js +638 -0
- package/dist/model/query_query.d.ts +86 -0
- package/dist/model/query_query.js +1724 -0
- package/dist/model/sql_block.js +2 -2
- package/dist/model/stage_writer.d.ts +25 -0
- package/dist/model/stage_writer.js +120 -0
- package/dist/model/utils.d.ts +18 -1
- package/dist/model/utils.js +66 -1
- package/dist/to_stable.js +3 -4
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +4 -4
- package/dist/model/malloy_query.d.ts +0 -391
- package/dist/model/malloy_query.js +0 -3926
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import type { DialectFieldList } from '../dialect';
|
|
2
|
+
import type { TurtleDef, QueryResultDef, ResultStructMetadataDef, ResultMetadataDef, PipeSegment, QuerySegment, QueryFieldDef, SegmentFieldDef } from './malloy_types';
|
|
3
|
+
import { AndChain } from './utils';
|
|
4
|
+
import type { JoinInstance } from './join_instance';
|
|
5
|
+
import { QueryStruct, QueryField } from './query_node';
|
|
6
|
+
import { StageWriter } from './stage_writer';
|
|
7
|
+
import type { FieldInstance } from './field_instance';
|
|
8
|
+
import { FieldInstanceResult, FieldInstanceResultRoot } from './field_instance';
|
|
9
|
+
interface OutputPipelinedSQL {
|
|
10
|
+
sqlFieldName: string;
|
|
11
|
+
pipelineSQL: string;
|
|
12
|
+
}
|
|
13
|
+
type StageGroupMaping = {
|
|
14
|
+
fromGroup: number;
|
|
15
|
+
toGroup: number;
|
|
16
|
+
};
|
|
17
|
+
type StageOutputContext = {
|
|
18
|
+
sql: string[];
|
|
19
|
+
lateralJoinSQLExpressions: string[];
|
|
20
|
+
dimensionIndexes: number[];
|
|
21
|
+
fieldIndex: number;
|
|
22
|
+
groupsAggregated: StageGroupMaping[];
|
|
23
|
+
outputPipelinedSQL: OutputPipelinedSQL[];
|
|
24
|
+
};
|
|
25
|
+
/** Query builder object. */
|
|
26
|
+
export declare class QueryQuery extends QueryField {
|
|
27
|
+
fieldDef: TurtleDef;
|
|
28
|
+
firstSegment: PipeSegment;
|
|
29
|
+
prepared: boolean;
|
|
30
|
+
maxDepth: number;
|
|
31
|
+
maxGroupSet: number;
|
|
32
|
+
rootResult: FieldInstanceResultRoot;
|
|
33
|
+
resultStage: string | undefined;
|
|
34
|
+
stageWriter: StageWriter | undefined;
|
|
35
|
+
isJoinedSubquery: boolean;
|
|
36
|
+
protected structRefToQueryStruct: (name: string) => QueryStruct | undefined;
|
|
37
|
+
constructor(fieldDef: TurtleDef, parent: QueryStruct, stageWriter: StageWriter | undefined, isJoinedSubquery: boolean, lookupStruct: (name: string) => QueryStruct | undefined);
|
|
38
|
+
static makeQuery(fieldDef: TurtleDef, parentStruct: QueryStruct, stageWriter: StageWriter | undefined, isJoinedSubquery: boolean, lookupStruct: (name: string) => QueryStruct | undefined): QueryQuery;
|
|
39
|
+
inNestedPipeline(): boolean;
|
|
40
|
+
expandField(f: QueryFieldDef): {
|
|
41
|
+
as: string;
|
|
42
|
+
field: QueryField;
|
|
43
|
+
};
|
|
44
|
+
private addDependantPath;
|
|
45
|
+
private dependenciesFromFieldUsage;
|
|
46
|
+
findRecordAliases(context: QueryStruct, path: string[]): void;
|
|
47
|
+
getSegmentFields(resultStruct: FieldInstanceResult): SegmentFieldDef[];
|
|
48
|
+
private getDrillExpression;
|
|
49
|
+
expandFields(resultStruct: FieldInstanceResult): void;
|
|
50
|
+
generateSQLFilters(resultStruct: FieldInstanceResult, which: 'where' | 'having'): AndChain;
|
|
51
|
+
prepare(_stageWriter: StageWriter | undefined): void;
|
|
52
|
+
private findJoins;
|
|
53
|
+
addAlwaysJoins(rootResult: FieldInstanceResultRoot): void;
|
|
54
|
+
getResultMetadata(fi: FieldInstance): ResultStructMetadataDef | ResultMetadataDef | undefined;
|
|
55
|
+
/** returns a fields and primary key of a struct for this query */
|
|
56
|
+
getResultStructDef(resultStruct?: FieldInstanceResult, isRoot?: boolean): QueryResultDef;
|
|
57
|
+
getStructSourceSQL(qs: QueryStruct, stageWriter: StageWriter): string;
|
|
58
|
+
generateSQLJoinBlock(stageWriter: StageWriter, ji: JoinInstance, depth: number): string;
|
|
59
|
+
generateSQLPassthroughKeys(qs: QueryStruct): string;
|
|
60
|
+
generateSQLJoins(stageWriter: StageWriter): string;
|
|
61
|
+
genereateSQLOrderBy(queryDef: QuerySegment, resultStruct: FieldInstanceResult): string;
|
|
62
|
+
generateSimpleSQL(stageWriter: StageWriter): string;
|
|
63
|
+
generatePipelinedStages(outputPipelinedSQL: OutputPipelinedSQL[], lastStageName: string, stageWriter: StageWriter): string;
|
|
64
|
+
generateStage0Fields(resultSet: FieldInstanceResult, output: StageOutputContext, stageWriter: StageWriter): void;
|
|
65
|
+
generateSQLWhereChildren(resultStruct: FieldInstanceResult): AndChain;
|
|
66
|
+
generateSQLWhereTurtled(): string;
|
|
67
|
+
generateSQLHavingLimit(stageWriter: StageWriter, lastStageName: string): string;
|
|
68
|
+
generateSQLStage0(stageWriter: StageWriter): string;
|
|
69
|
+
generateDepthNFields(depth: number, resultSet: FieldInstanceResult, output: StageOutputContext, stageWriter: StageWriter): void;
|
|
70
|
+
generateSQLDepthN(depth: number, stageWriter: StageWriter, stageName: string): string;
|
|
71
|
+
genereateSQLCombineTurtles(stageWriter: StageWriter, stage0Name: string): string;
|
|
72
|
+
buildDialectFieldList(resultStruct: FieldInstanceResult): DialectFieldList;
|
|
73
|
+
generateTurtleSQL(resultStruct: FieldInstanceResult, stageWriter: StageWriter, sqlFieldName: string, outputPipelinedSQL: OutputPipelinedSQL[]): string;
|
|
74
|
+
generateTurtlePipelineSQL(fi: FieldInstanceResult, stageWriter: StageWriter, sourceSQLExpression: string): {
|
|
75
|
+
structDef: QueryResultDef;
|
|
76
|
+
pipeOut: any;
|
|
77
|
+
repeatedResultType: "nested" | "inline_all_numbers" | "inline";
|
|
78
|
+
};
|
|
79
|
+
generateComplexSQL(stageWriter: StageWriter): string;
|
|
80
|
+
generateSQL(stageWriter: StageWriter): string;
|
|
81
|
+
generateSQLFromPipeline(stageWriter: StageWriter): {
|
|
82
|
+
lastStageName: string;
|
|
83
|
+
outputStruct: QueryResultDef;
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
export {};
|