Join Firebird!

Join Firebird Foundation to support Firebird SQL development and receive multiple bonuses

Follow Us

Select your media preference

Newsletter

Subscribe to Firebird’s Newsletter to receive the latest news

Developer's Report: Firebird Core Development & Coordination
December 2010 to February 2011

February 2011

New development
  • Removed the internals limits of 64KB per message
  • Profiled the hash join implementation
Improvements
  • CORE-2305: Make mon$statement_id value constant among monitoring snapshots
  • CORE-3332: Provide more detailed information about the query execution plan
  • CORE-3076: Better performance for (table.field = :param or :param = -1) in where clause
Bug Fixing
  • CORE-3097: Updating blob field cause server crash with ACCESS_VIOLATION exception
  • CORE-3355: Wrong comparison of DATE and TIMESTAMP if index is used
  • CORE-3233: LIKE, STARTING and CONTAINING fail if second operand >= 32K
  • CORE-3353: Predicate (blob_field LIKE ?) describes the parameter as VARCHAR(30) rather than as BLOB
  • CORE-3138: Internal error or crash occurs when accessing any MON$ table after altering its structure
  • CORE-3335: Wrong results (internal wrapping occured) for the multi-byte blob SUBSTRING function and its boundary arguments
  • CORE-3296: Error "context already in use" for the simple case function with a sub-select operand
  • CORE-3245: SUBSTRING on long blobs truncates result to 32767 if third argument not present
  • CORE-3058: New generators are created with wrong value when more than 32K generators was previously created
  • CORE-3173: Empty result when select from SP that contains two CTE (second of them with GROUP BY clause) and INNER join
  • CORE-3176: View with "subselect" column join table and not use index
  • CORE-3340: Error in autonomous transaction with empty exception handler: can insert duplicate values into PK/UK column
  • CORE-3341: Events might not be posted inside the autonomous transaction
  • CORE-1620: Incorrect error message if EXECUTE STATEMENT contains empty string
  • CORE-2957: count(*) from big table returns negative result
  • CORE-1619: Some aggregate functions doesn't support NULL-constant in 3-d dialect
January 2011

Bug Fixing
  • CORE-3314: Dependencies are not removed after dropping the procedure and the table it depends on in the same transaction
  • CORE-3312: Sub-optimal join plan when the slave table depends on the master one via the OR predicate
  • CORE-3311: Error "data type unknown" while preparing UPDATE/DELETE statements with the parameterized ROWS clause
  • CORE-2933: Very slow execution of a script that creates a lot of metadata
  • CORE-3237: Slow compilation of stored procedures
  • CORE-3302: Distinct aggregates return wrong (duplicated) data
Miscellaneous
  • Optimizer related cleanup
December 2010

Improvements
  • CORE-3295: Estimate the actual record compression ratio in the optimizer
Bug Fixing
  • CORE-3283: Bad plan with using LEFT OUTER JOIN in sub-select
  • Backported CORE-2890: SQLSTATE should also be available as a PSQL context variable like GDSCODE/SQLCODE
Miscellaneous
  • Documentation for the v2.1.4 release
  • Misc bug hunting in the new v3.0 code
Dmitry Yemanov
Penza, Russia
December 2010 to February 2011

February 2011

New development
  • Removed the internals limits of 64KB per message
  • Profiled the hash join implementation
Improvements
  • CORE-2305: Make mon$statement_id value constant among monitoring snapshots
  • CORE-3332: Provide more detailed information about the query execution plan
  • CORE-3076: Better performance for (table.field = :param or :param = -1) in where clause
Bug Fixing
  • CORE-3097: Updating blob field cause server crash with ACCESS_VIOLATION exception
  • CORE-3355: Wrong comparison of DATE and TIMESTAMP if index is used
  • CORE-3233: LIKE, STARTING and CONTAINING fail if second operand >= 32K
  • CORE-3353: Predicate (blob_field LIKE ?) describes the parameter as VARCHAR(30) rather than as BLOB
  • CORE-3138: Internal error or crash occurs when accessing any MON$ table after altering its structure
  • CORE-3335: Wrong results (internal wrapping occured) for the multi-byte blob SUBSTRING function and its boundary arguments
  • CORE-3296: Error "context already in use" for the simple case function with a sub-select operand
  • CORE-3245: SUBSTRING on long blobs truncates result to 32767 if third argument not present
  • CORE-3058: New generators are created with wrong value when more than 32K generators was previously created
  • CORE-3173: Empty result when select from SP that contains two CTE (second of them with GROUP BY clause) and INNER join
  • CORE-3176: View with "subselect" column join table and not use index
  • CORE-3340: Error in autonomous transaction with empty exception handler: can insert duplicate values into PK/UK column
  • CORE-3341: Events might not be posted inside the autonomous transaction
  • CORE-1620: Incorrect error message if EXECUTE STATEMENT contains empty string
  • CORE-2957: count(*) from big table returns negative result
  • CORE-1619: Some aggregate functions doesn't support NULL-constant in 3-d dialect
January 2011

Bug Fixing
  • CORE-3314: Dependencies are not removed after dropping the procedure and the table it depends on in the same transaction
  • CORE-3312: Sub-optimal join plan when the slave table depends on the master one via the OR predicate
  • CORE-3311: Error "data type unknown" while preparing UPDATE/DELETE statements with the parameterized ROWS clause
  • CORE-2933: Very slow execution of a script that creates a lot of metadata
  • CORE-3237: Slow compilation of stored procedures
  • CORE-3302: Distinct aggregates return wrong (duplicated) data
Miscellaneous
  • Optimizer related cleanup
December 2010

Improvements
  • CORE-3295: Estimate the actual record compression ratio in the optimizer
Bug Fixing
  • CORE-3283: Bad plan with using LEFT OUTER JOIN in sub-select
  • Backported CORE-2890: SQLSTATE should also be available as a PSQL context variable like GDSCODE/SQLCODE
Miscellaneous
  • Documentation for the v2.1.4 release
  • Misc bug hunting in the new v3.0 code
Dmitry Yemanov
Penza, Russia