[ https://issues.apache.org/jira/browse/IGNITE-19176?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Pavel Pereslegin updated IGNITE-19176: -------------------------------------- Summary: Sql. RW transaction skips rows without value. (was: Sql. Unexpected DML results with explicit TX and single column table.) > Sql. RW transaction skips rows without value. > --------------------------------------------- > > Key: IGNITE-19176 > URL: https://issues.apache.org/jira/browse/IGNITE-19176 > Project: Ignite > Issue Type: Bug > Components: sql > Reporter: Pavel Pereslegin > Assignee: Pavel Pereslegin > Priority: Major > Labels: ignite-3 > Time Spent: 50m > Remaining Estimate: 0h > > When we try to insert values into a single column table using explicit > transaction, those values are not visible in the same transaction. > Example > {code:java} > create table test(id int primary key) // single column table > {code} > {code:java} > // case 1 > start explicit tx > insert into test values (0), (1) > select count(*) from test // returns 0 instead of 2 > finish tx{code} > {code:java} > // case 2 > start explicit tx > insert into test values (0), (1) > commit tx > start explicit tx > select count(*) from test // returns 0 instead of 2 > finish tx{code} > If we do this using implicit transaction - all works fine. > If we add a column to the table, everything will work fine. > Reproducer > {code:java} > @Test > public void test() { > sql("CREATE TABLE myTbl (id INT PRIMARY KEY) WITH REPLICAS=2, > PARTITIONS=10"); > Ignite ignite = CLUSTER_NODES.get(0); > ignite.transactions().runInTransaction(tx -> { > sql(tx, "INSERT INTO myTbl VALUES (0), (1)"); > List<List<Object>> rows = sql(tx, "SELECT count(*) from myTbl"); > assertEquals(2L, rows.get(0).get(0)); > }); > } {code} > -- This message was sent by Atlassian Jira (v8.20.10#820010)