Open gavincarr opened 6 days ago
Also having a similar issue, as above, tried aliasing to no avail.
v1.27.0
line 71:2 no viable alternative at input 'UPDATE\n\tEvents AS e\nSET\n\te.'
line 78:3 no viable alternative at input 'Entries'
# package models
sql/queries/events.sql:1:1: no viable alternative at input 'Entries'
-- +goose Up
CREATE TABLE IF NOT EXISTS Events (
Id INTEGER PRIMARY KEY,
Name TEXT NOT NULL,
Description TEXT NOT NULL,
Visible INTEGER NOT NULL DEFAULT (1) CHECK (Visible IN (0, 1)),
Location TEXT REFERENCES Locations(Name),
EventDateTime INTEGER NOT NULL CHECK (EventDateTime > strftime('%s', 'now')),
CreatedAt INTEGER NOT NULL DEFAULT (strftime('%s', 'now')),
UpdatedAt INTEGER
) STRICT;
-- +goose Up
CREATE TABLE IF NOT EXISTS Entries (
Id INTEGER PRIMARY KEY,
Name TEXT NOT NULL,
Description TEXT,
UserId TEXT NOT NULL REFERENCES Users(Id) ON DELETE CASCADE,
EventId INTEGER NOT NULL REFERENCES Events(Id) ON DELETE CASCADE,
Category TEXT NOT NULL REFERENCES Categories(Name) ON DELETE CASCADE,
Score INTEGER CHECK (Score BETWEEN 0 AND 10),
CreatedAt INTEGER NOT NULL DEFAULT (strftime('%s', 'now')),
UpdatedAt INTEGER
) STRICT;
-- name: ToggleEventVisibility :one
UPDATE
Events AS e
SET
e.Visible = 1 - e.Visible
WHERE
e.Id = ? AND
e.Id NOT IN (
SELECT DISTINCT
t.EventId
FROM
Entries AS t
)
RETURNING
COUNT(*);
version: "2"
sql:
- engine: "sqlite"
queries: "./sql/queries/*"
schema: "./sql/schema"
gen:
go:
package: "models"
out: "./internal/models"
https://play.sqlc.dev/p/c8f1b46ed9a1b6cdf7a2ccecd1ec32b79aa1cdee3d8e80f4b1b5f6c7ec1ba3f6
OS 1: Distributor ID: Debian Description: Debian GNU/Linux 12 (bookworm) Release: 12 Codename: bookworm
OS 2: Apple M1 ProductName: macOS ProductVersion: 14.5 BuildVersion: 23F79
SQLite
Go
Version
1.27.0
What happened?
sqlc fails to parse UPDATE statements that include both RETURNING and ORDER BY / LIMIT clauses.
Relevant log output
Database schema
SQL queries
Configuration
Playground URL
https://play.sqlc.dev/p/aef8481b79a2285af6ed4f04d801f0f59201be3ffce00df2bef824421bed477f
What operating system are you using?
Linux
What database engines are you using?
SQLite
What type of code are you generating?
Go