You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Vladimir Ozerov (JIRA)" <ji...@apache.org> on 2017/09/07 08:54:00 UTC

[jira] [Assigned] (IGNITE-6288) NPE on SQL query with parameters on custom schema name

     [ https://issues.apache.org/jira/browse/IGNITE-6288?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Vladimir Ozerov reassigned IGNITE-6288:
---------------------------------------

    Assignee: Taras Ledkov

> NPE on SQL query with parameters on custom schema name
> ------------------------------------------------------
>
>                 Key: IGNITE-6288
>                 URL: https://issues.apache.org/jira/browse/IGNITE-6288
>             Project: Ignite
>          Issue Type: Bug
>          Components: sql
>    Affects Versions: 2.2
>            Reporter: Taras Ledkov
>            Assignee: Taras Ledkov
>             Fix For: 2.3
>
>
> *Root cause*: cache name is used instead of schema name at the {{CacheQueryPartitionInfo}}
> *Reproducer*: please add the short test to the tests class {{SqlSchemaSelfTest}}
> {code}
>     public void testCustomSchemaName() throws Exception {
>         QueryEntity qe = new QueryEntity()
>             .setValueType(Person.class.getName())
>             .setKeyType(Long.class.getName())
>             .setValueFieldName("_value")
>             .setKeyFieldName("id")
>             .addQueryField("id", Long.class.getName(), null)
>             .addQueryField("_value", Person.class.getName(), null)
>             .addQueryField("name", String.class.getName(), null)
>             .addQueryField("orgId", Long.class.getName(), null);
>         qe.setTableName("Person");
>         IgniteCache<Long, Person> cache = node.createCache(new CacheConfiguration<Long, Person>()
>             .setName(CACHE_PERSON)
>             .setQueryEntities(Collections.singletonList(qe))
>             .setSqlSchema("TEST"));
>         cache.put(1L, new Person("Vasya", 2));
>         assertEquals(1, node.context().query().querySqlFieldsNoCache(
>             new SqlFieldsQuery("SELECT id, name, orgId FROM TEST.Person where (id = ?)").setArgs(1L), false
>         ).getAll().size());
>     }
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)