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: Core Coding and Development
February to May 2020

February 2020

master

  • A bit better solution for CORE-6110: 64-bit transaction IDs are not stored properly in status vector
  • Correct usage of Arg::Int64
  • Complete fix for bug CORE-6233 : Wrong dependencies of stored function on view after backup and restore.
  • New feature CORE-4933 : Add better transaction control to isql
  • Fixed bug CORE-6254 : AV in engine when using SET TRANSACTION and ON TRANSACTION START trigger uses EXECUTE STATEMENT against current transaction
  • Fixed bug CORE-6252 : UNIQUE CONSTRAINT violation
  • Improvement CORE-6095 : Extend trace record for COMMIT/ROLLBACK RETAINING to allow chaining of transaction ids 
  • Fixed bug CORE-6253 : Crash via locked fb_lock file

B3_0_Release

  • Backport new feature CORE-4933 : Add better transaction control to isql 
  • Fixed bug CORE-6254 : AV in engine when using SET TRANSACTION and ON TRANSACTION START trigger uses EXECUTE STATEMENT against current transaction
  • Fixed bug CORE-6252 : UNIQUE CONSTRAINT violation
  • Fixed bug CORE-6253 : Crash via locked fb_lock file

March

master

  • Allow MP compilation for extern projects. MSVC15 only for now.
  • Fixed bug CORE-6224 : [AV] Re-destruction of the rem_port object
  • Make CLOOP generate correct VERSION constants for all kind of outputs.
  • Fixed bug reported privately: request of expression index could run outside of main request's snapshot.
  • Merge branch 'query_restarts_2'
  • Optimization : use overlapped IO for database files on Windows. Cleanup corresponding (never used) code from IB6.

B3_0_Release

  • Fixed bug CORE-6224 : [AV] Re-destruction of the rem_port object
  • Make CLOOP generate correct VERSION constants for all kind of outputs.
  • Correct my old fix for CORE-5470 - use converters in correct order query_restarts_2
  • Fixed regression found by Nikolay: Let restart request immediately when update conflict happens at positioned UPDATE\DELETE
  • Introduced generic way to add some specific markers for primary BLR verbs using new blr_marks code.
  • Restore how DebugInfo was generated.
  • Preserve locks when required and there is no next savepoint (for ex. no transaction-level savepoint)
  • Update documentation.

April

master

  • Some additional checks and documentation for new MAKE_DBKEY function.
  • Windows build for ExtAuth sample plugin and its keygen
  • Add pre-built binaries of ExtAuth plugin (\examples\prebuilt\plugins) and its keygen (\examples\prebuilt\bin).
  • Avoid creating folders for the build logs of misc libraries
  • Update documentation (CORE-4933)

May

master

  •  Renamed exauth sample plugins\app.
  • Windows build for dbcrypt sample plugins\app.
  • Fixed dbcrypt sample app to compile on Windows.
  • make_examples.bat updated.
  • Update documentation.
  • Reimplemented TraceLog as ring-buffer in shared memory
  • Added simple ITimer implementation, independent of system time changes. Use common template for Attachment::IdleTimer.
  • Don't start session idle timer if there is executing statement.
  • Show in monitoring tables real expiration time of timeout timers, independent of system time change after timer start.
  • Avoid races when trace plugin is [un]loaded and firebird process is stopped. Fixed bug CORE-5838 : Rotated Trace files locked by engine
  • Refactored TimerImpl to use std::function as Adriano suggested.
  • Reimplement trace configurations storage. This should fix CORE-6296 : Many connections results in poor performance
  • Fixed 5 seconds delay when user application exits not calling fb_shutdown
  • Ensure timer handler can't run after the stop() is executed.
  • Fixed race with idle timer handler and ~PluginLogWriter().
  • Make Idle timer handler to not blocks when run in parallel with write() anymore.
  • Use full file name for touch timer
  • Fixed bug CORE-6319 : NBACKUP locks db file on error
  • Shared objects (lock manager, event manager and replication manager) should be deleted under g_mutex protection. This should fix
    bugchecks happens occasionally when run test for CORE-5034. Also, don't acquire local GlobalObjectHolder::m_mutex when it is not
    necessary.
Vladyslav Khorsun
Dnetpropetrovsk, Ukraine
February to May 2020

