Author: mariuz
Speeding up OpenCMS : Moving auto-commit logic from Jaybird to the Firebird
Smyatkin Maxim from RedSoft proposed the following changes in this pull request for Jaybird :
Jaybird shows horrible performance in auto-commit mode while executing
lots of small queries.
Reasons:
1. Every time a statement is being executed a new transaction starts and
commits.
2. Even if there were no changes at all (e.g., simple select statement)
Jaybird starts and commits transaction.
Solution: Firebird API has its own auto-commit flag. Firebird knows for
sure if anything did actually change, so Jaybird might rely on it. As a
result:
1. It saves start and commit calls;
2. It executes commits only if something really changed;
3. Internally it works faster even if changes appeared because it doesn’t
restart a transaction.
Practical results: it allowed me to make OpenCMS work 3-5 times faster
with Firebird. I suppose it’s not the only case, because some systems
(especially the ones using ORMs) tend to execute lots of small selects.
Main changes in code are:
1. Removed AutocommitTransactionCoordinator. LocalTransactionCoordinator
with enabled autoCommit flag does exactly what we need.
2. When we change autoCoommit to true/false – we commit previous
transaction manually, so that it restarts with new TPB.
Jaybird milestone : removal of JNI C++ wrappers
Removal of old GDS API:
The old GDS API (org.firebirdsql.gds.GDS) has been removed. This removal
includes a number of related classes and methods.
Type 2 (native) and embedded driver
Jaybird no longer needs a jaybirdxx.dll
or jaybirdxx.so
for the Type 2 and embedded driver. Jaybird now uses JNA to access the client library.
If you want to use the Type 2 driver, or Firebird embedded, then you need to include the jna-x.x.x.jar
on the classpath. The fbclient.dll
, fbembed.dll
, libfbclient.so
, or libfbembed.so
need to be on the path.
Firebird is now on Travis-ci
Firebird github master branch is now on travis
https://travis-ci.org/FirebirdSQL/firebird
Build status image after each checkin :
JOOQ Version 3.6.2 is released
This is a patch release with some useful fixes for the 3.6 branch
Firebird 3.0 Beta 2 on it’s way
Jaybird 2.2.8 has been released
Jaybird 2.2.8 has been released. See https://github.com/FirebirdSQL/jaybird/releases/tag/v2.2.8 … for details and download links.
Full release notes are here
All Jaybird releases are listed on GitHub, including release notes and/or binaries when available: https://github.com/FirebirdSQL/jaybird/releases …
FDB Python driver for Firebird v1.4.6 is available for download
FDB Python driver for Firebird v1.4.6 is available for download. This is
pure bugfix release. Solves ‘weakly-referenced object no longer exists’
problem (PYFB-50)
https://pypi.python.org/pypi/fdb
best regards
Pavel Cisar
IBPhoenix
SQL Relay 0.59 is released
SQL Relay version 0.59 is now available
Firebird Related Changes:
- added global temp table tracking for firebird
- added droptemptables parameter for firebird
- added globaltemptables parameter for oracle and firebird
- fixed blob-input binds on firebird
Firebird recently added support for global temporary tables. Their implementation is very similar to Oracle’s. SQL Relay now manages global temporary tables identically for Oracle and Firebird. There is even a droptemptables parameter in the Firebird connection configuration, analogous to the same parameter for Oracle.
In fact, support for global temporary tables has been generally improved. In the past, tables created during the current SQL Relay session were tracked and truncated at the end of the session, but global temporary tables created during previous runs of SQL Relay or outside of SQL Relay altogether were ignored, leading to those global temporary tables not being truncated at the end of the session. The Oracle and Firebird connections now support a globaltemptables parameter that can be set to a list of tables that should be truncated at the end of each session, or to “%”, which causes SQL Relay to query the database for the list of global temp tables to truncate.
Firebird 3.0 Revision 61479 uploaded to #ubuntu firebird3.0 ppa
Firebird 3.0 Revision 61479 was uploaded to Debian/experimental.
Now you can install on Ubuntu 14.04 LTS or latest release 15.04 (Vivid) from firebird3.0 ppa
Changes:
* Remove extra ‘;a=summary’ from the Vcs-Browser URL
* -server.postinst: s/LOGDIR/LOG_DIR/ spelling mistake (This solved an package install issue – basically it stopped the installation process)
* Imported Upstream subversion snapshot r61579
* fix populating -dev with include/firebird/* content