Bugcheck on queries containing WITH LOCK clause -----------------------------------------------
Key: CORE-5576 URL: http://tracker.firebirdsql.org/browse/CORE-5576 Project: Firebird Core Issue Type: Bug Components: Engine Affects Versions: 3.0.2, 4.0 Initial, 4.0 Alpha 1, 3.0.3, 4.0 Beta 1 Environment: all engines Reporter: Roman Simakov Reproducible example: Create a database (say /tmp/wl.fdb) by script create database '/tmp/wl.fdb'; create table t ( i integer not null primary key, d char(1024) computed by ('qwert'), s varchar(8192) ); insert into t values (1, 'format1opqwertyuiopqwertyuiop'); commit; Then perform backup/restore operation: ./gbak -b /tmp/wl.fdb stdout | ./gbak -c -rep stdin /tmp/wlr.fdb Now if you run select * from t where i=1 with lock; it results in writing broken record version and the next run select * from t where i=1; will lead to bugcheck. Explanation: VIO_writelock always sure that it writes delta but in case of example after restore calculated fields there are two formats. VIO_writelock writes a full version of format 1 but not a delta but the functions always set delta flag. To fix it's enough to copy correct behaviour from VIO_modify. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://tracker.firebirdsql.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel