Releases: MarketSquare/Robotframework-Database-Library
v.2.1.2
v.2.1.1
v.2.1.0
What's Changed
- New import parameter
warn_on_connection_overwriteallows to disable the "overwriting not closed connection" warning (fix #232) - Allow different 'omit trailing semicolon' behavior pro connection
- New keyword 'Set Omit Trailing Semicolon'
- Improve the automatic rollback behavior - rollback in case of errors only
- Support set autocmmit for jaydebeapi
- Throw an error when trying to set autocommit for ibm_db as it's not supported
- Use len() to determine row count when using JayDeBeApi by @jellemdekker in #154
- Added missing f string in assert condition of oracledb mode by @herrek1 in #230
- Improve docs - provide more connection examples for different DB modules, including
jaydebeapi(fix #148, #229, #231, #233) - Docs on ibm_db incompatibility - use ibm_db_dbi
- Update and extend tests
New Contributors
- @herrek1 made their first contribution in #230
- @jellemdekker made their first contribution in #154
Full Changelog: v.2.0.4...v.2.1.0
v.2.0.4
v2.0.3
v2.0.2
Fix #223 ImportError with ibm_db > version 3.2.0
If running on Windows and with ibm_db or ibm_db_dbi module, the library determines current installation path of the module, adds clidriver/bin to it and adds the result to list of DLL's using os.add_dll_directory.
Full Changelog: v2.0.0...v2.0.2
v2.0.0
Database Library 2.0.0 is a new major release, bringing new keywords with inline assertions using Assertion Engine (#208) and retry mechanism (#209), logging query results in table format (#147), support for custom connection parameters (#220) and other improvements.
This version also contains renamed keyword parameters and deprecations of keywords and requires Python 3.8 or newer and Robot Framework 5.0.1 or newer.
New features and improvements
- New keywords Check Row Count and Check Query Result with assertion engine and retry mechanism. #208 #209
- Query results are now automatically printed in table format in RF log. This behaviour can be adjusted or disabled. See docs for details. #147
- Handling of connection parameters in keyword Connect To Database was deeply refactored. There is only one mandatory parameter left -
db_module, all other parameters are optional now. Plus any custom parameters are supported now - both provided as keyword arguments or in config file. See details in keyword docs. #220 - Other logging in keywords was cleaned and improved.
- Keyword parameters were renamed according to Python PEP8 -
snake_caseinstead of formerly usedcamelCase. See more details below in the deprecations section. - Support for OUT params when calling a stored procedure in MSSQL, which doesn't return any result sets - implemented via new keyword argument
additional_output_params. See extended docs of the Call Stored Procedure keyword. #219 - The documentation of all keywords and the entire library was deeply cleaned, consolidated and improved.
Backwards incompatibilities and deprecations
- This version requires Python 3.8 or newer and Robot Framework 5.0.1 or newer.
- Keyword parameters were renamed according to Python PEP8 -
snake_caseinstead of formerly usedcamelCase. Moreover, some parameter names were changed to shorter or more precise versions. The old parameter names are still supported, but deprecated - the library logs a warning in case of their usage. The deprecated old-named parameters will be removed in future versions. #188 - Introducing new keywords Check Row Count and Check Query Result with inline assertions allows to deprecate some redundant keywords. They will be removed in future versions.
- Support of custom parameters in the Connect To Database keyword allows to deprecate the Connect To Database Using Custom Params keyword - it's redundant now. The deprecated keyword will be removed in future versions.
- During refactoring of connection parameters, some hardcoded fallback values were removed. These values can be still set, if required, with new support of any custom parameters in the Connect To Database keyword.
- Stop using
localhostas fallback value for DB host - Stop using
{SQL Server}as fallback value for pyodbc driver - Stop using
TCPIPas fallback valued for ibm_db protocol
- Stop using
Full Changelog: v1.4.4...v2.0.0
v1.4.4
v1.4.3
v1.4.2
What's Changed
- Fix #202 - no empty list is passed to the database module if no sql params were specified. Fixes an error if the database module doesn't accept an empty list as parameters.
- Fix #184 - Improvements in parsing the PL/SQL script files.
- The keyword
Execute SQL Scripthas a new parametersplitnow - setting it to False disables splitting the SQL script into statements. In this case the entire script content will be passed to the database module for execution. - The keyword
Execute SQL Stringhas a new parameteromitTrailingSemicolon- for explicit instruction, if the trailing semicolon (;) at the SQL string end should be removed or not.- Setting it to False will fix an error, if the Oracle database exceptionally requires a semicolon at the end of the PL/SQL block. More details available here.
- If not specified, it's decided based on the current database module in use. For Oracle, the semicolon is removed by default.
- #201 - improved docs of the
Querykeyword - added a note, that result values might be not always tuples (depends on the database module)
Full Changelog: v1.4.1...v1.4.2