Skip to content

sqlc.embed does not seem to work with SQLite #2391

Closed
@christeredvartsen

Description

@christeredvartsen

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions