@malloydata/malloy 0.0.48 → 0.0.49-dev230626192330

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/index.d.ts CHANGED
@@ -2,7 +2,7 @@ export type { QueryDataRow, Fragment, StructDef, StructRelationship, NamedStruct
2
2
  export { Segment, isFilteredAliasedName, flattenQuery, expressionIsCalculation, } from './model';
3
3
  export { HighlightType, MalloyTranslator, } from './lang';
4
4
  export type { LogMessage, TranslateResponse } from './lang';
5
- export { Malloy, Runtime, AtomicFieldType, ConnectionRuntime, SingleConnectionRuntime, EmptyURLReader, InMemoryURLReader, FixedConnectionMap, MalloyError, JoinRelationship, SourceRelationship, DateTimeframe, TimestampTimeframe, Result, parseTableURI, QueryMaterializer, CSVWriter, JSONWriter, Parse, DataWriter, Explore, } from './malloy';
5
+ export { Malloy, Runtime, AtomicFieldType, ConnectionRuntime, SingleConnectionRuntime, EmptyURLReader, InMemoryURLReader, FixedConnectionMap, MalloyError, JoinRelationship, SourceRelationship, DateTimeframe, TimestampTimeframe, Result, QueryMaterializer, CSVWriter, JSONWriter, Parse, DataWriter, Explore, } from './malloy';
6
6
  export type { Model, PreparedQuery, PreparedResult, Field, AtomicField, ExploreField, QueryField, DataArray, DataRecord, DataColumn, DataArrayOrRecord, ModelMaterializer, DocumentSymbol, DocumentHighlight, ResultJSON, PreparedResultMaterializer, SQLBlockMaterializer, ExploreMaterializer, WriteStream, SerializedExplore, } from './malloy';
7
7
  export type { RunSQLOptions } from './run_sql_options';
8
8
  export type { URLReader, InfoConnection, LookupConnection, Connection, QueryString, ModelString, QueryURL, ModelURL, PooledConnection, TestableConnection, PersistSQLResults, StreamingConnection, } from './runtime_types';
package/dist/index.js CHANGED
@@ -22,7 +22,7 @@
22
22
  * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23
23
  */
24
24
  Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.Tags = exports.toAsyncGenerator = exports.Explore = exports.DataWriter = exports.Parse = exports.JSONWriter = exports.CSVWriter = exports.QueryMaterializer = exports.parseTableURI = exports.Result = exports.TimestampTimeframe = exports.DateTimeframe = exports.SourceRelationship = exports.JoinRelationship = exports.MalloyError = exports.FixedConnectionMap = exports.InMemoryURLReader = exports.EmptyURLReader = exports.SingleConnectionRuntime = exports.ConnectionRuntime = exports.AtomicFieldType = exports.Runtime = exports.Malloy = exports.MalloyTranslator = exports.HighlightType = exports.expressionIsCalculation = exports.flattenQuery = exports.isFilteredAliasedName = exports.Segment = void 0;
25
+ exports.Tags = exports.toAsyncGenerator = exports.Explore = exports.DataWriter = exports.Parse = exports.JSONWriter = exports.CSVWriter = exports.QueryMaterializer = exports.Result = exports.TimestampTimeframe = exports.DateTimeframe = exports.SourceRelationship = exports.JoinRelationship = exports.MalloyError = exports.FixedConnectionMap = exports.InMemoryURLReader = exports.EmptyURLReader = exports.SingleConnectionRuntime = exports.ConnectionRuntime = exports.AtomicFieldType = exports.Runtime = exports.Malloy = exports.MalloyTranslator = exports.HighlightType = exports.expressionIsCalculation = exports.flattenQuery = exports.isFilteredAliasedName = exports.Segment = void 0;
26
26
  var model_1 = require("./model");
27
27
  // Used in Composer Demo
28
28
  Object.defineProperty(exports, "Segment", { enumerable: true, get: function () { return model_1.Segment; } });
@@ -49,7 +49,6 @@ Object.defineProperty(exports, "SourceRelationship", { enumerable: true, get: fu
49
49
  Object.defineProperty(exports, "DateTimeframe", { enumerable: true, get: function () { return malloy_1.DateTimeframe; } });
50
50
  Object.defineProperty(exports, "TimestampTimeframe", { enumerable: true, get: function () { return malloy_1.TimestampTimeframe; } });
51
51
  Object.defineProperty(exports, "Result", { enumerable: true, get: function () { return malloy_1.Result; } });
52
- Object.defineProperty(exports, "parseTableURI", { enumerable: true, get: function () { return malloy_1.parseTableURI; } });
53
52
  Object.defineProperty(exports, "QueryMaterializer", { enumerable: true, get: function () { return malloy_1.QueryMaterializer; } });
54
53
  Object.defineProperty(exports, "CSVWriter", { enumerable: true, get: function () { return malloy_1.CSVWriter; } });
55
54
  Object.defineProperty(exports, "JSONWriter", { enumerable: true, get: function () { return malloy_1.JSONWriter; } });
@@ -79,12 +79,6 @@ class ExprFunc extends expression_def_1.ExpressionDef {
79
79
  if (func.name !== this.name) {
80
80
  this.log(`Case insensitivity for function names is deprecated, use '${func.name}' instead`, 'warn');
81
81
  }
82
- if (func.name !== this.name) {
83
- this.log(`Case insensitivity for function names is deprecated, use '${func.name}' instead`, 'warn');
84
- }
85
- if (func.name !== this.name) {
86
- this.log(`Case insensitivity for function names is deprecated, use '${func.name}' instead`, 'warn');
87
- }
88
82
  // Find the 'implicit argument' for aggregate functions called like `some_join.some_field.agg(...args)`
89
83
  // where the full arg list is `(some_field, ...args)`.
90
84
  let implicitExpr = undefined;
@@ -81,6 +81,10 @@ class NamedSource extends source_1.Source {
81
81
  this.log(`Cannot construct a source from a function '${this.refName}`);
82
82
  return;
83
83
  }
84
+ else if (entry.type === 'connection') {
85
+ this.log(`Cannot construct a source from a connection '${this.refName}`);
86
+ return;
87
+ }
84
88
  else if ((0, malloy_types_1.isSQLBlockStruct)(entry) && entry.declaredSQLBlock) {
85
89
  this.log(`Must use 'from_sql()' for sql source '${this.refName}`);
86
90
  return;
@@ -48,6 +48,10 @@ class SQLSource extends named_source_1.NamedSource {
48
48
  this.log(`Cannot use 'from_sql()' with a query '${this.refName}'`);
49
49
  return;
50
50
  }
51
+ else if (entry.type === 'connection') {
52
+ this.log(`Cannot use 'from_sql()' with a connection '${this.refName}'`);
53
+ return;
54
+ }
51
55
  else if ((0, malloy_types_1.isSQLBlockStruct)(entry) && entry.declaredSQLBlock) {
52
56
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
53
57
  const { declaredSQLBlock, ...newEntry } = entry;
@@ -1,8 +1,25 @@
1
1
  import { StructDef } from '../../../model/malloy_types';
2
2
  import { Source } from '../elements/source';
3
- export declare class TableSource extends Source {
4
- readonly name: string;
5
- elementType: string;
6
- constructor(name: string);
3
+ import { ModelEntryReference } from '../types/malloy-element';
4
+ declare type TableInfo = {
5
+ tablePath: string;
6
+ connectionName?: string | undefined;
7
+ };
8
+ export declare abstract class TableSource extends Source {
9
+ abstract getTableInfo(): TableInfo | undefined;
7
10
  structDef(): StructDef;
8
11
  }
12
+ export declare class TableMethodSource extends TableSource {
13
+ readonly connectionName: ModelEntryReference;
14
+ readonly tablePath: string;
15
+ elementType: string;
16
+ constructor(connectionName: ModelEntryReference, tablePath: string);
17
+ getTableInfo(): TableInfo | undefined;
18
+ }
19
+ export declare class TableFunctionSource extends TableSource {
20
+ readonly tableURI: string;
21
+ elementType: string;
22
+ constructor(tableURI: string);
23
+ getTableInfo(): TableInfo | undefined;
24
+ }
25
+ export {};
@@ -22,19 +22,21 @@
22
22
  * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23
23
  */
24
24
  Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.TableSource = void 0;
25
+ exports.TableFunctionSource = exports.TableMethodSource = exports.TableSource = void 0;
26
+ const find_external_references_1 = require("../../parse-tree-walkers/find-external-references");
26
27
  const source_1 = require("../elements/source");
27
28
  const error_factory_1 = require("../error-factory");
28
29
  class TableSource extends source_1.Source {
29
- constructor(name) {
30
- super();
31
- this.name = name;
32
- this.elementType = 'tableSource';
33
- }
34
30
  structDef() {
35
31
  var _a;
36
- const tableDefEntry = (_a = this.translator()) === null || _a === void 0 ? void 0 : _a.root.schemaZone.getEntry(this.name);
37
- let msg = `Schema read failure for table '${this.name}'`;
32
+ const info = this.getTableInfo();
33
+ if (info === undefined) {
34
+ return error_factory_1.ErrorFactory.structDef;
35
+ }
36
+ const { tablePath, connectionName } = info;
37
+ const key = (0, find_external_references_1.constructTableKey)(connectionName, tablePath);
38
+ const tableDefEntry = (_a = this.translator()) === null || _a === void 0 ? void 0 : _a.root.schemaZone.getEntry(key);
39
+ let msg = `Schema read failure for table '${tablePath}' for connection '${connectionName}'`;
38
40
  if (tableDefEntry) {
39
41
  if (tableDefEntry.status === 'present') {
40
42
  tableDefEntry.value.location = this.location;
@@ -59,4 +61,43 @@ class TableSource extends source_1.Source {
59
61
  }
60
62
  }
61
63
  exports.TableSource = TableSource;
64
+ class TableMethodSource extends TableSource {
65
+ constructor(connectionName, tablePath) {
66
+ super();
67
+ this.connectionName = connectionName;
68
+ this.tablePath = tablePath;
69
+ this.elementType = 'tableMethodSource';
70
+ this.has({ connectionName });
71
+ }
72
+ getTableInfo() {
73
+ var _a;
74
+ const connection = this.modelEntry(this.connectionName);
75
+ const name = this.connectionName.refString;
76
+ if (connection === undefined) {
77
+ (_a = this.namespace()) === null || _a === void 0 ? void 0 : _a.setEntry(name, { entry: { type: 'connection', name }, exported: true }, true);
78
+ }
79
+ else if (connection.entry.type !== 'connection') {
80
+ this.connectionName.log(`${this.connectionName.refString} is not a connection`);
81
+ return undefined;
82
+ }
83
+ return {
84
+ tablePath: this.tablePath,
85
+ connectionName: this.connectionName.refString,
86
+ };
87
+ }
88
+ }
89
+ exports.TableMethodSource = TableMethodSource;
90
+ class TableFunctionSource extends TableSource {
91
+ constructor(tableURI) {
92
+ super();
93
+ this.tableURI = tableURI;
94
+ this.elementType = 'tableFunctionSource';
95
+ }
96
+ getTableInfo() {
97
+ // This use of `deprecatedParseTableURI` is ok because it is for handling the
98
+ // old, soon-to-be-deprecated table syntax.
99
+ return (0, find_external_references_1.deprecatedParseTableURI)(this.tableURI);
100
+ }
101
+ }
102
+ exports.TableFunctionSource = TableFunctionSource;
62
103
  //# sourceMappingURL=table-source.js.map
@@ -181,99 +181,101 @@ export declare class MalloyParser extends Parser {
181
181
  static readonly RULE_firstSegment = 23;
182
182
  static readonly RULE_pipeElement = 24;
183
183
  static readonly RULE_exploreTable = 25;
184
- static readonly RULE_queryProperties = 26;
185
- static readonly RULE_filterShortcut = 27;
186
- static readonly RULE_exploreQueryName = 28;
187
- static readonly RULE_queryName = 29;
188
- static readonly RULE_sourcePropertyList = 30;
189
- static readonly RULE_sourceDefinition = 31;
190
- static readonly RULE_explore = 32;
191
- static readonly RULE_exploreSource = 33;
192
- static readonly RULE_sourceNameDef = 34;
193
- static readonly RULE_sourceID = 35;
194
- static readonly RULE_exploreProperties = 36;
195
- static readonly RULE_exploreStatement = 37;
196
- static readonly RULE_defMeasures = 38;
197
- static readonly RULE_defDimensions = 39;
198
- static readonly RULE_renameList = 40;
199
- static readonly RULE_exploreRenameDef = 41;
200
- static readonly RULE_defList = 42;
201
- static readonly RULE_fieldDef = 43;
202
- static readonly RULE_fieldNameDef = 44;
203
- static readonly RULE_joinNameDef = 45;
204
- static readonly RULE_declareStatement = 46;
205
- static readonly RULE_joinStatement = 47;
206
- static readonly RULE_queryExtend = 48;
207
- static readonly RULE_queryExtendStatement = 49;
208
- static readonly RULE_queryExtendStatementList = 50;
209
- static readonly RULE_joinList = 51;
210
- static readonly RULE_isExplore = 52;
211
- static readonly RULE_joinDef = 53;
212
- static readonly RULE_joinExpression = 54;
213
- static readonly RULE_filterStatement = 55;
214
- static readonly RULE_filteredBy = 56;
215
- static readonly RULE_filterClauseList = 57;
216
- static readonly RULE_whereStatement = 58;
217
- static readonly RULE_havingStatement = 59;
218
- static readonly RULE_subQueryDefList = 60;
219
- static readonly RULE_exploreQueryNameDef = 61;
220
- static readonly RULE_exploreQueryDef = 62;
221
- static readonly RULE_queryStatement = 63;
222
- static readonly RULE_queryJoinStatement = 64;
223
- static readonly RULE_groupByStatement = 65;
224
- static readonly RULE_queryFieldList = 66;
225
- static readonly RULE_queryFieldEntry = 67;
226
- static readonly RULE_nestStatement = 68;
227
- static readonly RULE_nestedQueryList = 69;
228
- static readonly RULE_nestEntry = 70;
229
- static readonly RULE_aggregateStatement = 71;
230
- static readonly RULE_calculateStatement = 72;
231
- static readonly RULE_projectStatement = 73;
232
- static readonly RULE_orderByStatement = 74;
233
- static readonly RULE_ordering = 75;
234
- static readonly RULE_orderBySpec = 76;
235
- static readonly RULE_limitStatement = 77;
236
- static readonly RULE_bySpec = 78;
237
- static readonly RULE_topStatement = 79;
238
- static readonly RULE_indexElement = 80;
239
- static readonly RULE_indexFields = 81;
240
- static readonly RULE_indexStatement = 82;
241
- static readonly RULE_sampleStatement = 83;
242
- static readonly RULE_timezoneStatement = 84;
243
- static readonly RULE_timezoneName = 85;
244
- static readonly RULE_queryAnnotation = 86;
245
- static readonly RULE_sampleSpec = 87;
246
- static readonly RULE_aggregate = 88;
247
- static readonly RULE_malloyType = 89;
248
- static readonly RULE_compareOp = 90;
249
- static readonly RULE_literal = 91;
250
- static readonly RULE_dateLiteral = 92;
251
- static readonly RULE_tableName = 93;
252
- static readonly RULE_id = 94;
253
- static readonly RULE_timeframe = 95;
254
- static readonly RULE_ungroup = 96;
255
- static readonly RULE_fieldExpr = 97;
256
- static readonly RULE_partialAllowedFieldExpr = 98;
257
- static readonly RULE_pickStatement = 99;
258
- static readonly RULE_pick = 100;
259
- static readonly RULE_argumentList = 101;
260
- static readonly RULE_fieldNameList = 102;
261
- static readonly RULE_fieldCollection = 103;
262
- static readonly RULE_collectionWildCard = 104;
263
- static readonly RULE_taggedRef = 105;
264
- static readonly RULE_collectionMember = 106;
265
- static readonly RULE_fieldPath = 107;
266
- static readonly RULE_joinName = 108;
267
- static readonly RULE_fieldName = 109;
268
- static readonly RULE_justExpr = 110;
269
- static readonly RULE_json = 111;
270
- static readonly RULE_jsonValue = 112;
271
- static readonly RULE_jsonObject = 113;
272
- static readonly RULE_jsonProperty = 114;
273
- static readonly RULE_jsonArray = 115;
274
- static readonly RULE_sqlExploreNameRef = 116;
275
- static readonly RULE_nameSQLBlock = 117;
276
- static readonly RULE_connectionName = 118;
184
+ static readonly RULE_connectionId = 26;
185
+ static readonly RULE_queryProperties = 27;
186
+ static readonly RULE_filterShortcut = 28;
187
+ static readonly RULE_exploreQueryName = 29;
188
+ static readonly RULE_queryName = 30;
189
+ static readonly RULE_sourcePropertyList = 31;
190
+ static readonly RULE_sourceDefinition = 32;
191
+ static readonly RULE_explore = 33;
192
+ static readonly RULE_exploreSource = 34;
193
+ static readonly RULE_sourceNameDef = 35;
194
+ static readonly RULE_sourceID = 36;
195
+ static readonly RULE_exploreProperties = 37;
196
+ static readonly RULE_exploreStatement = 38;
197
+ static readonly RULE_defMeasures = 39;
198
+ static readonly RULE_defDimensions = 40;
199
+ static readonly RULE_renameList = 41;
200
+ static readonly RULE_exploreRenameDef = 42;
201
+ static readonly RULE_defList = 43;
202
+ static readonly RULE_fieldDef = 44;
203
+ static readonly RULE_fieldNameDef = 45;
204
+ static readonly RULE_joinNameDef = 46;
205
+ static readonly RULE_declareStatement = 47;
206
+ static readonly RULE_joinStatement = 48;
207
+ static readonly RULE_queryExtend = 49;
208
+ static readonly RULE_queryExtendStatement = 50;
209
+ static readonly RULE_queryExtendStatementList = 51;
210
+ static readonly RULE_joinList = 52;
211
+ static readonly RULE_isExplore = 53;
212
+ static readonly RULE_joinDef = 54;
213
+ static readonly RULE_joinExpression = 55;
214
+ static readonly RULE_filterStatement = 56;
215
+ static readonly RULE_filteredBy = 57;
216
+ static readonly RULE_filterClauseList = 58;
217
+ static readonly RULE_whereStatement = 59;
218
+ static readonly RULE_havingStatement = 60;
219
+ static readonly RULE_subQueryDefList = 61;
220
+ static readonly RULE_exploreQueryNameDef = 62;
221
+ static readonly RULE_exploreQueryDef = 63;
222
+ static readonly RULE_queryStatement = 64;
223
+ static readonly RULE_queryJoinStatement = 65;
224
+ static readonly RULE_groupByStatement = 66;
225
+ static readonly RULE_queryFieldList = 67;
226
+ static readonly RULE_queryFieldEntry = 68;
227
+ static readonly RULE_nestStatement = 69;
228
+ static readonly RULE_nestedQueryList = 70;
229
+ static readonly RULE_nestEntry = 71;
230
+ static readonly RULE_aggregateStatement = 72;
231
+ static readonly RULE_calculateStatement = 73;
232
+ static readonly RULE_projectStatement = 74;
233
+ static readonly RULE_orderByStatement = 75;
234
+ static readonly RULE_ordering = 76;
235
+ static readonly RULE_orderBySpec = 77;
236
+ static readonly RULE_limitStatement = 78;
237
+ static readonly RULE_bySpec = 79;
238
+ static readonly RULE_topStatement = 80;
239
+ static readonly RULE_indexElement = 81;
240
+ static readonly RULE_indexFields = 82;
241
+ static readonly RULE_indexStatement = 83;
242
+ static readonly RULE_sampleStatement = 84;
243
+ static readonly RULE_timezoneStatement = 85;
244
+ static readonly RULE_timezoneName = 86;
245
+ static readonly RULE_queryAnnotation = 87;
246
+ static readonly RULE_sampleSpec = 88;
247
+ static readonly RULE_aggregate = 89;
248
+ static readonly RULE_malloyType = 90;
249
+ static readonly RULE_compareOp = 91;
250
+ static readonly RULE_literal = 92;
251
+ static readonly RULE_dateLiteral = 93;
252
+ static readonly RULE_tablePath = 94;
253
+ static readonly RULE_tableURI = 95;
254
+ static readonly RULE_id = 96;
255
+ static readonly RULE_timeframe = 97;
256
+ static readonly RULE_ungroup = 98;
257
+ static readonly RULE_fieldExpr = 99;
258
+ static readonly RULE_partialAllowedFieldExpr = 100;
259
+ static readonly RULE_pickStatement = 101;
260
+ static readonly RULE_pick = 102;
261
+ static readonly RULE_argumentList = 103;
262
+ static readonly RULE_fieldNameList = 104;
263
+ static readonly RULE_fieldCollection = 105;
264
+ static readonly RULE_collectionWildCard = 106;
265
+ static readonly RULE_taggedRef = 107;
266
+ static readonly RULE_collectionMember = 108;
267
+ static readonly RULE_fieldPath = 109;
268
+ static readonly RULE_joinName = 110;
269
+ static readonly RULE_fieldName = 111;
270
+ static readonly RULE_justExpr = 112;
271
+ static readonly RULE_json = 113;
272
+ static readonly RULE_jsonValue = 114;
273
+ static readonly RULE_jsonObject = 115;
274
+ static readonly RULE_jsonProperty = 116;
275
+ static readonly RULE_jsonArray = 117;
276
+ static readonly RULE_sqlExploreNameRef = 118;
277
+ static readonly RULE_nameSQLBlock = 119;
278
+ static readonly RULE_connectionName = 120;
277
279
  static readonly ruleNames: string[];
278
280
  private static readonly _LITERAL_NAMES;
279
281
  private static readonly _SYMBOLIC_NAMES;
@@ -310,6 +312,7 @@ export declare class MalloyParser extends Parser {
310
312
  firstSegment(): FirstSegmentContext;
311
313
  pipeElement(): PipeElementContext;
312
314
  exploreTable(): ExploreTableContext;
315
+ connectionId(): ConnectionIdContext;
313
316
  queryProperties(): QueryPropertiesContext;
314
317
  filterShortcut(): FilterShortcutContext;
315
318
  exploreQueryName(): ExploreQueryNameContext;
@@ -377,7 +380,8 @@ export declare class MalloyParser extends Parser {
377
380
  compareOp(): CompareOpContext;
378
381
  literal(): LiteralContext;
379
382
  dateLiteral(): DateLiteralContext;
380
- tableName(): TableNameContext;
383
+ tablePath(): TablePathContext;
384
+ tableURI(): TableURIContext;
381
385
  id(): IdContext;
382
386
  timeframe(): TimeframeContext;
383
387
  ungroup(): UngroupContext;
@@ -712,10 +716,34 @@ export declare class PipeElementContext extends ParserRuleContext {
712
716
  accept<Result>(visitor: MalloyParserVisitor<Result>): Result;
713
717
  }
714
718
  export declare class ExploreTableContext extends ParserRuleContext {
719
+ constructor(parent: ParserRuleContext | undefined, invokingState: number);
720
+ get ruleIndex(): number;
721
+ copyFrom(ctx: ExploreTableContext): void;
722
+ }
723
+ export declare class TableFunctionContext extends ExploreTableContext {
724
+ TABLE(): TerminalNode;
725
+ OPAREN(): TerminalNode;
726
+ tableURI(): TableURIContext;
727
+ CPAREN(): TerminalNode;
728
+ constructor(ctx: ExploreTableContext);
729
+ enterRule(listener: MalloyParserListener): void;
730
+ exitRule(listener: MalloyParserListener): void;
731
+ accept<Result>(visitor: MalloyParserVisitor<Result>): Result;
732
+ }
733
+ export declare class TableMethodContext extends ExploreTableContext {
734
+ connectionId(): ConnectionIdContext;
735
+ DOT(): TerminalNode;
715
736
  TABLE(): TerminalNode;
716
737
  OPAREN(): TerminalNode;
717
- tableName(): TableNameContext;
738
+ tablePath(): TablePathContext;
718
739
  CPAREN(): TerminalNode;
740
+ constructor(ctx: ExploreTableContext);
741
+ enterRule(listener: MalloyParserListener): void;
742
+ exitRule(listener: MalloyParserListener): void;
743
+ accept<Result>(visitor: MalloyParserVisitor<Result>): Result;
744
+ }
745
+ export declare class ConnectionIdContext extends ParserRuleContext {
746
+ id(): IdContext;
719
747
  constructor(parent: ParserRuleContext | undefined, invokingState: number);
720
748
  get ruleIndex(): number;
721
749
  enterRule(listener: MalloyParserListener): void;
@@ -1688,7 +1716,15 @@ export declare class LiteralYearContext extends DateLiteralContext {
1688
1716
  exitRule(listener: MalloyParserListener): void;
1689
1717
  accept<Result>(visitor: MalloyParserVisitor<Result>): Result;
1690
1718
  }
1691
- export declare class TableNameContext extends ParserRuleContext {
1719
+ export declare class TablePathContext extends ParserRuleContext {
1720
+ STRING_LITERAL(): TerminalNode;
1721
+ constructor(parent: ParserRuleContext | undefined, invokingState: number);
1722
+ get ruleIndex(): number;
1723
+ enterRule(listener: MalloyParserListener): void;
1724
+ exitRule(listener: MalloyParserListener): void;
1725
+ accept<Result>(visitor: MalloyParserVisitor<Result>): Result;
1726
+ }
1727
+ export declare class TableURIContext extends ParserRuleContext {
1692
1728
  STRING_LITERAL(): TerminalNode;
1693
1729
  constructor(parent: ParserRuleContext | undefined, invokingState: number);
1694
1730
  get ruleIndex(): number;