Hi Thomas,
I did the logging you suggested and the result is attached.
My observations:
In lines 4351-4353 it says:
/**/stat79.execute("savepoint test_savepoint");
05-03 16:52:54 jdbc[4]:
/*SQL */savepoint test_savepoint;
But when doing the rollback (lines 4389-4398) the savepoint is not logged:
/**/conn37.rollback();
05-03 16:52:54 index: TEST_DATA remove ( /* key:2 */ 2)
05-03 16:52:54 pageStore: log - s: 4 table: 15 row: ( /* key:2 */ 2)
05-03 16:52:54 index: TEST_DATA remove ( /* key:1 */ 1)
05-03 16:52:54 pageStore: updateRecord page[521] data leaf table:15 TEST entries:0 parent:0 keys:null offsets:null
05-03 16:52:54 pageStore: log - s: 4 table: 15 row: ( /* key:1 */ 1)
05-03 16:52:54 pageStore: log commit s: 4
05-03 16:52:54 lock: 4 exclusive write lock unlock TEST
05-03 16:52:54 jdbc[4]:
/*SQL t:1*/ROLLBACK;
Does that mean, that Execute Query does not pass this information to the driver and just executes a "rollback" instead of "rollback to savepoint test_savepoint"?
Thanks again.
Best, Niko
On Tuesday, May 3, 2016 at 7:45:46 AM UTC+2, Thomas Mueller wrote:
Hi,
I don't know what the problem could be, but maybe you could find out yourself if you enable "JDBC method call logging", by appending ";trace_level_system_out=3" to the database URL. This will log all method calls to system out. If use ";trace_level_file=3" to log to a file (next to the database file).
Regards,
Thomas
Hi,
please consider the following example:
DROP TABLE TEST;
CREATE TABLE TEST(ID NUMERIC(15) NOT NULL);
insert into test values (1);
savepoint test_savepoint;
insert into test values (2);
rollback to savepoint test_savepoint;
select * from test;
If I execute it with the H2 console, I get the expected result: One row with value 1.
If I execute the same snippet with Execute Query (www.executequery.org), using org.h2.Driver from h2-1.3.176.jar (h2.1.4.191.jar resp.), then the result is empty.
I disabled auto-commit in both cases.
Do you have any idea why this difference occurs?
Thanks a lot!
Best, Niko Paltzer
--
You received this message because you are subscribed to the Google Groups "H2 Database" group.