Version
Other
What happened?
sqlc fails to parse the query when CASE expression has ELSE clause and its value is a constant.
The example query is as below.
SELECT CASE
WHEN id = $1 THEN 'foo'
ELSE 'bar'
END is_one
FROM foo
sqlc fails to parse this query with the error: parse table name: unexpected node type: *ast.Null.
Relevant log output
parse table name: unexpected node type: *ast.Null
Database schema
CREATE TABLE foo (id text not null);
SQL queries
SELECT CASE
WHEN id = $1 THEN 'foo'
ELSE 'bar'
END is_one
FROM foo
Configuration
{
"version": "1",
"packages": [
{
"path": "go",
"engine": "postgresql",
"sql_package": "pgx/v5",
"name": "querytest",
"schema": "query.sql",
"queries": "query.sql"
}
]
}
Playground URL
https://play.sqlc.dev/p/968c7c9391b3aa32774930ab1d635c081c72d6f23bdf2db7ff9c94dfba0f178a
What operating system are you using?
macOS
What database engines are you using?
PostgreSQL
What type of code are you generating?
Go
Version
Other
What happened?
sqlc fails to parse the query when CASE expression has ELSE clause and its value is a constant.
The example query is as below.
sqlc fails to parse this query with the error:
parse table name: unexpected node type: *ast.Null.Relevant log output
parse table name: unexpected node type: *ast.NullDatabase schema
SQL queries
Configuration
Playground URL
https://play.sqlc.dev/p/968c7c9391b3aa32774930ab1d635c081c72d6f23bdf2db7ff9c94dfba0f178a
What operating system are you using?
macOS
What database engines are you using?
PostgreSQL
What type of code are you generating?
Go