Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Boolean array type inference error #471

Open
uasan opened this issue Aug 25, 2022 · 1 comment · May be fixed by #1050
Open

Boolean array type inference error #471

uasan opened this issue Aug 25, 2022 · 1 comment · May be fixed by #1050
Labels

Comments

@uasan
Copy link

uasan commented Aug 25, 2022

Boolean array, always passed as a boolean value, here is an example:

await sql`SELECT ${[false, true]} AS bool_array`
// Result(1) [ { bool_array: false } ]

this query is throwing an error

await sql`SELECT ${[true, false]}::bool[]`;
// Error cannot cast type boolean to boolean[]

I think this PR solves this problem
#392

@binikingi
Copy link

For now what im doing is this:

await sql`SELECT ${[false, false].map(x => x ? 1 : 0)}::INT[]::BOOLEAN[]`

@porsager porsager added the v4 label Jun 25, 2023
stephenh added a commit to stephenh/postgres that referenced this issue Mar 23, 2025
I believe this was always broken, because the oid of a boolean[]
is not the same as the oid of a boolean, and AFAICT inferType
was resolving "boolean[] --> the oid of a boolean" without any
attempt to translate over to the `boolean[]` oid.

There's talk of removing `inferType` entirely, which would have to
wait until v4, but I think if this array-based support has always
been broken (afaiu?), we can just remove it immediately in a v3
bug fix release.

Fixes porsager#471
@stephenh stephenh linked a pull request Mar 23, 2025 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
3 participants