Contact Us | Site Map
Firebird is used by approximately 1 million of software developers worldwide. High compatibility with industry standards on many fronts makes Firebird the obvious choice for developing interoperable applications for homogeneous and hybrid environments.
Developer's Report: QA Stress Testing & Tools Development
February - April 2014

February 2014
  • Benchmarked inserts in v3.0 vs v2.5: compare cases when adding 1 mil rows using 10 attaches at the same time
Result: v3.0 is significantly faster generally, but GEN_ID is much slower in v3.0
  • Tested heavy index load along with nbackup in v3.0 vs v2.5
Result: MON$ tables are inaccessible untill nbackup -N is finished
  • Cancelling of gfix -sweep via delete from mon$attachments seems not working: gfix process is still alive
Result: CORE-4337
  • Non-privileged user can: (1) grant to himself other's role and (2) update rdb$security_classes table
Result: CORE-4341, CORE-4342
  • Benchmarked of bulk inserts into indexed table, single connect, 9999 execute blocks (1000 rows each of them)
Result: no noticable differences between v3.0 and v2.5
  • Benchmarked simultaneous restore of a production database using services
Result: no noticable differences between v3.0 and v2.5
  • Benchmarked hash join in 3.0 vs merge join in 2.5; also hash join vs nested loop join (both in 3.0) 
Result: hash join in almost all cases runs with the same or better performance
  • Found issue when restore of a production database could not be finished on v2.5 but succeeds in v3.0
Result: CORE-4352
  • Compare performance between nested loops in FB 3.0 vs 2.5 in simple query that counts number of 'lucky tickets'
Result: v3.0 looses about 15% in performance
  • Resume checking accuracy with hash join in plan
Result: no errors in result sets, hash join is same or faster than merge join
  • Finish comparing performance and accuracy of  complex queries in FB v3.0 vs MS SQL 2005
Result: no errors found in result sets, FB is a worse performer in medium and big data volumes

March 2014
  • Found a few cases when cursor stability does not work as expected
Result: added test cases to CORE-3362
  • Asynchronous cancellation request can be ignored in some cases
Result: CORE-4356
  • Non-priviledged user can block creation of new tables by select ... from rdb$database FOR UPDATE WITH LOCK
Result: CORE-4357
  • GROUP BY from derived table which contains group by on field with LITERAL value returns wrong result
Result: CORE-4360, fixed by Dmitry Yemanov
  • Investigated stored functions: found some issues about no-caching in case of DETERMINISTIC clause
Result: reported to core developers
  • Poor performance of windowed lead()over() function in comparison with explicit cursor (not uses indexes)
Result: reported to core developers
  • Tested index scans vs full table scans
Result: index scan wins when it covers up to 97% of data
  • Wrong result of WHERE predicate when it contains NULL IS NOT DISTINCT FROM (select min(NULL) from ...)
Result: CORE-4366, fixed by Dmitry Yemanov
  • Poor performance of explicit cursors containing correlated subqueries in the select list
Result: CORE-4379, fixed by Dmitry Yemanov
  • Start implementing big test that emulates OLTP activity

April 2014
  • Continued implementing OLTP-emulation test, refactored it multiple times in order to increase performance and minimize lock conflicts frequency
  • SELECT WITH LOCK may enter an infinite loop for a single record
Result: CORE-4388, fixed by Dmitry Yemanov
  • Trigger on DISCONNECT does not fire in FB 3.0
Result: regression is fixed by Dmitry Yemanov
  • Inner join (nested loop) does not take in account predicate in WHERE clause when driven source is VIEW based on GROUP BY
Result: CORE-4399
  • MERGE set row_count always to 1 (despite of actual rows affected)
Result: CORE-4400
  • Restore troubles: ERROR:Access to UDF/BLOB-filter module "" is denied by server administrator
Result: supposedy fixed by Dmitry Yemanov
  • FB crashes when fbtracemgr restarts
Result: fixed by Alex Peshkov

Pavel Zotov
Moscow, Russian Federation
Join Firebird!
RSS Newsletter
Home About Firebird Documentation Downloads Community Support Development Case Studies Back to Top
This site and the pages contained within are Copyright © 2000-2017, Firebird Project. Firebird® is a registered trademark of Firebird Foundation Incorporated. Developed by DQ Team.