Skip to content

Inability to create queries with Array arguments #29

@ex-nihil

Description

@ex-nihil

I am experiencing an issue where it is not possible to create queries with an argument that takes an array of items. The documentation provides the following examples for creating such queries:

-- name: ListAuthorsByIDs :many
SELECT * FROM authors
WHERE id IN (sqlc.slice('ids'));
-- name: ListAuthorsByIDs :many
SELECT * FROM authors
WHERE id = ANY($1::int[]);

However, these methods do not generate the expected TypeScript types for the input arguments.
Using ANY($1::int[]) results in a missing identifier.

{
    : number[];
}

Using sqlc.slice('ids') results in the type not being identified as an array.

{
    ids: string;
}

Steps to Reproduce

The steps are for postgresql, but the issue seems to be the same for all SQL dialects.

  • Add the examples from the documentation to the examples/authors/postgresql/query.sql
  • Run sql generate from examples directory.
  • Observe the output in examples/node-postgres/sql/db/query_sql.ts

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions