Skip to content

WHERE with ANY does not work with Params #579

@amerryma

Description

@amerryma

Right now, the parser sends throws a warning when trying to put a param inside the ANY part of a WHERE clause. Functionally it works great and it seems like the types are correct but I'd like to avoid seeing this warning.

This is the warning:

Parse error: Expect pattern `[a-zA-Z_][a-zA-Z0-9_]*` at (4:22)

    1| SELECT
    2|   *
    3| FROM test
    4| WHERE notnull1 = ANY($1)
                            ^


Due to the problems listed above, the inferred types may be inaccurate with 
respect to nullability.

I wrote a test to hopefully better describe my problem.

--- setup -----------------------------------------------------------------

CREATE TABLE test (
  notnull1 integer
);

--- query -----------------------------------------------------------------

SELECT
  *
FROM test
WHERE notnull1 = ANY(${param})

--- expected row count ----------------------------------------------------

many

--- expected column types -------------------------------------------------

notnull1: number | null

--- expected param types --------------------------------------------------

param: Array<number | null>

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions