@@ -1963,10 +1963,7 @@ extension Parser on ParserState {
19631963 }
19641964
19651965 _consume (TokenType .on , 'Expected ON' );
1966- _suggestHint (const TableNameDescription ());
1967- final nameToken = _consumeIdentifier ('Expected a table name' );
1968- final tableRef = TableReference (nameToken.identifier)
1969- ..setSpan (nameToken, nameToken);
1966+ final tableRef = _tableReference (allowAlias: false );
19701967
19711968 if (_matchOne (TokenType .$for)) {
19721969 const msg = 'Expected FOR EACH ROW' ;
@@ -2062,11 +2059,7 @@ extension Parser on ParserState {
20622059 final name = _consumeIdentifier ('Expected a name for this index' );
20632060
20642061 _consume (TokenType .on , 'Expected ON table' );
2065- _suggestHint (const TableNameDescription ());
2066- final nameToken = _consumeIdentifier ('Expected a table name' );
2067- final tableRef = TableReference (nameToken.identifier)
2068- ..setSpan (nameToken, nameToken);
2069-
2062+ final tableRef = _tableReference (allowAlias: false );
20702063 _consume (TokenType .leftParen, 'Expected indexed columns in parentheses' );
20712064
20722065 final indexes = _indexedColumns ();
@@ -2589,26 +2582,27 @@ extension Parser on ParserState {
25892582 TableReference _tableReference ({bool allowAlias = true }) {
25902583 _suggestHint (const TableNameDescription ());
25912584
2592- final first = _consumeIdentifier ('Expected table or schema name here' );
2593- IdentifierToken ? second;
2585+ var tableName = _consumeIdentifier ('Expected table or schema name here' );
2586+
2587+ IdentifierToken ? schemaName;
25942588 IdentifierToken ? as ;
25952589 if (_matchOne (TokenType .dot)) {
2596- second = _consumeIdentifier ('Expected a table name here' );
2590+ schemaName = tableName;
2591+ tableName = _consumeIdentifier ('Expected a table name here' );
25972592 }
25982593
25992594 if (allowAlias) {
26002595 as = _as ();
26012596 }
26022597
2603- final tableNameToken = second ?? first;
2604-
26052598 return TableReference (
2606- tableNameToken .identifier,
2599+ tableName .identifier,
26072600 as : as ? .identifier,
2608- schemaName: second == null ? null : first .identifier,
2601+ schemaName: schemaName ? .identifier,
26092602 )
2610- ..setSpan (first, _previous)
2611- ..tableNameToken = tableNameToken;
2603+ ..setSpan (schemaName ?? tableName, _previous)
2604+ ..schemaNameToken = schemaName
2605+ ..tableNameToken = tableName;
26122606 }
26132607
26142608 ForeignKeyClause _foreignKeyClause () {
0 commit comments