Just a clarification, the code should have said "*query.setArgs(new
Object[]{params})*" but that is NOT the problem, I just pasted the wrong
version in here.

Also, in case this is not supported by Ignite/H2, a better idea would be to
use "*WHERE foo IN (?, ?, ?, ...)*" and then "*query.setArgs(params)"*
(without wrapping it), but I'm looking for a one-param query, which is
reusable.

Matt

On Sun, Apr 30, 2017 at 4:54 AM, Matt <[email protected]> wrote:

> Hello,
>
> I'm trying to run a SQL standard query with a "WHERE foo = ANY(?)" but it
> seems it's not supported by Ignite.
>
> The code looks like this, it's fairly simple:
>
> ---
>
>
>
>
>
>
> *String sql = "SELECT * FROM Foo WHERE foo = ANY(?)";String[] params =
> {"aaa", "bbb"};SqlQuery<String, Foo> query = new SqlQuery<>(Foo.class,
> sql);query.setArgs(params);cache.query(query);*
> ---
>
> The error is "*IgniteSQLException: Failed to parse query*" and 
> "*JdbcSQLException:
> Syntax error in SQL statement*" and it's caused by the "ANY(?)". I also
> tried writing the query without the params, hardcoding the values directly
> on the sql variable, but I'm getting the same result.
>
> Is this kind of query supported? Any workaround to load a list of objects
> dynamically (from an array) without writing multiple "foo = ? OR foo = ? OR
> ..." on the query?
>
> Best,
> Matt
>

Reply via email to