[ https://issues.apache.org/jira/browse/IGNITE-11373?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16794955#comment-16794955 ]
Taras Ledkov edited comment on IGNITE-11373 at 3/18/19 12:03 PM: ----------------------------------------------------------------- *Root cause:* The type of column is lost between parsed {{CreateTableData}} and real data generated at the node on {{GridDhtPartitionsExchangeFuture#onCacheChangeRequest -> .. -> GridCacheProcessor#prepareStartCaches -> .. -> IgniteH2Indexing#registerType -> .. -> H2TableEngine#createTable}}. We have to hold information about {{IGNORECASE}} and the {{QueryEntity}} and and pass by {{QueryTypeDescriptorImpl}} to the created table {{GridH2Table}} was (Author: tledkov-gridgain): *Root cause:* The type of column is lost between parsed {{CreateTableData}} and real data generated ant the node on {{GridDhtPartitionsExchangeFuture#onCacheChangeRequest -> .. -> GridCacheProcessor#prepareStartCaches -> .. -> IgniteH2Indexing#registerType -> .. -> H2TableEngine#createTable}}. We have to hold information about {{IGNORECASE}} and the {{QueryEntity}} and and pass by {{QueryTypeDescriptorImpl}} to the created table {{GridH2Table}} > varchar_ignorecase doesn't work properly > ---------------------------------------- > > Key: IGNITE-11373 > URL: https://issues.apache.org/jira/browse/IGNITE-11373 > Project: Ignite > Issue Type: Bug > Components: sql > Reporter: Evgenii Zhuravlev > Priority: Major > > Looks like a field with type varchar_ignorecase can't be used for filtering > the values for different cases. > {code:java} > Ignite ignite = Ignition.start("examples/config/example-ignite.xml"); > > IgniteCache cache = ignite.getOrCreateCache("TEST"); > cache.query(new SqlFieldsQuery("CREATE TABLE IF NOT EXISTS TEST\n" + > "(\n" + > " TEST_ID NUMBER(15) NOT NULL,\n" + > " TEST_VALUE VARCHAR_IGNORECASE(100),\n" + > " PRIMARY KEY (TEST_ID)\n" + > ") ")); > System.out.println("INSERTED:" + ignite.cache("TEST").query(new > SqlFieldsQuery("INSERT INTO TEST values (1,'aAa')")).getAll().size()); > System.out.println("FOUND:" + ignite.cache("TEST").query(new > SqlFieldsQuery("Select * from TEST where TEST_VALUE like > '%aaa%'")).getAll().size()); > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)