sqltyper icon indicating copy to clipboard operation
sqltyper copied to clipboard

WHERE with ANY does not work with Params

Open amerryma opened this issue 2 years ago • 3 comments

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>

amerryma avatar Jun 20 '22 22:06 amerryma

Is this project inactive and/or looking for new maintainers?

amerryma avatar Jan 24 '23 14:01 amerryma

Is this project inactive and/or looking for new maintainers?

Well, I guess so. The problem is that I don't currently use it in any of my projects, which makes it harder to find time and motivation to work on it.

akheron avatar Jan 24 '23 18:01 akheron

Definitely understand! I'd be happy to make a PR for this.

amerryma avatar Jan 24 '23 19:01 amerryma