Skip to content

Commit 9cd0daa

Browse files
committed
Fixed name
1 parent 802961f commit 9cd0daa

6 files changed

Lines changed: 18 additions & 9 deletions

File tree

Sources/Compiler/Parse/Parsers.swift

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1026,6 +1026,7 @@ enum Parsers {
10261026
}
10271027
}
10281028

1029+
/// https://www.sqlite.org/syntax/table-or-subquery.html
10291030
static func tableOrSubquery(state: inout ParserState) throws -> TableOrSubquerySyntax {
10301031
let start = state.location
10311032
let kind: TableOrSubquerySyntax.Kind
@@ -1076,8 +1077,16 @@ enum Parsers {
10761077
case let .join(joinClause):
10771078
kind = .join(joinClause)
10781079
case let .tableOrSubqueries(table):
1080+
// Note: The alias is not mentioned at all in the documentation.
1081+
// I think this is a bug in the docs, since you can clearly add one
1082+
// unless im misinterpreting the diagram which is more than possible.
1083+
//
1084+
// Valid SQL:
1085+
// SELECT * FROM (foo, bar) AS baz;
1086+
//
1087+
// https://www.sqlite.org/syntax/table-or-subquery.html
10791088
let alias = maybeAlias(state: &state, asRequired: false)
1080-
kind = .subTableOrSubqueries(table, alias: alias)
1089+
kind = .tableOrSubqueries(table, alias: alias)
10811090
}
10821091
}
10831092
default:

Sources/Compiler/Sema/NameInferrer.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ struct NameInferrer {
170170
return joinClauseSyntax.joins.reduce(.none) {
171171
unify(names: $0, with: infer(tableOrSubquery: $1.tableOrSubquery))
172172
}
173-
case .subTableOrSubqueries(let tableOrSubqueries, _):
173+
case .tableOrSubqueries(let tableOrSubqueries, _):
174174
return tableOrSubqueries.reduce(.none) {
175175
unify(names: $0, with: infer(tableOrSubquery: $1))
176176
}

Sources/Compiler/Sema/StmtTypeChecker.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -849,7 +849,7 @@ extension StmtTypeChecker {
849849
selectedColumns: usedColumns
850850
)
851851
case .tableFunction:
852-
fatalError()
852+
fatalError("Not yet implemented")
853853
case let .subquery(selectStmt, alias):
854854
let resultColumns = inNewEnvironment { inferrer in
855855
inferrer.typeCheck(select: selectStmt)
@@ -867,7 +867,7 @@ extension StmtTypeChecker {
867867
}
868868
case let .join(joinClause):
869869
typeCheck(joinClause: joinClause)
870-
case .subTableOrSubqueries:
870+
case .tableOrSubqueries:
871871
fatalError()
872872
}
873873
}

Sources/Compiler/Syntax/TableOrSubquerySyntax.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ struct TableOrSubquerySyntax: Syntax {
1515
case tableFunction(schema: IdentifierSyntax?, table: IdentifierSyntax, args: [ExpressionSyntax], alias: AliasSyntax?)
1616
case subquery(SelectStmtSyntax, alias: AliasSyntax?)
1717
indirect case join(JoinClauseSyntax)
18-
case subTableOrSubqueries([TableOrSubquerySyntax], alias: AliasSyntax?)
18+
case tableOrSubqueries([TableOrSubquerySyntax], alias: AliasSyntax?)
1919
}
2020

2121
struct Table {

Tests/CompilerTests/Parser/ParseJoinClause.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ foo INNER JOIN bar ON 1;
8686
-- CHECK: NATURAL false
8787
-- CHECK: TABLE_OR_SUBQUERY
8888
-- CHECK: KIND
89-
-- CHECK: SUB_TABLE_OR_SUBQUERIES
89+
-- CHECK: TABLE_OR_SUBQUERIES
9090
-- CHECK: TABLE_OR_SUBQUERY_SYNTAX
9191
-- CHECK: KIND
9292
-- CHECK: TABLE

Tests/CompilerTests/Parser/ParseTableOrSubquery.sql

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ foo.bar AS baz NOT INDEXED;
3838

3939
-- CHECK: TABLE_OR_SUBQUERY_SYNTAX
4040
-- CHECK: KIND
41-
-- CHECK: SUB_TABLE_OR_SUBQUERIES
41+
-- CHECK: TABLE_OR_SUBQUERIES
4242
-- CHECK: TABLE_OR_SUBQUERY_SYNTAX
4343
-- CHECK: KIND
4444
-- CHECK: TABLE
@@ -51,7 +51,7 @@ foo.bar AS baz NOT INDEXED;
5151

5252
-- CHECK: TABLE_OR_SUBQUERY_SYNTAX
5353
-- CHECK: KIND
54-
-- CHECK: SUB_TABLE_OR_SUBQUERIES
54+
-- CHECK: TABLE_OR_SUBQUERIES
5555
-- CHECK: TABLE_OR_SUBQUERY_SYNTAX
5656
-- CHECK: KIND
5757
-- CHECK: TABLE
@@ -65,7 +65,7 @@ foo.bar AS baz NOT INDEXED;
6565

6666
-- CHECK: TABLE_OR_SUBQUERY_SYNTAX
6767
-- CHECK: KIND
68-
-- CHECK: SUB_TABLE_OR_SUBQUERIES
68+
-- CHECK: TABLE_OR_SUBQUERIES
6969
-- CHECK: TABLE_OR_SUBQUERY_SYNTAX
7070
-- CHECK: KIND
7171
-- CHECK: TABLE

0 commit comments

Comments
 (0)