Products.zmysqlda

Latest version: v5.0

Safety actively analyzes 629855 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 5 of 6

3.0alpha2

---------
- Moved DBPool instantiation from factory() to connect() to better facilitate
API backwards compatibility.

- Changed all default values on keyword arguments for the auto create db
feature. They all now default to True.

- Left in a bit of debugging code that disabled the new create_db
functionality. Removed it.

3.0alpha1

---------
- New maintainer: John Eikenberry

- Note that there are some changes in the internal API. So if you have
subclassed you should double check compatibility.

Features:
~~~~~~~~~
- Experimental Unicode support has been added. It is hardcoded to UTF-8 and
has had limited testing at this point. Adapted from patches made by Graeme
Mathieson.

- New optional feature of automatically creating the database provided in the
connection string. The mysql ``user`` used for the connection must have
CREATE permission. It defaults to on to encourage more testing.

- Database connection not created until first use instead of when the
object is first loaded. Ie. connection created at ``connect()`` call instead
of ``__setstate__()`` call. This helps conserve system resources and makes
debugging connection issues a bit easier. It is also needed for the new
db pool implementation (see below).

Bugs:
~~~~~
- Automatically reopens connections closed by client timeouts.

- Fixed major deadlock causing bug that can occur with versions of Zope
greater than 2.8. It was caused by the use of the volatile attribute
``_v_`` to keep the reference to the existing connection. Volatile
attributes can go away mid-transaction which would cause a deadlock when
used with a transactional engine (eg. innodb). The fix involves a fixed
pool of adapters and db connections. This also allowed for the elimination
of many of the locks. Adapted from patches made by Vincent Pelletier.

- 670137: missing ``sortKey()`` fixed in Zope

- 814378: infinite reconnect recursion fixed

- 1560557: missing import

- 1242842: missing ``MULTI_STATEMENTS``

- 1226690: missing ``close()`` method

2.0.9

-----
- Allow the connection string to work without a specified database.

- Wrap queries with a lock to prevent multiple threads from using
the connection simultaneously (this may or may not be happening).
If transactional, then there is an additional transaction lock,
acquired at the beginning of the transaction and released when
either finished or aborted.

- A named lock can be specified by inserting ``*LOCKNAME`` at the start
of the connection string. This is probably best used only if you
must use non-transactional tables.

- Some stuff will be logged as an error when bad things happen
during the transaction manager hooks.

2.0.8

-----
- More information about columns is available from the table
browser. This is primarily to support SQL Blender.

- ``DECIMAL`` and ``NUMERIC`` columns now returned as floating-point numbers
(was string). This has also been fixed in MySQLdb-0.9.1, but the
fix is included here just in case you don't upgrade. Upgrading is
a good idea anyway, because some memory-related bugs are fixed,
particularly if using Zope 2.4 and Python 2.1.

2.0.7

-----
- Transaction support tweaked some more. A plus (``+``) or minus (``-``)
at the beginning of the connection string will force transactions
on or off respectively. By default, transactions are enabled if
the server supports them. Beware: If you are using non-TST tables
on a server that supports transactions, you should probably force
transactions off.

2.0.6

-----
- This version finally should have all the transaction support
working correctly. If your MySQL server supports transactions,
i.e. it has at least one transaction-safe table (TST) handler,
transactions are enabled automatically. If transactions are
enabled, rollbacks (aborts) fail if any non-TST tables were
modified.

Page 5 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.