May - October 2014
May 2014
- Multiple OLTP_EMUL test runs
Result: missing index entries were observed
- Crash when trying to re-start trace
Result: reported to Alex Peshkoff
- Could not connect and validate database when created trigger on CONNECT which inserts rdb$get_context('SYSTEM', 'CLIENT_ADDRESS') into table
Result: reported to Alex Peshkoff
- Tested patch by Dmitry Sibiryakov (savepoints handling)
Result: several coredumps was noticed
- Could not run ALTER TABLE DROP CONSTRAINT after recent changes in SVN
Result: CORE-4418
- Server crash when using row_number()over( PARTITION BY x) in ORDER by clause
Result: CORE-4422, fixed by Dmitry Yemanov
- Deep refactoring in order to reduce lock conflicts in OLTP-EMUL test
- Created documentation (only in Russian so far) for the OLTP-EMUL test
June 2014
- Problems with DDL and AUTODDL=OFF
Result: CORE-4472
Result: multiple crashes in SC were observed, problems were reported to the developers
- Ported the OLTP-EMUL test to FB 2.5
Results: CORE-4452, CORE-4453, CORE-4473
- Positioned UPDATE statement prohibits index usage for the subsequent cursor field references
Result: CORE-4447, fixed by Dmitry Yemanov
- Continued refactoring the OLTP-EMUL test
July 2014
- ISQL issues warning: "Bad debug info format" when connect to database with stored function after it's restoring
Result: CORE-4480, fixed by Dmitry Yemanov
- Benchmarked the OLTP-EMUL test against the patch by Dimitry Sibiryakov
Result: better performance (up to 30%) on most operations
- Changed data not visible in WHEN-section if exception occured inside SP that has been called from this code
Result: CORE-4483
- Strange long time of select from view + name of table which is 'base' for the view is not displayed in the plan
Result: fixed by Dmitry Yemanov
- AUTODDL OFF: can`t create procedure P2 which references on proc P1 and both of them are created in same transaction
Result: CORE-4490
- Adding 2nd condition in WHERE which containing RDB$DBKEY leads to NATURAL plan
Result: CORE-4492
Result: fixed by Dmitry Yemanov
- Crash when use delete from mon$statements to cancel SP which uses non-stable cursor handling
- Crash when change: "where F = :x or F = :y" to: "whene F in (:x, :y)"
Result: fixed by Dmitry Yemanov
- Regression in 3.0: bad performance when PLAN ORDER
Result: reported to Dmitry Yemanov
- Enhanced the OLTP-EMUL test: introduce settings for initial data loading, warm-up time and measure-time
August 2014
- ISQL: AV message after SET WIDTH + pressing Ctrl_BREAK
Result: CORE-4521
- Hash/merge joins for non-field (dbkey or derived expression) equalities are impossible
Result: CORE-4528, fixed by Dmitry Yemanov
- Descending index not used in GROUP BY
Result: CORE-4529
- Bad performance when join using rdb$db_key, especially in 3.0
Result: CORE-4530, fixed by Dmitry Yemanov
- Regression in LI-T3.0.0.31280: trace reports UPDATES in statistics when doing INSERT into
Result: CORE-4515, fixed by Dmitry Yemanov
Result: reported to Dmitry Yemanov and Alex Peshkoff
- Slowly growing memory leak visible in `top` output (field 'RES') for firebird process
- MON$CALL_STACK: get wrong result (more than one row for each unit) when autonomous transaction is used
Result: fixed by Vlad Khorsun
- Tested OLTP_EMUL together with MON$ tables
Result: multiple crashes and deadlocks, fixed by Dmitry Yemanov
September 2014
- OR'ed optimization in 3.0 is ineffective if WHERE-clause contains two expression and they do NOT match to order of SP input arguments
Result: CORE-4537
- Regression in 3.0: compiler requires aliasing of table in UPDATE ... RETURNING statement when include RDB$DB_KEY in fields list
Result: CORE-4540
- Multiple OLTP-EMUL test runs
Result: SC crashes, reported to Dmitry Yemanov
- Investigated how indices affect mutex waits in the lock manager
Result: more indices - more mutex waits, GC is temporarily disabled via the lock manager during index operations.
- Crash on EXIT (or QUIT) command if use UTF8-collation + create domain based on it + issue SHOW DOMAIN
Result: CORE-4557
Result: CORE-4560
- gfix -v -full hangs without message "Resource temporarily unavailable" when .fdb is opened by some attach
- Bugcheck "wrong record length (183), file: vio.cpp line: 1311" when use cursor with "order by ID+0" and "for update with lock"
Result: CORE-4561
- GDSCODE can have value = 0 in WHEN-section under concurrent load (SC and CS only)
Result: CORE-4565, fixed by Vlad Khorsun
October 2014
- Error stack can be broken after several minutes under heavy workload
Result: CORE-4553, fixed by Alex Peshkoff
Result: page-level errors, reported to Vlad Khorsun
- Tested patches by Vlad Khorsun
Result: reported results to the author
- Finalized the OLTP-EMUL test and uploaded it to the project's SVN repository
- Prepared session for the Firebird Conference 2014
Pavel Zotov
Moscow, Russian Federation
May - October 2014
May 2014
- Multiple OLTP_EMUL test runs
Result: missing index entries were observed
- Crash when trying to re-start trace
Result: reported to Alex Peshkoff
- Could not connect and validate database when created trigger on CONNECT which inserts rdb$get_context('SYSTEM', 'CLIENT_ADDRESS') into table
Result: reported to Alex Peshkoff
- Tested patch by Dmitry Sibiryakov (savepoints handling)
Result: several coredumps was noticed
- Could not run ALTER TABLE DROP CONSTRAINT after recent changes in SVN
Result: CORE-4418
- Server crash when using row_number()over( PARTITION BY x) in ORDER by clause
Result: CORE-4422, fixed by Dmitry Yemanov
- Deep refactoring in order to reduce lock conflicts in OLTP-EMUL test
- Created documentation (only in Russian so far) for the OLTP-EMUL test
June 2014
- Problems with DDL and AUTODDL=OFF
Result: CORE-4472
Result: multiple crashes in SC were observed, problems were reported to the developers
- Ported the OLTP-EMUL test to FB 2.5
Results: CORE-4452, CORE-4453, CORE-4473
- Positioned UPDATE statement prohibits index usage for the subsequent cursor field references
Result: CORE-4447, fixed by Dmitry Yemanov
- Continued refactoring the OLTP-EMUL test
July 2014
- ISQL issues warning: "Bad debug info format" when connect to database with stored function after it's restoring
Result: CORE-4480, fixed by Dmitry Yemanov
- Benchmarked the OLTP-EMUL test against the patch by Dimitry Sibiryakov
Result: better performance (up to 30%) on most operations
- Changed data not visible in WHEN-section if exception occured inside SP that has been called from this code
Result: CORE-4483
- Strange long time of select from view + name of table which is 'base' for the view is not displayed in the plan
Result: fixed by Dmitry Yemanov
- AUTODDL OFF: can`t create procedure P2 which references on proc P1 and both of them are created in same transaction
Result: CORE-4490
- Adding 2nd condition in WHERE which containing RDB$DBKEY leads to NATURAL plan
Result: CORE-4492
Result: fixed by Dmitry Yemanov
- Crash when use delete from mon$statements to cancel SP which uses non-stable cursor handling
- Crash when change: "where F = :x or F = :y" to: "whene F in (:x, :y)"
Result: fixed by Dmitry Yemanov
- Regression in 3.0: bad performance when PLAN ORDER
Result: reported to Dmitry Yemanov
- Enhanced the OLTP-EMUL test: introduce settings for initial data loading, warm-up time and measure-time
August 2014
- ISQL: AV message after SET WIDTH + pressing Ctrl_BREAK
Result: CORE-4521
- Hash/merge joins for non-field (dbkey or derived expression) equalities are impossible
Result: CORE-4528, fixed by Dmitry Yemanov
- Descending index not used in GROUP BY
Result: CORE-4529
- Bad performance when join using rdb$db_key, especially in 3.0
Result: CORE-4530, fixed by Dmitry Yemanov
- Regression in LI-T3.0.0.31280: trace reports UPDATES in statistics when doing INSERT into
Result: CORE-4515, fixed by Dmitry Yemanov
Result: reported to Dmitry Yemanov and Alex Peshkoff
- Slowly growing memory leak visible in `top` output (field 'RES') for firebird process
- MON$CALL_STACK: get wrong result (more than one row for each unit) when autonomous transaction is used
Result: fixed by Vlad Khorsun
- Tested OLTP_EMUL together with MON$ tables
Result: multiple crashes and deadlocks, fixed by Dmitry Yemanov
September 2014
- OR'ed optimization in 3.0 is ineffective if WHERE-clause contains two expression and they do NOT match to order of SP input arguments
Result: CORE-4537
- Regression in 3.0: compiler requires aliasing of table in UPDATE ... RETURNING statement when include RDB$DB_KEY in fields list
Result: CORE-4540
- Multiple OLTP-EMUL test runs
Result: SC crashes, reported to Dmitry Yemanov
- Investigated how indices affect mutex waits in the lock manager
Result: more indices - more mutex waits, GC is temporarily disabled via the lock manager during index operations.
- Crash on EXIT (or QUIT) command if use UTF8-collation + create domain based on it + issue SHOW DOMAIN
Result: CORE-4557
Result: CORE-4560
- gfix -v -full hangs without message "Resource temporarily unavailable" when .fdb is opened by some attach
- Bugcheck "wrong record length (183), file: vio.cpp line: 1311" when use cursor with "order by ID+0" and "for update with lock"
Result: CORE-4561
- GDSCODE can have value = 0 in WHEN-section under concurrent load (SC and CS only)
Result: CORE-4565, fixed by Vlad Khorsun
October 2014
- Error stack can be broken after several minutes under heavy workload
Result: CORE-4553, fixed by Alex Peshkoff
Result: page-level errors, reported to Vlad Khorsun
- Tested patches by Vlad Khorsun
Result: reported results to the author
- Finalized the OLTP-EMUL test and uploaded it to the project's SVN repository
- Prepared session for the Firebird Conference 2014
Pavel Zotov
Moscow, Russian Federation