Minor update to django-firebird 1.6 (only works with django 1.6.x)

Maximiliano Robain  announced on django-firebird devel group :

Hi everyone,
I did just a little update on stable/1.6.x branch and a new release django-firebird v1.6.3. It includes a really minor fix on how catch and reraise exceptions and includes support for PEP 440 necessary to support PyPI updates.
The plan right now is to resume django 1.7 support (develop branch) and then continue with support for django 1.8 .

The idea is fix and close all open issues before merge it with master branch (now master branch == stable/1.6.x branch)
Any feedback is wellcome.

The Chequered Career of nBackup

The incremental backup utility toolset nBackup is not a friendly beast. An operational misstep can break a database. Under load, in some conditions, it can be a database-killer without any human intervention, especially under Firebird v.2.1 or v.2.0.

There’s a proviso, though. A lot of the problem code was eliminated by a thorough revamp for Firebird 2.5. The threadability of attachments in v.2.5 is also thought to have reduced some of the instability of nBackup The improvements were not backported to the v.2.1 or 2.0 series because it was structurally infeasible.

This article is not a “How-to” for using nBackup. The Firebird Project documentation for proper use of this toolset is excellent and can be read or downloaded from the Documentation pages at the Firebird web site.

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.

1 78 79 80 81 82 200