if (CacheAtomicityMode.TRANSACTIONAL.name().equalsIgnoreCase(val)) atomicityMode = CacheAtomicityMode.TRANSACTIONAL; else if (CacheAtomicityMode.ATOMIC.name().equalsIgnoreCase(val)) atomicityMode = CacheAtomicityMode.ATOMIC; else if (CacheAtomicityMode.TRANSACTIONAL_SNAPSHOT.name().equalsIgnoreCase(val)) atomicityMode = CacheAtomicityMode.TRANSACTIONAL_SNAPSHOT; else
/** */ private void checkNotNullCheckDmlInsertValues(CacheAtomicityMode atomicityMode) throws Exception { executeSql("CREATE TABLE test(id INT PRIMARY KEY, name VARCHAR NOT NULL) WITH \"atomicity=" + atomicityMode.name() + "\""); GridTestUtils.assertThrows(log(), new Callable<Object>() { @Override public Object call() throws Exception { executeSql("INSERT INTO test(id, name) " + "VALUES (1, 'ok'), (2, NULLIF('a', 'a')), (3, 'ok')"); return null; } }, IgniteSQLException.class, ERR_MSG); List<List<?>> result = executeSql("SELECT id, name FROM test ORDER BY id"); assertEquals(0, result.size()); executeSql("INSERT INTO test(id, name) VALUES (1, 'ok'), (2, 'ok2'), (3, 'ok3')"); result = executeSql("SELECT id, name FROM test ORDER BY id"); assertEquals(3, result.size()); }
/** */ private void checkAddColumnNotNullCheckDmlInsertValues(CacheAtomicityMode atomicityMode) throws Exception { executeSql("CREATE TABLE test(id INT PRIMARY KEY, age INT) WITH \"atomicity=" + atomicityMode.name() + "\""); executeSql("ALTER TABLE test ADD COLUMN name VARCHAR NOT NULL"); GridTestUtils.assertThrows(log(), new Callable<Object>() { @Override public Object call() throws Exception { executeSql("INSERT INTO test(id, name, age) " + "VALUES (1, 'ok', 1), (2, NULLIF('a', 'a'), 2), (3, 'ok', 3)"); return null; } }, IgniteSQLException.class, ERR_MSG); List<List<?>> result = executeSql("SELECT id, name, age FROM test ORDER BY id"); assertEquals(0, result.size()); executeSql("INSERT INTO test(id, name) VALUES (1, 'ok'), (2, 'ok2'), (3, 'ok3')"); result = executeSql("SELECT id, name FROM test ORDER BY id"); assertEquals(3, result.size()); }
public void testOperations() { executeSql("CREATE TABLE person (id int, name varchar, age int, company varchar, city varchar, " + "primary key (id, name, city)) WITH \"template=" + cacheMode.name() + ",atomicity=" + atomicityMode.name() + ",backups=" + backups + ",affinity_key=city\""); "\"template=" + cacheMode.name() + ",atomicity=" + atomicityMode.name() + ",backups=" + backups + ",affinity_key=name\"");
/** */ private CacheConfiguration buildCacheConfiguration(CacheMode mode, CacheAtomicityMode atomicityMode, boolean hasNear, boolean writeThrough, boolean notNullAnnotated) { CacheConfiguration cfg = new CacheConfiguration(CACHE_PREFIX + "-" + mode.name() + "-" + atomicityMode.name() + (hasNear ? "-near" : "") + (writeThrough ? "-writethrough" : "") + (notNullAnnotated ? "-annot" : "")); cfg.setCacheMode(mode); cfg.setAtomicityMode(atomicityMode); cfg.setWriteSynchronizationMode(CacheWriteSynchronizationMode.FULL_SYNC); QueryEntity qe = new QueryEntity(new QueryEntity(Integer.class, Person.class)); if (!notNullAnnotated) qe.setNotNullFields(Collections.singleton("name")); cfg.setQueryEntities(F.asList(qe)); if (hasNear) cfg.setNearConfiguration(new NearCacheConfiguration().setNearStartSize(100)); if (writeThrough) { cfg.setCacheStoreFactory(singletonFactory(new TestStore())); cfg.setWriteThrough(true); } return cfg; }
if (CacheAtomicityMode.TRANSACTIONAL.name().equalsIgnoreCase(val)) atomicityMode = CacheAtomicityMode.TRANSACTIONAL; else if (CacheAtomicityMode.ATOMIC.name().equalsIgnoreCase(val)) atomicityMode = CacheAtomicityMode.ATOMIC; else if (CacheAtomicityMode.TRANSACTIONAL_SNAPSHOT.name().equalsIgnoreCase(val)) atomicityMode = CacheAtomicityMode.TRANSACTIONAL_SNAPSHOT; else