[jira] [Updated] (IGNITE-10414) IF NOT EXISTS in CREATE TABLE doesn't work
[ https://issues.apache.org/jira/browse/IGNITE-10414?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vladimir Ozerov updated IGNITE-10414: - Ignite Flags: (was: Docs Required) > IF NOT EXISTS in CREATE TABLE doesn't work > -- > > Key: IGNITE-10414 > URL: https://issues.apache.org/jira/browse/IGNITE-10414 > Project: Ignite > Issue Type: Bug > Components: sql >Affects Versions: 2.4, 2.6, 2.7 >Reporter: Evgenii Zhuravlev >Assignee: Pavel Kuznetsov >Priority: Major > Fix For: 2.8 > > Time Spent: 10m > Remaining Estimate: 0h > > Reproducer: > > {code:java} >Ignite ignite = Ignition.start(); > ignite.getOrCreateCache("test").query(new SqlFieldsQuery("CREATE > TABLE IF NOT EXISTS City(id LONG PRIMARY KEY," > + " name VARCHAR) WITH \"template=replicated\"")); > ignite.getOrCreateCache("test").query(new SqlFieldsQuery("CREATE > TABLE IF NOT EXISTS City(id LONG PRIMARY KEY," > + " name VARCHAR) WITH \"template=replicated\"")); > {code} > Error: > {code:java} > (err) DDL operation failureSchemaOperationException [code=3, msg=Table > already exists: CITY] > at > org.apache.ignite.internal.processors.query.QueryUtils.checkQueryEntityConflicts(QueryUtils.java:1214) > at > org.apache.ignite.internal.processors.query.h2.ddl.DdlStatementsProcessor.runDdlStatement(DdlStatementsProcessor.java:351) > at > org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.doRunPrepared(IgniteH2Indexing.java:1981) > at > org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.querySqlFields(IgniteH2Indexing.java:1896) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor$4.applyx(GridQueryProcessor.java:2174) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor$4.applyx(GridQueryProcessor.java:2169) > at > org.apache.ignite.internal.util.lang.IgniteOutClosureX.apply(IgniteOutClosureX.java:36) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:2677) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.lambda$querySqlFields$0(GridQueryProcessor.java:2183) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuerySafe(GridQueryProcessor.java:2203) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFields(GridQueryProcessor.java:2164) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFields(GridQueryProcessor.java:2125) > at > org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:685) > at > org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:636) > at > org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.query(GatewayProtectedCacheProxy.java:388) > at > org.apache.ignite.examples.ExampleNodeStartup.main(ExampleNodeStartup.java:40) > Exception in thread "main" javax.cache.CacheException: Table already exists: > CITY > at > org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:697) > at > org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:636) > at > org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.query(GatewayProtectedCacheProxy.java:388) > at > org.apache.ignite.examples.ExampleNodeStartup.main(ExampleNodeStartup.java:40) > Caused by: class > org.apache.ignite.internal.processors.query.IgniteSQLException: Table already > exists: CITY > at > org.apache.ignite.internal.processors.query.h2.ddl.DdlStatementsProcessor.convert(DdlStatementsProcessor.java:642) > at > org.apache.ignite.internal.processors.query.h2.ddl.DdlStatementsProcessor.runDdlStatement(DdlStatementsProcessor.java:503) > at > org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.doRunPrepared(IgniteH2Indexing.java:1981) > at > org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.querySqlFields(IgniteH2Indexing.java:1896) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor$4.applyx(GridQueryProcessor.java:2174) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor$4.applyx(GridQueryProcessor.java:2169) > at > org.apache.ignite.internal.util.lang.IgniteOutClosureX.apply(IgniteOutClosureX.java:36) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:2677) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.lambda$querySqlFields$0(GridQueryProcessor.java:2183)
[jira] [Updated] (IGNITE-10414) IF NOT EXISTS in CREATE TABLE doesn't work
[ https://issues.apache.org/jira/browse/IGNITE-10414?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vladimir Ozerov updated IGNITE-10414: - Fix Version/s: 2.8 > IF NOT EXISTS in CREATE TABLE doesn't work > -- > > Key: IGNITE-10414 > URL: https://issues.apache.org/jira/browse/IGNITE-10414 > Project: Ignite > Issue Type: Bug > Components: sql >Affects Versions: 2.4, 2.6, 2.7 >Reporter: Evgenii Zhuravlev >Assignee: Pavel Kuznetsov >Priority: Major > Fix For: 2.8 > > Time Spent: 10m > Remaining Estimate: 0h > > Reproducer: > > {code:java} >Ignite ignite = Ignition.start(); > ignite.getOrCreateCache("test").query(new SqlFieldsQuery("CREATE > TABLE IF NOT EXISTS City(id LONG PRIMARY KEY," > + " name VARCHAR) WITH \"template=replicated\"")); > ignite.getOrCreateCache("test").query(new SqlFieldsQuery("CREATE > TABLE IF NOT EXISTS City(id LONG PRIMARY KEY," > + " name VARCHAR) WITH \"template=replicated\"")); > {code} > Error: > {code:java} > (err) DDL operation failureSchemaOperationException [code=3, msg=Table > already exists: CITY] > at > org.apache.ignite.internal.processors.query.QueryUtils.checkQueryEntityConflicts(QueryUtils.java:1214) > at > org.apache.ignite.internal.processors.query.h2.ddl.DdlStatementsProcessor.runDdlStatement(DdlStatementsProcessor.java:351) > at > org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.doRunPrepared(IgniteH2Indexing.java:1981) > at > org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.querySqlFields(IgniteH2Indexing.java:1896) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor$4.applyx(GridQueryProcessor.java:2174) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor$4.applyx(GridQueryProcessor.java:2169) > at > org.apache.ignite.internal.util.lang.IgniteOutClosureX.apply(IgniteOutClosureX.java:36) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:2677) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.lambda$querySqlFields$0(GridQueryProcessor.java:2183) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuerySafe(GridQueryProcessor.java:2203) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFields(GridQueryProcessor.java:2164) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFields(GridQueryProcessor.java:2125) > at > org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:685) > at > org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:636) > at > org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.query(GatewayProtectedCacheProxy.java:388) > at > org.apache.ignite.examples.ExampleNodeStartup.main(ExampleNodeStartup.java:40) > Exception in thread "main" javax.cache.CacheException: Table already exists: > CITY > at > org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:697) > at > org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:636) > at > org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.query(GatewayProtectedCacheProxy.java:388) > at > org.apache.ignite.examples.ExampleNodeStartup.main(ExampleNodeStartup.java:40) > Caused by: class > org.apache.ignite.internal.processors.query.IgniteSQLException: Table already > exists: CITY > at > org.apache.ignite.internal.processors.query.h2.ddl.DdlStatementsProcessor.convert(DdlStatementsProcessor.java:642) > at > org.apache.ignite.internal.processors.query.h2.ddl.DdlStatementsProcessor.runDdlStatement(DdlStatementsProcessor.java:503) > at > org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.doRunPrepared(IgniteH2Indexing.java:1981) > at > org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.querySqlFields(IgniteH2Indexing.java:1896) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor$4.applyx(GridQueryProcessor.java:2174) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor$4.applyx(GridQueryProcessor.java:2169) > at > org.apache.ignite.internal.util.lang.IgniteOutClosureX.apply(IgniteOutClosureX.java:36) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:2677) > at > org.apache.ignite.internal.processors.query.GridQueryProcessor.lambda$querySqlFields$0(GridQueryProcessor.java:2183) > at >
[jira] [Updated] (IGNITE-10414) IF NOT EXISTS in CREATE TABLE doesn't work
[ https://issues.apache.org/jira/browse/IGNITE-10414?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Evgenii Zhuravlev updated IGNITE-10414: --- Description: Reproducer: {code:java} Ignite ignite = Ignition.start(); ignite.getOrCreateCache("test").query(new SqlFieldsQuery("CREATE TABLE IF NOT EXISTS City(id LONG PRIMARY KEY," + " name VARCHAR) WITH \"template=replicated\"")); ignite.getOrCreateCache("test").query(new SqlFieldsQuery("CREATE TABLE IF NOT EXISTS City(id LONG PRIMARY KEY," + " name VARCHAR) WITH \"template=replicated\"")); {code} Error: {code:java} (err) DDL operation failureSchemaOperationException [code=3, msg=Table already exists: CITY] at org.apache.ignite.internal.processors.query.QueryUtils.checkQueryEntityConflicts(QueryUtils.java:1214) at org.apache.ignite.internal.processors.query.h2.ddl.DdlStatementsProcessor.runDdlStatement(DdlStatementsProcessor.java:351) at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.doRunPrepared(IgniteH2Indexing.java:1981) at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.querySqlFields(IgniteH2Indexing.java:1896) at org.apache.ignite.internal.processors.query.GridQueryProcessor$4.applyx(GridQueryProcessor.java:2174) at org.apache.ignite.internal.processors.query.GridQueryProcessor$4.applyx(GridQueryProcessor.java:2169) at org.apache.ignite.internal.util.lang.IgniteOutClosureX.apply(IgniteOutClosureX.java:36) at org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:2677) at org.apache.ignite.internal.processors.query.GridQueryProcessor.lambda$querySqlFields$0(GridQueryProcessor.java:2183) at org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuerySafe(GridQueryProcessor.java:2203) at org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFields(GridQueryProcessor.java:2164) at org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFields(GridQueryProcessor.java:2125) at org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:685) at org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:636) at org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.query(GatewayProtectedCacheProxy.java:388) at org.apache.ignite.examples.ExampleNodeStartup.main(ExampleNodeStartup.java:40) Exception in thread "main" javax.cache.CacheException: Table already exists: CITY at org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:697) at org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:636) at org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.query(GatewayProtectedCacheProxy.java:388) at org.apache.ignite.examples.ExampleNodeStartup.main(ExampleNodeStartup.java:40) Caused by: class org.apache.ignite.internal.processors.query.IgniteSQLException: Table already exists: CITY at org.apache.ignite.internal.processors.query.h2.ddl.DdlStatementsProcessor.convert(DdlStatementsProcessor.java:642) at org.apache.ignite.internal.processors.query.h2.ddl.DdlStatementsProcessor.runDdlStatement(DdlStatementsProcessor.java:503) at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.doRunPrepared(IgniteH2Indexing.java:1981) at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.querySqlFields(IgniteH2Indexing.java:1896) at org.apache.ignite.internal.processors.query.GridQueryProcessor$4.applyx(GridQueryProcessor.java:2174) at org.apache.ignite.internal.processors.query.GridQueryProcessor$4.applyx(GridQueryProcessor.java:2169) at org.apache.ignite.internal.util.lang.IgniteOutClosureX.apply(IgniteOutClosureX.java:36) at org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:2677) at org.apache.ignite.internal.processors.query.GridQueryProcessor.lambda$querySqlFields$0(GridQueryProcessor.java:2183) at org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuerySafe(GridQueryProcessor.java:2203) at org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFields(GridQueryProcessor.java:2164) at org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFields(GridQueryProcessor.java:2125) at org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:685) ... 3 more {code} was: Reproducer: {code:java} Ignite ignite = Ignition.start(); ignite.getOrCreateCache("test").query(new
[jira] [Updated] (IGNITE-10414) IF NOT EXISTS in CREATE TABLE doesn't work
[ https://issues.apache.org/jira/browse/IGNITE-10414?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Evgenii Zhuravlev updated IGNITE-10414: --- Affects Version/s: 2.7 2.6 > IF NOT EXISTS in CREATE TABLE doesn't work > -- > > Key: IGNITE-10414 > URL: https://issues.apache.org/jira/browse/IGNITE-10414 > Project: Ignite > Issue Type: Bug > Components: sql >Affects Versions: 2.4, 2.6, 2.7 >Reporter: Evgenii Zhuravlev >Priority: Major > > Reproducer: > > {code:java} >Ignite ignite = Ignition.start(); > ignite.getOrCreateCache("test").query(new SqlFieldsQuery("CREATE > TABLE IF NOT EXISTS City(id LONG PRIMARY KEY," > + " name VARCHAR) WITH \"template=replicated\"")); > ignite.getOrCreateCache("test").query(new SqlFieldsQuery("CREATE > TABLE IF NOT EXISTS City(id LONG PRIMARY KEY," > + " name VARCHAR) WITH \"template=replicated\"")); > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)