Change Log
0.4.0rc1 - Release candidate for PyPI upload. by j_berendt at 2024-08-07 16:16:41
Changes: - Migrated from setup.py to pyproject.toml. - Added a README.md file for GitHub and PyPI, based on the homepage of the existing documentation. - Uploaded documentation to Read the Docs. Testing: - Tests complete successfully with 100% code coverage. Released: 2024-08-07
0.4.0.dev4 - Relocated LICENSE file. by j_berendt at 2024-03-14 15:38:58
DBLIB-6: - The LICENSE file has been moved to the top level of the project. Released: 2024-03-14
0.4.0.dev3 - Bug fix. by j_berendt at 2024-03-07 15:00:33
DBLIB-5: Update results to DataFrame method - Addressed a StopIteration error thrown when attempting to convert results to a DataFrame, when the results object is empty. Released: 2024-03-07
0.4.0.dev2 - Security updates and Python 3.10 uplift. by j_berendt at 2024-02-28 16:24:58
DBLIB-3: Security Security updates have been applied to the _dbi_base.execute_query method. Checks have been put in place to help prevent injection-like statments. - A SecurityWarning is raised if the statement contains multiple semi-colon characters. Therefore only allowing single-statement to be executed. - A SecurityWarning is raised if the statement contains a comment delimiter. DBLIB-4: Python 3.10 - Type hinting has been updated in all modules IAW PEP-604. - This uses a pipe syntax, rather than a typing.Union keyword. - Minimum version of Python required is now 3.10. Testing: - Test cases have been added to cover the security checks. - Test cases pass successfully with 100% code coverage. Released: 2024-02-28
0.4.0.dev1 - Enable database interface class specialisation. by j_berendt at 2024-02-26 12:07:14
DBLIB-2: - The database.DBInterface class has been updated to include *args and **kwargs in the class creation. - The __new__ method remains in place due to the way classes must be created. - The _db_base._DBIBase class has been updated to include a database_name property, which is propogated through all subclasses. Testing: - Test cases updated to ensure 100% code coverage. - Minor updates to the testing setup/teardown methods for robustness. Documentation: - Updated to include a code example for 'pseudo-inheritance' to enable subclass specialisation. - Updated the usage example to remove the subclass' call to __init__, as the __init__ method will *not* be called. Released: 2024-02-26
0.3.0.dev3 - HTML documentation suite created. by j_berendt at 2023-10-10 09:49:23
Released: 2023-10-25
0.3.0.dev2 - Docstring updates. by j_berendt at 2023-07-17 10:09:09
Issued and bug fixes: - DBLIB-1: Updated the docstrings in _dbi_mysql to show the parameter name as 'proc', rather than 'proc_name'. to accurately match the name of the parameter. Released: 2023-07-17
0.3.0.dev1 - Addition of the SQLite database interface. by j_berendt at 2023-06-07 08:05:55
This is a *development release* intended for the development and testing if the calling libraries. Released: 2023-06-07
0.2.0.dev4 - Refactored module code base. Other fixes. by j_berendt at 2023-05-23 15:57:48
This is a *development release* intended for the development and testing of the calling libraries. Purpose: - The purpose of this change is to *properly* segregate the database-specific code from the generalised code. - When running the library in an Oracle (and non-MySQL) environment, the imports were getting crossed. This forced the installation of MySQL driver libraries, although they would not be used in practice. Modules: - The MySQL-specific code has been removed from the _db_base module and placed in the _dbi_mysql module; where it always should have been. - The __init__ method has been removed from the database-specific modules, enabling fallback to the parent module. - Other minor (supporting) changes in the module layout. Fixes: - The database-name tests in the database.DBInterface class have been updated to prevent a module import error during the tests. Released: 2023-05-24
0.2.0.dev3 - Fixes to the database.DBInterface.__new__ method. by j_berendt at 2023-05-22 16:01:11
DBInterface.__new__ method: - New class creation failed when 'other' parameters were passed into the class constructor. - Added the *args and **kwargs parameters, along with the 'connstr' parameter. - Changed the import test for MySQL from 'mysql.connector' to simply 'mysql', as the '.connector' test throws a ModuleNotFounderror if mysql is not installed. Released: 2023-05-23
0.2.0.dev2 - Updated to remove the required dependencies. by j_berendt at 2023-05-22 14:47:12
This is a *development release* intended for the development and testing of the calling libraries. Dependencies: - The following libraries are no longer required by the installation. This is to enable dblib to be easily deployed onto an environment where only one of the database engines is used. - Obviously, the appropriate database driver must be installed before using dblib to access that database. - cx-oracle - mysql-connector Released: 2023-05-23
0.2.0.dev1 - Added Oracle database suppport. by j_berendt at 2023-05-18 14:51:00
Modules: - The interface modules have been redesigned to facilitate code reuse and Oracle database support. Released: 2023-05-22
0.1.0.dev2 - Testing suite and minor code updates. by j_berendt at 2023-05-17 13:01:09
This is a *development release* intended for the development and testing of the calling libraries. Testing: - A complete testing suite has been added and achieves 100% test coverage. database.py: - Minor code tweaks have been applied to patch bugs found while developing the test suite. Released: 2023-05-18
0.1.0.dev1 - Initial development of the database module is complete. by j_berendt at 2023-05-16 16:50:33
This is a *development release* intended for the development and testing of the calling libraries. database.py - The core database module was taken from s3ddb v0.8.0.dev1, and modified to extend functionality with the view to removing the database code from the s3ddb and adourlib libraries. - The intended design is to have the s3ddb.database.Database and adourlib.tools.database.Database classes inherit the dblib.database.Database class, and specialise only if required. Otherwise, the core database interface functionality will reside in this lower-level library. Released: 2023-05-17
0.1.0.dev1 - Initial commit for the dblib project. by j_berendt at 2023-05-16 16:24:40