IITDBGroup / gprom

GProM is a middleware that adds support for provenance to database backends.
http://www.cs.iit.edu/%7edbgroup/research/gprom.php
Apache License 2.0
9 stars 5 forks source link

Provenance of transaction - TABLE specified - crashes if only insert into tracked table #23

Closed lordpretzel closed 7 years ago

lordpretzel commented 7 years ago

If the user specifies what table to track provenance for and this table is only affected by inserts, then we do not access the table at all. However, method getUpdateForPreviousTableVersion which gets the last update of the affected table is not provisioned for that yet.

Testcase

./src/command_line/gprom -host debussy.cs.iit.edu -db orcl -port 1521 -log -loglevel 4 -sql "PROVENANCE WITH ONLY UPDATED SHOW INTERMEDIATE STATEMENT ANNOTATIONS TABLE S OF TRANSACTION '0A0010008E160000';" -backend oracle -Pexecutor run -Boracle.audittable FGA_LOG$
lordpretzel commented 7 years ago

simplified test case:

REENACT WITH ISOLATION LEVEL READCOMMITTED COMMIT SCN 1875496 PROVENANCE TABLE S  ( OPTIONS (AS OF SCN 1875491) update R set A = 7 where B = 4; OPTIONS (AS OF SCN 1875494) insert into S values (6, 6););