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)