Skip to content

Commit e81b1b5

Browse files
fix: range subselect alias pointer dereference (#3711)
* fix: range subselect alias pointer dereference * add endtoend tests * rebase onto main and update test gens * add back devenv.lock --------- Co-authored-by: Andrew Benton <[email protected]>
1 parent e3ad3b5 commit e81b1b5

File tree

19 files changed

+291
-1
lines changed

19 files changed

+291
-1
lines changed

internal/compiler/output_columns.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -596,9 +596,15 @@ func (c *Compiler) sourceTables(qc *QueryCatalog, node ast.Node) ([]*Table, erro
596596
if err != nil {
597597
return nil, err
598598
}
599+
600+
var tableName string
601+
if n.Alias != nil {
602+
tableName = *n.Alias.Aliasname
603+
}
604+
599605
tables = append(tables, &Table{
600606
Rel: &ast.TableName{
601-
Name: *n.Alias.Aliasname,
607+
Name: tableName,
602608
},
603609
Columns: cols,
604610
})

internal/endtoend/testdata/select_subquery_no_alias/mysql/go/db.go

Lines changed: 31 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/endtoend/testdata/select_subquery_no_alias/mysql/go/models.go

Lines changed: 14 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/endtoend/testdata/select_subquery_no_alias/mysql/go/query.sql.go

Lines changed: 37 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
-- name: Subquery :many
2+
SELECT * FROM (SELECT * FROM foo);
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
CREATE TABLE foo (a int not null, name text);
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
version: "2"
2+
sql:
3+
- engine: "mysql"
4+
schema: "schema.sql"
5+
queries: "query.sql"
6+
gen:
7+
go:
8+
package: "querytest"
9+
out: "go"

internal/endtoend/testdata/select_subquery_no_alias/postgres/stdlib/go/db.go

Lines changed: 31 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/endtoend/testdata/select_subquery_no_alias/postgres/stdlib/go/models.go

Lines changed: 14 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/endtoend/testdata/select_subquery_no_alias/postgres/stdlib/go/query.sql.go

Lines changed: 37 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)