- Added functions :func:`__enter__() <pydblite.sqlite.Database.__enter__>` and :func:`__exit__() <pydblite.sqlite.Database.__exit__>` to :class:`Database <pydblite.sqlite.Database>`
- Fixed bug where db_filter argument of function :func:`_len() <pydblite.sqlite.Table._len>`, :func:`get_unique_ids() <pydblite.sqlite.Table.get_unique_ids>`, and :func:`get_group_count() <pydblite.sqlite.Table.get_group_count>` was ignored if filter returns 0 matches.
- Fixed bug (#1) in :class:`Base <pydblite.pydblite._Base>` where calling :func:`db.create() <pydblite.pydblite._Base.create>` without supplying a value for the "mode" parameter with give an error.
- Fixed bug in :class:`Base <pydblite.pydblite._Base>` where opening existing database would fail.
Note: Some changes in this release are not backwards compatible with 2.X versions.
- pydblite and sqlite are rewritten to use a common :class:`Filter <pydblite.common.Filter>` object.
- Tests have been improved and standardised in :ref:`unittests-label`.
- Updated :ref:`examples-label`.
- Renamed module and package names to lower case according to PEP 8
- Converted to UNIX line endings and follow PEP 8 code style.
- MySQL adapter has been dropped until it can be tested with unit tests.
- if db exists, read field names on instance creation
- allow add_field on an instance even if it was not open()
- attribute path is the path of the database in the file system (was called "name" in previous versions)
- attribute name is the base name of the database, without the extension
- adapt code to run on Python 2 and Python 3
- test is now in folder "test"
- SQLite changes:
- many changes to support "legacy" SQLite databases
- no control on types declared in CREATE TABLE or ALTER TABLE
- no control on value types in INSERT or UPDATE
- no version number in records
- add methods to specify a conversion function for fields after a SELECT
- change names to be closer to SQLite names
- a class Database to modelise the database
- a class Table (not Base) for each table in the database
- many changes to support "legacy" SQLite databases
- add BSD Licence
- raise exception if unknown fields in insert
- introduce syntax (db('name')>'f') & (db('age') == 30)
- add __contains__