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