Comment 4 for bug 1325443

Revision history for this message
Suresh Subbiah (suresh-subbiah) wrote :

create table t1 (a int not null not droppable primary key, b int not null not droppable) ;
insert into t1 values (1,9),(2,9),(3,9);
Begin work;
Update t1 set b = 4 ;
Select * from t1;
commit;

will show the problem. It shows every time and is easily reproducible.

The issue was that while executing the update statement the executor calls scanner.next() with the correct transid. It gets 2 values for column b, both the "old" (before update value) and the "new" (after update value). Executor was expecting only only one version per column since the previous Thrift class provided that to the executor. Logic has been added in executor to copy the most recent version into the SQL row for each column.