February 2020

master

  • A bit better solution for CORE-6110: 64-bit transaction IDs are not stored properly in status vector
  • Correct usage of Arg::Int64
  • Complete fix for bug CORE-6233 : Wrong dependencies of stored function on view after backup and restore.
  • New feature CORE-4933 : Add better transaction control to isql
  • Fixed bug CORE-6254 : AV in engine when using SET TRANSACTION and ON TRANSACTION START trigger uses EXECUTE STATEMENT against current transaction
  • Fixed bug CORE-6252 : UNIQUE CONSTRAINT violation
  • Improvement CORE-6095 : Extend trace record for COMMIT/ROLLBACK RETAINING to allow chaining of transaction ids 
  • Fixed bug CORE-6253 : Crash via locked fb_lock file

B3_0_Release

  • Backport new feature CORE-4933 : Add better transaction control to isql 
  • Fixed bug CORE-6254 : AV in engine when using SET TRANSACTION and ON TRANSACTION START trigger uses EXECUTE STATEMENT against current transaction
  • Fixed bug CORE-6252 : UNIQUE CONSTRAINT violation
  • Fixed bug CORE-6253 : Crash via locked fb_lock file

March

master

  • Allow MP compilation for extern projects. MSVC15 only for now.
  • Fixed bug CORE-6224 : [AV] Re-destruction of the rem_port object
  • Make CLOOP generate correct VERSION constants for all kind of outputs.
  • Fixed bug reported privately: request of expression index could run outside of main request's snapshot.
  • Merge branch 'query_restarts_2'
  • Optimization : use overlapped IO for database files on Windows. Cleanup corresponding (never used) code from IB6.

B3_0_Release

  • Fixed bug CORE-6224 : [AV] Re-destruction of the rem_port object
  • Make CLOOP generate correct VERSION constants for all kind of outputs.
  • Correct my old fix for CORE-5470 - use converters in correct order query_restarts_2
  • Fixed regression found by Nikolay: Let restart request immediately when update conflict happens at positioned UPDATE\DELETE
  • Introduced generic way to add some specific markers for primary BLR verbs using new blr_marks code.
  • Restore how DebugInfo was generated.
  • Preserve locks when required and there is no next savepoint (for ex. no transaction-level savepoint)
  • Update documentation.

April

master

  • Some additional checks and documentation for new MAKE_DBKEY function.
  • Windows build for ExtAuth sample plugin and its keygen
  • Add pre-built binaries of ExtAuth plugin (\examples\prebuilt\plugins) and its keygen (\examples\prebuilt\bin).
  • Avoid creating folders for the build logs of misc libraries
  • Update documentation (CORE-4933)

May

master

  •  Renamed exauth sample plugins\app.
  • Windows build for dbcrypt sample plugins\app.
  • Fixed dbcrypt sample app to compile on Windows.
  • make_examples.bat updated.
  • Update documentation.
  • Reimplemented TraceLog as ring-buffer in shared memory
  • Added simple ITimer implementation, independent of system time changes. Use common template for Attachment::IdleTimer.
  • Don't start session idle timer if there is executing statement.
  • Show in monitoring tables real expiration time of timeout timers, independent of system time change after timer start.
  • Avoid races when trace plugin is [un]loaded and firebird process is stopped. Fixed bug CORE-5838 : Rotated Trace files locked by engine
  • Refactored TimerImpl to use std::function as Adriano suggested.
  • Reimplement trace configurations storage. This should fix CORE-6296 : Many connections results in poor performance
  • Fixed 5 seconds delay when user application exits not calling fb_shutdown
  • Ensure timer handler can't run after the stop() is executed.
  • Fixed race with idle timer handler and ~PluginLogWriter().
  • Make Idle timer handler to not blocks when run in parallel with write() anymore.
  • Use full file name for touch timer
  • Fixed bug CORE-6319 : NBACKUP locks db file on error
  • Shared objects (lock manager, event manager and replication manager) should be deleted under g_mutex protection. This should fix
    bugchecks happens occasionally when run test for CORE-5034. Also, don't acquire local GlobalObjectHolder::m_mutex when it is not
    necessary.
Vladyslav Khorsun
Dnetpropetrovsk, Ukraine