Override query return type
Author: reddecCreated Nov 13, 2020Updated Sep 8, 2026
Labelsenhancement
Let's assume that we have two tables (postgres)
CREATE TABLE foo (
id BIGSERIAL NOT NULL,
value TEXT NOT NULL;
);
CREATE TABLE bar (
id BIGSERIAL NOT NULL,
value2 TEXT NOT NULL;
);Problem is that queries
-- name: GetByFooValue :many
SELECT foo.id, bar.id, foo.value FROM foo INNER JOIN bar ON foo.id = bar.id WHERE value = $1and
-- name: GetByBarValue :many
SELECT foo.id, bar.id, foo.value FROM foo INNER JOIN bar ON foo.id = bar.id WHERE value2 = $1will generate different response structs (something like GetByBarValueRow and GetByFooValueRow), however by meaning it's the same objects.
I tried to use rename field in configuration but it didn't help. I quickly checked the source code and looks like there is no way to set the output type.
Is it possible to add something like:
- use
renamealso for queries types or - (IMHO it's better) add an annotation to queries like
name: GetByVarValue :type FooBar :many
Thanks!
Source: sqlc-dev/sqlc