@malloydata/malloy 0.0.22-dev230126015148 → 0.0.22-dev230206094309

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 (93) hide show
  1. package/package.json +2 -2
  2. package/dist/connection_utils.d.ts +0 -1
  3. package/dist/connection_utils.js +0 -66
  4. package/dist/dialect/dialect.d.ts +0 -66
  5. package/dist/dialect/dialect.js +0 -85
  6. package/dist/dialect/dialect_map.d.ts +0 -3
  7. package/dist/dialect/dialect_map.js +0 -45
  8. package/dist/dialect/duckdb.d.ts +0 -52
  9. package/dist/dialect/duckdb.js +0 -364
  10. package/dist/dialect/index.d.ts +0 -6
  11. package/dist/dialect/index.js +0 -37
  12. package/dist/dialect/postgres.d.ts +0 -52
  13. package/dist/dialect/postgres.js +0 -330
  14. package/dist/dialect/standardsql.d.ts +0 -49
  15. package/dist/dialect/standardsql.js +0 -381
  16. package/dist/index.d.ts +0 -10
  17. package/dist/index.js +0 -59
  18. package/dist/lang/ast/apply-expr.d.ts +0 -3
  19. package/dist/lang/ast/apply-expr.js +0 -34
  20. package/dist/lang/ast/ast-expr.d.ts +0 -206
  21. package/dist/lang/ast/ast-expr.js +0 -781
  22. package/dist/lang/ast/ast-main.d.ts +0 -915
  23. package/dist/lang/ast/ast-main.js +0 -3672
  24. package/dist/lang/ast/ast-time-expr.d.ts +0 -69
  25. package/dist/lang/ast/ast-time-expr.js +0 -389
  26. package/dist/lang/ast/ast-types.d.ts +0 -83
  27. package/dist/lang/ast/ast-types.js +0 -225
  28. package/dist/lang/ast/index.d.ts +0 -5
  29. package/dist/lang/ast/index.js +0 -44
  30. package/dist/lang/ast/time-utils.d.ts +0 -9
  31. package/dist/lang/ast/time-utils.js +0 -104
  32. package/dist/lang/field-utils.d.ts +0 -5
  33. package/dist/lang/field-utils.js +0 -43
  34. package/dist/lang/index.d.ts +0 -9
  35. package/dist/lang/index.js +0 -32
  36. package/dist/lang/lib/Malloy/MalloyLexer.d.ts +0 -165
  37. package/dist/lang/lib/Malloy/MalloyLexer.js +0 -1232
  38. package/dist/lang/lib/Malloy/MalloyParser.d.ts +0 -1947
  39. package/dist/lang/lib/Malloy/MalloyParser.js +0 -11909
  40. package/dist/lang/lib/Malloy/MalloyParserListener.d.ts +0 -2022
  41. package/dist/lang/lib/Malloy/MalloyParserListener.js +0 -4
  42. package/dist/lang/lib/Malloy/MalloyParserVisitor.d.ts +0 -1274
  43. package/dist/lang/lib/Malloy/MalloyParserVisitor.js +0 -4
  44. package/dist/lang/parse-log.d.ts +0 -27
  45. package/dist/lang/parse-log.js +0 -51
  46. package/dist/lang/parse-malloy.d.ts +0 -236
  47. package/dist/lang/parse-malloy.js +0 -746
  48. package/dist/lang/parse-to-ast.d.ts +0 -155
  49. package/dist/lang/parse-to-ast.js +0 -990
  50. package/dist/lang/parse-tree-walkers/document-completion-walker.d.ts +0 -10
  51. package/dist/lang/parse-tree-walkers/document-completion-walker.js +0 -148
  52. package/dist/lang/parse-tree-walkers/document-help-context-walker.d.ts +0 -9
  53. package/dist/lang/parse-tree-walkers/document-help-context-walker.js +0 -107
  54. package/dist/lang/parse-tree-walkers/document-highlight-walker.d.ts +0 -83
  55. package/dist/lang/parse-tree-walkers/document-highlight-walker.js +0 -385
  56. package/dist/lang/parse-tree-walkers/document-symbol-walker.d.ts +0 -11
  57. package/dist/lang/parse-tree-walkers/document-symbol-walker.js +0 -182
  58. package/dist/lang/parse-tree-walkers/explore-query-walker.d.ts +0 -34
  59. package/dist/lang/parse-tree-walkers/explore-query-walker.js +0 -74
  60. package/dist/lang/parse-tree-walkers/find-external-references.d.ts +0 -11
  61. package/dist/lang/parse-tree-walkers/find-external-references.js +0 -61
  62. package/dist/lang/reference-list.d.ts +0 -10
  63. package/dist/lang/reference-list.js +0 -90
  64. package/dist/lang/space-field.d.ts +0 -17
  65. package/dist/lang/space-field.js +0 -127
  66. package/dist/lang/test/document-help-context-walker.spec.d.ts +0 -1
  67. package/dist/lang/test/document-help-context-walker.spec.js +0 -55
  68. package/dist/lang/test/document-symbol-walker.spec.d.ts +0 -1
  69. package/dist/lang/test/document-symbol-walker.spec.js +0 -110
  70. package/dist/lang/test/field-symbols.spec.d.ts +0 -1
  71. package/dist/lang/test/field-symbols.spec.js +0 -180
  72. package/dist/lang/test/parse.spec.d.ts +0 -14
  73. package/dist/lang/test/parse.spec.js +0 -2134
  74. package/dist/lang/test/test-translator.d.ts +0 -38
  75. package/dist/lang/test/test-translator.js +0 -344
  76. package/dist/lang/zone.d.ts +0 -57
  77. package/dist/lang/zone.js +0 -107
  78. package/dist/malloy.d.ts +0 -1146
  79. package/dist/malloy.js +0 -2413
  80. package/dist/model/index.d.ts +0 -2
  81. package/dist/model/index.js +0 -45
  82. package/dist/model/malloy_query.d.ts +0 -351
  83. package/dist/model/malloy_query.js +0 -3174
  84. package/dist/model/malloy_types.d.ts +0 -551
  85. package/dist/model/malloy_types.js +0 -378
  86. package/dist/model/sql_block.d.ts +0 -7
  87. package/dist/model/sql_block.js +0 -56
  88. package/dist/model/utils.d.ts +0 -22
  89. package/dist/model/utils.js +0 -102
  90. package/dist/run_sql_options.d.ts +0 -3
  91. package/dist/run_sql_options.js +0 -25
  92. package/dist/runtime_types.d.ts +0 -105
  93. package/dist/runtime_types.js +0 -25
