Index: modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/ddl/DdlStatementsProcessor.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/ddl/DdlStatementsProcessor.java (revision e420466312d11009e7ea33a5150d679173d4ed42) +++ modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/ddl/DdlStatementsProcessor.java (date 1536156123785) @@ -779,6 +779,9 @@ if (!handleUuidAsByte) return UUID.class.getName(); + case Value.DATE: + return java.util.Date.class.getName(); + default: return DataType.getTypeClassName(type); } Index: modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteCacheQuerySelfTestSuite2.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteCacheQuerySelfTestSuite2.java (revision e420466312d11009e7ea33a5150d679173d4ed42) +++ modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteCacheQuerySelfTestSuite2.java (date 1536156308751) @@ -52,6 +52,7 @@ import org.apache.ignite.internal.processors.query.IgniteCacheGroupsSqlSegmentedIndexMultiNodeSelfTest; import org.apache.ignite.internal.processors.query.IgniteCacheGroupsSqlSegmentedIndexSelfTest; import org.apache.ignite.internal.processors.query.h2.twostep.CacheQueryMemoryLeakTest; +import org.apache.ignite.internal.processors.query.h2.twostep.CreateTableWithDateKeySelfTest; import org.apache.ignite.internal.processors.query.h2.twostep.DisappearedCacheCauseRetryMessageSelfTest; import org.apache.ignite.internal.processors.query.h2.twostep.DisappearedCacheWasNotFoundMessageSelfTest; import org.apache.ignite.internal.processors.query.h2.twostep.NonCollocatedRetryMessageSelfTest; @@ -116,6 +117,8 @@ suite.addTestSuite(CacheQueryMemoryLeakTest.class); + suite.addTestSuite(CreateTableWithDateKeySelfTest.class); + suite.addTestSuite(NonCollocatedRetryMessageSelfTest.class); suite.addTestSuite(QueryColocationCheckSelfTest.class); suite.addTestSuite(RetryCauseMessageSelfTest.class); Index: modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/twostep/CreateTableWithDateKeySelfTest.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/twostep/CreateTableWithDateKeySelfTest.java (date 1536226750822) +++ modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/twostep/CreateTableWithDateKeySelfTest.java (date 1536226750822) @@ -0,0 +1,76 @@ +package org.apache.ignite.internal.processors.query.h2.twostep; + +import java.util.Date; +import java.util.List; +import org.apache.ignite.Ignite; +import org.apache.ignite.IgniteCache; +import org.apache.ignite.cache.query.FieldsQueryCursor; +import org.apache.ignite.cache.query.SqlFieldsQuery; +import org.apache.ignite.cache.query.annotations.QuerySqlField; +import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; + +/** */ +public class CreateTableWithDateKeySelfTest extends GridCommonAbstractTest { + /** */ + private static final int NODES_COUNT = 1; + + /** */ + public void testPassTableWithDateKeyCreation() throws Exception { + Ignite node = this.startGrid(); + IgniteCache cache = node.getOrCreateCache(DEFAULT_CACHE_NAME); + + + try (FieldsQueryCursor> cur = cache.query(new SqlFieldsQuery( + "CREATE TABLE Tab(id DATE primary key, dateField DATE)"))) { + + assertNotNull(cur); + + List> rows = cur.getAll(); + + assertEquals(1, rows.size()); + + assertEquals(0L, rows.get(0).get(0)); + } + } + + /** {@inheritDoc} */ + @Override protected void beforeTestsStarted() throws Exception { + startGridsMultiThreaded(NODES_COUNT, false); + } + + /** {@inheritDoc} */ + @Override protected void afterTestsStopped() throws Exception { + stopAllGrids(); + } + + /** */ + public class Tab{ + /** */ + @QuerySqlField(index = true) + private Date id; + + /** */ + @QuerySqlField(index = true) + private Date dateField; + + /** */ + public Date getId() { + return id; + } + + /** */ + public void setId(Date id) { + this.id = id; + } + + /** */ + public Date getDateField() { + return dateField; + } + + /** */ + public void setDateField(Date dateField) { + this.dateField = dateField; + } + } +}