Closed
Description
Version
1.18.0
What happened?
When using sqlite
as engine the sqlc.embed()
functionality can not be used in queries.
Simple working example with PostgreSQL: https://play.sqlc.dev/p/4fa9fa04a1130b86c9fa6e0ad50557c0025c0f91a2e15f8d9d3672b9889fe4de
Same example using SQLite with error message:
https://play.sqlc.dev/p/0bc9baf87b614118eaab84414eb50ab299b12aa7584b5b6baca48afe6b70973a
Relevant log output
line 18:17 no viable alternative at input ';\n\n-- name: GetSessionByKey :one\nSELECT sqlc.embed('
line 18:17 extraneous input '(' expecting {<EOF>, ';', ALTER_, ANALYZE_, ATTACH_, BEGIN_, COMMIT_, CREATE_, DEFAULT_, DELETE_, DETACH_, DROP_, END_, EXPLAIN_, INSERT_, PRAGMA_, REINDEX_, RELEASE_, REPLACE_, ROLLBACK_, SAVEPOINT_, SELECT_, UPDATE_, VACUUM_, VALUES_, WITH_}
line 19:53 extraneous input '<EOF>' expecting {';', ALTER_, ANALYZE_, ATTACH_, BEGIN_, COMMIT_, CREATE_, DEFAULT_, DELETE_, DETACH_, DROP_, END_, EXPLAIN_, INSERT_, PRAGMA_, REINDEX_, RELEASE_, REPLACE_, ROLLBACK_, SAVEPOINT_, SELECT_, UPDATE_, VACUUM_, VALUES_, WITH_}
# package db
query.sql:1:1: extraneous input '<EOF>' expecting {';', ALTER_, ANALYZE_, ATTACH_, BEGIN_, COMMIT_, CREATE_, DEFAULT_, DELETE_, DETACH_, DROP_, END_, EXPLAIN_, INSERT_, PRAGMA_, REINDEX_, RELEASE_, REPLACE_, ROLLBACK_, SAVEPOINT_, SELECT_, UPDATE_, VACUUM_, VALUES_, WITH_}
Database schema
CREATE TABLE sessions
(
key TEXT UNIQUE,
expiry TEXT,
device_id INTEGER NOT NULL
);
CREATE TABLE devices
(
id INTEGER PRIMARY KEY,
username TEXT,
serial TEXT,
UNIQUE (serial, platform)
);
SQL queries
-- name: GetSessionByKey :one
SELECT sqlc.embed(s), sqlc.embed(d) FROM sessions s
JOIN devices d ON d.id = s.device_id WHERE s.key = ?;
Configuration
{
"version": "1",
"packages": [
{
"path": "db",
"engine": "sqlite",
"schema": "query.sql",
"queries": "query.sql"
}
]
}
Playground URL
No response
What operating system are you using?
macOS
What database engines are you using?
PostgreSQL, SQLite
What type of code are you generating?
Go