@@ -1,2 +0,0 @@
1
- export * from "./malloy_types";
2
- export { Segment, QueryModel, flattenQuery } from "./malloy_query";
@@ -1,45 +0,0 @@
1
- "use strict";
2
- /*
3
- * Copyright 2023 Google LLC
4
- *
5
- * Permission is hereby granted, free of charge, to any person obtaining
6
- * a copy of this software and associated documentation files
7
- * (the "Software"), to deal in the Software without restriction,
8
- * including without limitation the rights to use, copy, modify, merge,
9
- * publish, distribute, sublicense, and/or sell copies of the Software,
10
- * and to permit persons to whom the Software is furnished to do so,
11
- * subject to the following conditions:
12
- *
13
- * The above copyright notice and this permission notice shall be
14
- * included in all copies or substantial portions of the Software.
15
- *
16
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19
- * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20
- * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23
- */
24
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
25
- if (k2 === undefined) k2 = k;
26
- var desc = Object.getOwnPropertyDescriptor(m, k);
27
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
28
- desc = { enumerable: true, get: function() { return m[k]; } };
29
- }
30
- Object.defineProperty(o, k2, desc);
31
- }) : (function(o, m, k, k2) {
32
- if (k2 === undefined) k2 = k;
33
- o[k2] = m[k];
34
- }));
35
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
36
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.flattenQuery = exports.QueryModel = exports.Segment = void 0;
40
- __exportStar(require("./malloy_types"), exports);
41
- var malloy_query_1 = require("./malloy_query");
42
- Object.defineProperty(exports, "Segment", { enumerable: true, get: function () { return malloy_query_1.Segment; } });
43
- Object.defineProperty(exports, "QueryModel", { enumerable: true, get: function () { return malloy_query_1.QueryModel; } });
44
- Object.defineProperty(exports, "flattenQuery", { enumerable: true, get: function () { return malloy_query_1.flattenQuery; } });
45
- //# sourceMappingURL=index.js.map
@@ -1,351 +0,0 @@
1
- import { Dialect, DialectFieldList } from "../dialect";
2
- import { FieldDef, FieldRef, FilterExpression, ModelDef, Query, QueryFieldDef, StructDef, StructRef, OrderBy, ResultMetadataDef, Expr, FieldFragment, AggregateFragment, CompiledQuery, FilterFragment, PipeSegment, TurtleDef, QuerySegment, Filtered, ParameterFragment, Parameter, JoinRelationship, DialectFragment, UngroupFragment, NamedQuery, AnalyticFragment, ResultStructMetadataDef, SearchIndexResult } from "./malloy_types";
3
- import { AndChain } from "./utils";
4
- import { Connection } from "../runtime_types";
5
- interface TurtleDefPlus extends TurtleDef, Filtered {
6
- }
7
- interface OutputPipelinedSQL {
8
- sqlFieldName: string;
9
- pipelineSQL: string;
10
- }
11
- declare class StageWriter {
12
- withs: string[];
13
- udfs: string[];
14
- pdts: string[];
15
- stagePrefix: string;
16
- parent: StageWriter | undefined;
17
- useCTE: boolean;
18
- constructor(useCTE: boolean | undefined, parent: StageWriter | undefined);
19
- getName(id: number): string;
20
- root(): StageWriter;
21
- addStage(sql: string): string;
22
- addUDF(stageWriter: StageWriter, dialect: Dialect, structDef: StructDef): string;
23
- addPDT(baseName: string, dialect: Dialect): string;
24
- combineStages(includeLastStage: boolean): {
25
- sql: string;
26
- lastStageName: string | undefined;
27
- };
28
- /** emit the SQL for all the stages. */
29
- generateSQLStages(): string;
30
- generateCoorelatedSubQuery(dialect: Dialect, structDef: StructDef): string;
31
- }
32
- declare type QuerySomething = QueryField | QueryStruct | QueryTurtle;
33
- declare class GenerateState {
34
- whereSQL?: string;
35
- applyValue?: string;
36
- totalGroupSet: number;
37
- withWhere(s?: string): GenerateState;
38
- withApply(s: string): GenerateState;
39
- withTotal(groupSet: number): GenerateState;
40
- }
41
- declare abstract class QueryNode {
42
- fieldDef: FieldDef;
43
- constructor(fieldDef: FieldDef);
44
- getIdentifier(): string;
45
- getChildByName(_name: string): QuerySomething | undefined;
46
- }
47
- declare class QueryField extends QueryNode {
48
- fieldDef: FieldDef;
49
- parent: QueryStruct;
50
- constructor(fieldDef: FieldDef, parent: QueryStruct);
51
- mayNeedUniqueKey(): boolean;
52
- getJoinableParent(): QueryStruct;
53
- caseGroup(groupSets: number[], s: string): string;
54
- getFullOutputName(): string;
55
- generateFieldFragment(resultSet: FieldInstanceResult, context: QueryStruct, expr: FieldFragment, state: GenerateState): string;
56
- generateParameterFragment(resultSet: FieldInstanceResult, context: QueryStruct, expr: ParameterFragment, state: GenerateState): string;
57
- generateFilterFragment(resultSet: FieldInstanceResult, context: QueryStruct, expr: FilterFragment, state: GenerateState): string;
58
- generateDimFragment(resultSet: FieldInstanceResult, context: QueryStruct, expr: AggregateFragment, state: GenerateState): string;
59
- generateUngroupedFragment(resultSet: FieldInstanceResult, context: QueryStruct, expr: UngroupFragment, state: GenerateState): string;
60
- generateDistinctKeyIfNecessary(resultSet: FieldInstanceResult, context: QueryStruct, structPath: string | undefined): string | undefined;
61
- generateSumFragment(resultSet: FieldInstanceResult, context: QueryStruct, expr: AggregateFragment, state: GenerateState): string;
62
- generateSymmetricFragment(resultSet: FieldInstanceResult, context: QueryStruct, expr: AggregateFragment, state: GenerateState): string;
63
- generateAvgFragment(resultSet: FieldInstanceResult, context: QueryStruct, expr: AggregateFragment, state: GenerateState): string;
64
- generateCountFragment(resultSet: FieldInstanceResult, context: QueryStruct, expr: AggregateFragment, state: GenerateState): string;
65
- generateDialect(resultSet: FieldInstanceResult, context: QueryStruct, expr: DialectFragment, state: GenerateState): string;
66
- generateAnalyticFragment(resultStruct: FieldInstanceResult, context: QueryStruct, expr: AnalyticFragment, state: GenerateState): string;
67
- generateExpressionFromExpr(resultSet: FieldInstanceResult, context: QueryStruct, e: Expr, state?: GenerateState): string;
68
- getExpr(): Expr;
69
- generateExpression(resultSet: FieldInstanceResult): string;
70
- }
71
- declare class QueryAtomicField extends QueryField {
72
- includeInWildcard(): boolean;
73
- isCalculated(): boolean;
74
- getFilterList(): FilterExpression[];
75
- hasExpression(): boolean;
76
- }
77
- declare class QueryFieldBoolean extends QueryAtomicField {
78
- }
79
- declare class QueryFieldStruct extends QueryAtomicField {
80
- primaryKey: string;
81
- constructor(fieldDef: FieldDef, parent: QueryStruct, primaryKey: string);
82
- getName(): string;
83
- getAsJoinedStructDef(foreignKeyName: string): StructDef;
84
- }
85
- declare type FieldUsage = {
86
- type: "result";
87
- resultIndex: number;
88
- } | {
89
- type: "where";
90
- } | {
91
- type: "dependant";
92
- };
93
- declare type FieldInstanceType = "field" | "query";
94
- interface FieldInstance {
95
- type: FieldInstanceType;
96
- root(): FieldInstanceResultRoot;
97
- }
98
- declare class FieldInstanceField implements FieldInstance {
99
- type: FieldInstanceType;
100
- f: QueryField;
101
- fieldUsage: FieldUsage;
102
- additionalGroupSets: number[];
103
- parent: FieldInstanceResult;
104
- partitionSQL: string | undefined;
105
- constructor(f: QueryField, fieldUsage: FieldUsage, parent: FieldInstanceResult);
106
- root(): FieldInstanceResultRoot;
107
- getSQL(): string;
108
- getPartitionSQL(): string;
109
- }
110
- declare type RepeatedResultType = "nested" | "inline_all_numbers" | "inline";
111
- declare type UngroupSet = {
112
- type: "all" | "exclude";
113
- fields: string[];
114
- groupSet: number;
115
- };
116
- declare class FieldInstanceResult implements FieldInstance {
117
- type: FieldInstanceType;
118
- allFields: Map<string, FieldInstance>;
119
- groupSet: number;
120
- depth: number;
121
- parent: FieldInstanceResult | undefined;
122
- childGroups: number[];
123
- turtleDef: TurtleDef;
124
- firstSegment: PipeSegment;
125
- hasHaving: boolean;
126
- ungroupedSets: Map<string, UngroupSet>;
127
- resultUsesUngrouped: boolean;
128
- constructor(turtleDef: TurtleDef, parent: FieldInstanceResult | undefined);
129
- addField(as: string, field: QueryField, usage: FieldUsage): void;
130
- parentGroupSet(): number;
131
- add(name: string, f: FieldInstance): void;
132
- hasField(name: string): boolean;
133
- getField(name: string): FieldInstanceField;
134
- getFieldByNumber(index: number): {
135
- name: string;
136
- fif: FieldInstanceField;
137
- };
138
- computeGroups(nextGroupSetNumber: number, depth: number): {
139
- nextGroupSetNumber: number;
140
- maxDepth: number;
141
- children: number[];
142
- isComplex: boolean;
143
- };
144
- fields(fn?: undefined | ((field: FieldInstanceField) => boolean)): FieldInstanceField[];
145
- fieldNames(fn: undefined | ((field: FieldInstanceField) => boolean)): string[];
146
- getRepeatedResultType(): RepeatedResultType;
147
- structs(): FieldInstanceResult[];
148
- selectStructs(result: FieldInstanceResult[], fn: (result: FieldInstanceResult) => boolean): FieldInstanceResult[];
149
- calculateDefaultOrderBy(): OrderBy[];
150
- addStructToJoin(qs: QueryStruct, query: QueryQuery, mayNeedUniqueKey: boolean, joinStack: string[]): void;
151
- findJoins(query: QueryQuery): void;
152
- root(): FieldInstanceResultRoot;
153
- getUngroupPartitions(ungroupSet: UngroupSet | undefined): FieldInstanceField[];
154
- assignFieldsToGroups(): void;
155
- }
156
- declare class FieldInstanceResultRoot extends FieldInstanceResult {
157
- joins: Map<string, JoinInstance>;
158
- havings: AndChain;
159
- isComplexQuery: boolean;
160
- queryUsesPartitioning: boolean;
161
- computeOnlyGroups: number[];
162
- elimatedComputeGroups: boolean;
163
- constructor(turtleDef: TurtleDef);
164
- root(): FieldInstanceResultRoot;
165
- eliminateComputeGroupsSQL(): string;
166
- calculateSymmetricAggregates(): void;
167
- }
168
- declare class JoinInstance {
169
- mayNeedUniqueKey: boolean;
170
- makeUniqueKey: boolean;
171
- leafiest: boolean;
172
- parent: JoinInstance | undefined;
173
- queryStruct: QueryStruct;
174
- joinFilterConditions?: QueryFieldBoolean[];
175
- alias: string;
176
- children: JoinInstance[];
177
- constructor(queryStruct: QueryStruct, alias: string, parent: JoinInstance | undefined);
178
- parentRelationship(): "root" | JoinRelationship;
179
- getDialectFieldList(): DialectFieldList;
180
- }
181
- /** nested query */
182
- declare class QueryTurtle extends QueryField {
183
- }
184
- /**
185
- * Used by the translator to get the output StructDef of a pipe segment
186
- *
187
- * half translated to the new world of types ..
188
- */
189
- export declare class Segment {
190
- static nextStructDef(structDef: StructDef, segment: PipeSegment): StructDef;
191
- }
192
- declare type StageGroupMaping = {
193
- fromGroup: number;
194
- toGroup: number;
195
- };
196
- declare type StageOutputContext = {
197
- sql: string[];
198
- lateralJoinSQLExpressions: string[];
199
- dimensionIndexes: number[];
200
- fieldIndex: number;
201
- groupsAggregated: StageGroupMaping[];
202
- outputPipelinedSQL: OutputPipelinedSQL[];
203
- };
204
- /** Query builder object. */
205
- declare class QueryQuery extends QueryField {
206
- fieldDef: TurtleDef;
207
- firstSegment: PipeSegment;
208
- prepared: boolean;
209
- maxDepth: number;
210
- maxGroupSet: number;
211
- rootResult: FieldInstanceResultRoot;
212
- resultStage: string | undefined;
213
- stageWriter: StageWriter | undefined;
214
- constructor(fieldDef: TurtleDef, parent: QueryStruct, stageWriter: StageWriter | undefined);
215
- static makeQuery(fieldDef: TurtleDef, parentStruct: QueryStruct, stageWriter?: StageWriter | undefined): QueryQuery;
216
- getFieldList(): QueryFieldDef[];
217
- expandField(f: QueryFieldDef): {
218
- as: any;
219
- field: QuerySomething;
220
- };
221
- expandDependantField(resultStruct: FieldInstanceResult, fieldRef: FieldRef): void;
222
- expandWildCardStruct(struct: QueryStruct, expandChildren: boolean, filter?: ((qf: QueryNode) => boolean) | undefined): string[];
223
- expandWildCards(fields: QueryFieldDef[], filter?: ((qf: QueryNode) => boolean) | undefined): QueryFieldDef[];
224
- addDependantPath(resultStruct: FieldInstanceResult, context: QueryStruct, path: string, mayNeedUniqueKey: boolean, joinStack: string[]): void;
225
- addDependantExpr(resultStruct: FieldInstanceResult, context: QueryStruct, e: Expr, joinStack: string[]): void;
226
- addDependancies(resultStruct: FieldInstanceResult, field: QueryField): void;
227
- expandFields(resultStruct: FieldInstanceResult): void;
228
- expandFilters(resultStruct: FieldInstanceResult): void;
229
- generateSQLFilters(resultStruct: FieldInstanceResult, which: "where" | "having", filterList?: FilterExpression[] | undefined): AndChain;
230
- prepare(_stageWriter: StageWriter | undefined): void;
231
- getResultMetadata(fi: FieldInstance): ResultStructMetadataDef | ResultMetadataDef | undefined;
232
- /** returns a fields and primary key of a struct for this query */
233
- getResultStructDef(resultStruct?: FieldInstanceResult, isRoot?: boolean): StructDef;
234
- generateSQLJoinBlock(stageWriter: StageWriter, ji: JoinInstance): string;
235
- generateSQLJoins(stageWriter: StageWriter): string;
236
- genereateSQLOrderBy(queryDef: QuerySegment, resultStruct: FieldInstanceResult): string;
237
- generateSimpleSQL(stageWriter: StageWriter): string;
238
- generatePipelinedStages(outputPipelinedSQL: OutputPipelinedSQL[], lastStageName: string, stageWriter: StageWriter): string;
239
- generateStage0Fields(resultSet: FieldInstanceResult, output: StageOutputContext, stageWriter: StageWriter): void;
240
- generateSQLWhereChildren(resultStruct: FieldInstanceResult): AndChain;
241
- generateSQLWhereTurtled(): string;
242
- generateSQLHavingLimit(stageWriter: StageWriter, lastStageName: string): string;
243
- generateSQLStage0(stageWriter: StageWriter): string;
244
- generateDepthNFields(depth: number, resultSet: FieldInstanceResult, output: StageOutputContext, stageWriter: StageWriter): void;
245
- generateSQLDepthN(depth: number, stageWriter: StageWriter, stageName: string): string;
246
- genereateSQLCombineTurtles(stageWriter: StageWriter, stage0Name: string): string;
247
- generateTurtleSQL(resultStruct: FieldInstanceResult, stageWriter: StageWriter, sqlFieldName: string, outputPipelinedSQL: OutputPipelinedSQL[]): string;
248
- generateTurtlePipelineSQL(fi: FieldInstanceResult, stageWriter: StageWriter, sourceSQLExpression: string): {
249
- structDef: StructDef;
250
- pipeOut: any;
251
- };
252
- generateComplexSQL(stageWriter: StageWriter): string;
253
- generateSQL(stageWriter: StageWriter): string;
254
- toMalloy(): string;
255
- generateSQLFromPipeline(stageWriter: StageWriter): {
256
- lastStageName: string;
257
- outputStruct: StructDef;
258
- };
259
- }
260
- /** Structure object as it is used to build a query */
261
- declare class QueryStruct extends QueryNode {
262
- fieldDef: StructDef;
263
- parent: QueryStruct | undefined;
264
- model: QueryModel;
265
- nameMap: Map<string, QuerySomething>;
266
- pathAliasMap: Map<string, string>;
267
- dialect: Dialect;
268
- connectionName: string;
269
- constructor(fieldDef: StructDef, parent: {
270
- struct: QueryStruct;
271
- } | {
272
- model: QueryModel;
273
- });
274
- parameters(): Record<string, Parameter>;
275
- addFieldsFromFieldList(fields: FieldDef[]): void;
276
- getAliasIdentifier(): string;
277
- getAsQueryField(): QueryFieldStruct;
278
- getSQLIdentifier(): string;
279
- getIdentifier(): string;
280
- getFullOutputName(): string;
281
- needsSymetricCalculation(resultSet: FieldInstanceResult): boolean;
282
- unnestWithNumbers(): boolean;
283
- getJoinableParent(): QueryStruct;
284
- addFieldToNameMap(as: string, n: QuerySomething): void;
285
- /** the the primary key or throw an error. */
286
- getPrimaryKeyField(fieldDef: FieldDef): any;
287
- /**
288
- * called after all structure has been loaded. Examine this structure to see
289
- * if if it is based on a query and if it is, add the output fields (unless
290
- * they exist) to the structure.
291
- */
292
- resolveQueryFields(): void;
293
- getModel(): QueryModel;
294
- setParent(parent: {
295
- struct: QueryStruct;
296
- } | {
297
- model: QueryModel;
298
- }): void;
299
- /** makes a new queryable field object from a fieldDef */
300
- makeQueryField(field: FieldDef): QueryField;
301
- /**
302
- * return a field if it exists, make one if we are passed a field definition.
303
- */
304
- getOrMakeField(fieldRef: FieldRef): QuerySomething;
305
- /** returns a dimension for the given name or make one. */
306
- getOrMakeDimension(fieldRef: FieldRef): QueryAtomicField;
307
- structSourceSQL(stageWriter: StageWriter): string;
308
- root(): QueryStruct;
309
- primaryKey(): QueryAtomicField | undefined;
310
- /** get the componennts of a field path */
311
- static resolvePath(name: string): string[];
312
- getChildByName(name: string): QuerySomething | undefined;
313
- /** convert a name into a field reference */
314
- getFieldByName(name: string): QuerySomething;
315
- getQueryFieldByName(name: string): QuerySomething;
316
- getDimensionOrMeasureByName(name: string): QueryAtomicField;
317
- /** returns a query object for the given name */
318
- getDimensionByName(name: string): QueryAtomicField;
319
- /** returns a query object for the given name */
320
- getStructByName(name: string): QueryStruct;
321
- getDistinctKey(): QueryAtomicField;
322
- flattenTurtleDef(turtleDef: TurtleDef | TurtleDefPlus): TurtleDef;
323
- }
324
- /** the resulting SQL and the shape of the data at each stage of the pipeline */
325
- interface QueryResults {
326
- lastStageName: string;
327
- stageWriter: StageWriter;
328
- structs: StructDef[];
329
- malloy: string;
330
- connectionName: string;
331
- }
332
- /** start here */
333
- export declare class QueryModel {
334
- dialect: Dialect;
335
- modelDef: ModelDef | undefined;
336
- structs: Map<string, QueryStruct>;
337
- constructor(modelDef: ModelDef | undefined);
338
- loadModelFromDef(modelDef: ModelDef): void;
339
- parseQueryPath(name: string): {
340
- struct: QueryStruct;
341
- queryName: string;
342
- };
343
- getStructByName(name: string): QueryStruct;
344
- getStructFromRef(structRef: StructRef): QueryStruct;
345
- loadQuery(query: Query, stageWriter: StageWriter | undefined, emitFinalStage?: boolean): QueryResults;
346
- compileQuery(query: Query, finalize?: boolean): CompiledQuery;
347
- exploreSearchSQLMap: Map<any, any>;
348
- searchIndex(connection: Connection, explore: string, searchValue: string, limit?: number, searchField?: string | undefined): Promise<SearchIndexResult[] | undefined>;
349
- }
350
- export declare function flattenQuery(model: ModelDef, query: NamedQuery): TurtleDef;
351
- export {};