We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
1.26.0
I accidentally left an alias off my subquery and I got a panic instead of a useful error message.
Failing playground without alias (included below as well): https://play.sqlc.dev/p/9bd88a936c60738a57503c6314f5805316327b3dbf51a03c49518ff729382b44
Passing playground with alias: https://play.sqlc.dev/p/47e54486a69100bf2e6e61436518f642835859e73a7ba42ab89f0f74234be50c
Example with postgres that gives a useful error message instead of the panic: https://play.sqlc.dev/p/dd2d6eaf25d9bef2b07e1cd7dc5a4b949694ba6d200b419724d13a513c1eaf1a
panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x10d0247] goroutine 6 [running]: github.com/sqlc-dev/sqlc/internal/compiler.(*Compiler).sourceTables(0xc00049c008, 0xc00048ed50, {0x1d84f80?, 0xc0009d9ad0?}) /home/user/.asdf/installs/golang/1.22.2/packages/pkg/mod/github.com/sqlc-dev/[email protected]/internal/compiler/output_columns.go:601 +0xaa7 github.com/sqlc-dev/sqlc/internal/compiler.(*Compiler).outputColumns(0xc00049c008, 0xc00048ed50, {0x1d84f80, 0xc0009d9ad0}) /home/user/.asdf/installs/golang/1.22.2/packages/pkg/mod/github.com/sqlc-dev/[email protected]/internal/compiler/output_columns.go:55 +0x45 github.com/sqlc-dev/sqlc/internal/compiler.(*Compiler)._analyzeQuery(0xc00049c008, 0xc000f8fde0, {0xc000062fcc, 0x83}, 0x1) /home/user/.asdf/installs/golang/1.22.2/packages/pkg/mod/github.com/sqlc-dev/[email protected]/internal/compiler/analyze.go:180 +0xced github.com/sqlc-dev/sqlc/internal/compiler.(*Compiler).analyzeQuery(...) /home/user/.asdf/installs/golang/1.22.2/packages/pkg/mod/github.com/sqlc-dev/[email protected]/internal/compiler/analyze.go:110 github.com/sqlc-dev/sqlc/internal/compiler.(*Compiler).parseQuery(0xc00049c008, {0x1d85140, 0xc000f8fde0}, {0xc000062c00, 0x5d5}, {{0x0, 0x0, {0x0, 0x0}, 0x0, ...}}) /home/user/.asdf/installs/golang/1.22.2/packages/pkg/mod/github.com/sqlc-dev/[email protected]/internal/compiler/parse.go:103 +0x5d5 github.com/sqlc-dev/sqlc/internal/compiler.(*Compiler).parseQueries(0xc00049c008, {{0x0, 0x0, {0x0, 0x0}, 0x0, 0x0, 0x0, 0x0}}) /home/user/.asdf/installs/golang/1.22.2/packages/pkg/mod/github.com/sqlc-dev/[email protected]/internal/compiler/compile.go:81 +0x467 github.com/sqlc-dev/sqlc/internal/compiler.(*Compiler).ParseQueries(...) /home/user/.asdf/installs/golang/1.22.2/packages/pkg/mod/github.com/sqlc-dev/[email protected]/internal/compiler/engine.go:76 github.com/sqlc-dev/sqlc/internal/cmd.parse({_, _}, {_, _}, {_, _}, {{0x0, 0x0}, {0xc00047629a, 0x6}, ...}, ...) /home/user/.asdf/installs/golang/1.22.2/packages/pkg/mod/github.com/sqlc-dev/[email protected]/internal/cmd/generate.go:322 +0x30b github.com/sqlc-dev/sqlc/internal/cmd.processQuerySets.func1() /home/user/.asdf/installs/golang/1.22.2/packages/pkg/mod/github.com/sqlc-dev/[email protected]/internal/cmd/process.go:107 +0x877 golang.org/x/sync/errgroup.(*Group).Go.func1() /home/user/.asdf/installs/golang/1.22.2/packages/pkg/mod/golang.org/x/[email protected]/errgroup/errgroup.go:78 +0x56 created by golang.org/x/sync/errgroup.(*Group).Go in goroutine 1 /home/user/.asdf/installs/golang/1.22.2/packages/pkg/mod/golang.org/x/[email protected]/errgroup/errgroup.go:75 +0x96
CREATE TABLE clients ( id INTEGER NOT NULL, created_at DATETIME DEFAULT (CURRENT_TIMESTAMP) NOT NULL, updated_at DATETIME DEFAULT (CURRENT_TIMESTAMP) NOT NULL, deleted_at DATETIME, external_id VARCHAR(36) NOT NULL, meta JSON NOT NULL, PRIMARY KEY (id), UNIQUE (external_id) );
-- name: GetNextClientID :one SELECT max(external_id) FROM ( SELECT external_id FROM clients ORDER BY external_id LIMIT ? );
version: "2" sql: - engine: "sqlite" queries: "internal/database/query.sql" schema: "internal/database/migrations" gen: go: package: "database" out: "internal/database"
https://play.sqlc.dev/p/9bd88a936c60738a57503c6314f5805316327b3dbf51a03c49518ff729382b44
Linux
SQLite
Go
The text was updated successfully, but these errors were encountered:
Same error for me on version 1.28.0, thanks for pointing out that adding an alias fixes it.
Sorry, something went wrong.
No branches or pull requests
Version
1.26.0
What happened?
I accidentally left an alias off my subquery and I got a panic instead of a useful error message.
Failing playground without alias (included below as well): https://play.sqlc.dev/p/9bd88a936c60738a57503c6314f5805316327b3dbf51a03c49518ff729382b44
Passing playground with alias: https://play.sqlc.dev/p/47e54486a69100bf2e6e61436518f642835859e73a7ba42ab89f0f74234be50c
Example with postgres that gives a useful error message instead of the panic: https://play.sqlc.dev/p/dd2d6eaf25d9bef2b07e1cd7dc5a4b949694ba6d200b419724d13a513c1eaf1a
Relevant log output
Database schema
SQL queries
Configuration
Playground URL
https://play.sqlc.dev/p/9bd88a936c60738a57503c6314f5805316327b3dbf51a03c49518ff729382b44
What operating system are you using?
Linux
What database engines are you using?
SQLite
What type of code are you generating?
Go
The text was updated successfully, but these errors were encountered: