In relation to PYFB-43 I had to make a backward incompatible change to event processing API. Starting from this version EventConduit does not automatically starts collection of events upon creation, but it’s now necessary to call begin() method. To mitigate the inconvenience, EventConduit now supports context manager protocol that ensures calls to begin() and close() via with statement.
In relation to PYFB-39 I have decided to drop support for implicitly cached and reused prepared statements. I never liked this feature as I think it’s a sneaky method how to put some performance to badly written applications that in worst case may lead to significant resource consumption on server side when developers are not only lazy but also stupid. It was implemented for the sake of compatibility with KInterbasDB.
This change has no impact on API, but may affect performance of your applications.
Optional PEP 249 (Python DB API 2.0) Extensions
Connection.Error, Connection.ProgrammingError, etc.
All exception classes defined by the DB API standard are exposed on the Connection objects as attributes (in addition to being available at module scope).
Cursor.connection
This read-only attribute return a reference to the Connection object on which the cursor was created.
Cursor.transaction read-only attribute returns a reference to the Transaction object on which the cursor was created.
Optimized wekref management, especially for PreparedStatement.
create_database now supports two methods for database screation. You can specify CREATE DATABASE statement (as before) or provide set of named database parameters (SQL statement is created automatically from them).
Functions connection and create_database now take optional keyword parameter connection_class to obtain instances of different class instead Connection.
Support for legacy (pre-2.5) shutdown mode with mode fdb.services.SHUT_LEGACY.
fdb.Cursor.executemany() returns self, so it could be used directly as iterator.
Documentation inprovements.
Just bugfixes to make FDB work on P3K again.
And as always, some (unregistered) bugs fixed.
Bug fixes.
Initial release.
Almost feature-complete (ready for 95% of users), but it could be still buggy (it’s beta!), and the code wasn’t optimized for size and speed. In all other ways it’s ready for wide testing.