Description
Root cause: cache name is used instead of schema name at the CacheQueryPartitionInfo
Reproducer: please add the short test to the tests class SqlSchemaSelfTest
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()); }
Attachments
Issue Links
- links to