[
https://issues.apache.org/jira/browse/IGNITE-16991?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Nikolay Izhikov resolved IGNITE-16991.
--------------------------------------
Resolution: Won't Fix
> SQL in clause with array arg fails since ignite 2.11
> ----------------------------------------------------
>
> Key: IGNITE-16991
> URL: https://issues.apache.org/jira/browse/IGNITE-16991
> Project: Ignite
> Issue Type: Bug
> Reporter: Nikolay Izhikov
> Priority: Major
>
> Reproducer.
> Test passes on ignite-2.10 and fails on ignite-2.11
> {code:java}
> /** */
> public class SqlInQueryTest extends GridCommonAbstractTest {
> /** */
> private static IgniteEx server;
> /** {@inheritDoc} */
> @Override protected void beforeTestsStarted() throws Exception {
> super.beforeTestsStarted();
> server = startGrid(0);
> }
> /** */
> @Test
> public void testSelectWithInClause() throws Exception {
> sql("CREATE TABLE T1(ID VARCHAR, IID VARCHAR, DATA VARCHAR, PRIMARY
> KEY(ID, IID))", null);
> for (int i = 0; i < 10; i++)
> sql(
> "INSERT INTO T1(ID, IID, DATA) VALUES(?, ?, ?)",
> new Object[] {String.valueOf(i), String.valueOf(i % 3), "just
> data"}
> );
> assertEquals(10, sql("SELECT ID, IID FROM T1", null).size());
> // One ID inside IN clause.
> assertEquals(1, sql(
> "SELECT IID FROM T1 WHERE ID IN (?) AND IID = ?",
> new Object[] {Arrays.asList("1").toArray(), "1"}
> ).size());
> // Two ID inside IN clause.
> assertEquals(2, sql(
> "SELECT IID FROM T1 WHERE ID IN ('1', '4') AND IID = ?",
> new Object[] {"1"}
> ).size());
> // Two ID inside IN clause. Pass as patameters.
> //assertEquals(2, sql(
> // "SELECT IID FROM T1 WHERE ID IN (?) AND IID = ?",
> // new Object[] {Arrays.asList("1", "4").toArray(), "1"}).size()
> //);
> }
> /** */
> private List<List<?>> sql(String sqlText, Object[] args) {
> return server.context().query().querySqlFields(
> new
> SqlFieldsQuery(sqlText).setDistributedJoins(true).setArgs(args), true
> ).getAll();
> }
> }
> {code}
--
This message was sent by Atlassian Jira
(v8.20.7#820007)