v0.2.1
- Fixed row converter to properly handle nullable values (#53). In this release, the row converter in the
databricks.labs.lsql.coremodule has been updated to handle nullable values correctly. A new methodStatementExecutionExthas been added, which manages the handling of nullable values during SQL statement execution. TheRowclass has also been modified to include nullable values, improving the robustness and flexibility of SQL execution in dealing with various data types, including null values. These enhancements increase the overall reliability of the system, making it more production-ready. - Improved integration test coverage (#52). In this release, the project's integration test coverage has been significantly improved through several changes. A new function,
make_random(), has been added to theconftest.pyfile to generate a random string of fixed length, aiding in the creation of more meaningful and readable random strings for integration tests. A new file,test_deployment.py, has been introduced, containing a test function for deploying a database schema and verifying successful data retrieval via a view. Thetest_integration.pyfile has been renamed totest_core.py, with updates to thetest_fetch_onefunction to test thefetch_onemethod using a SQL query with an aliased value. Additionally, a newFoodataclass has been added to thetests/integration/views/__init__.pyfile, supporting integration test coverage. Lastly, a new SQL query has been added to the integration test suite, located in thesome.sqlfile, which retrieves data from a table namedfooin theinventoryschema. These changes aim to enhance the overall stability, reliability, and coverage of the project's integration tests. Note: The changes to the.gitignorefile and the improvements to theStatementExecutionBackendclass in thebackends.pyfile are not included in this summary, as they were described in the opening statement. - Rely on
hatchbeing present on the build machine (#54). In this release, we have made significant changes to how we manage our build process and toolchain configuration. We have removed the need to manually installhatchversion 1.7.0 in the build machine, and instead, rely on its presence, adding it to the list of required tools in the toolchain configuration. The command to create a virtual environment usinghatchhas also been added, and thepre_setupsection no longer includes installinghatch, assuming its availability. We have also updated thehatchpackage version from 1.7.0 to 1.9.4, which may include bug fixes, performance improvements, or new features. This change may impact the behavior of any existing functionality that relies onhatch. Thepyproject.tomlfile has been modified to update thefmtandverifysections, withruff check . --fixreplacingruff . --fixand the removal ofblack --check .andisort . --check-only. A new configuration forisorthas also been added to specify thedatabricks.labs.blueprintpackage as a known first-party package, enabling more precise management of imports related to that package. These changes simplify the build process and ensure that the project is using a more recent version of thehatchpackage for packaging and distributing Python projects. - Updated sqlglot requirement from ~=22.3.1 to >=22.3.1,<22.5.0 (#51). In this release, we have updated the version constraint for the
sqlglotpackage in our project'spyproject.tomlfile. Previously, we had set the constraint to~=22.3.1, allowing for any version with the same major and minor numbers but different patch numbers. With this update, we have changed the constraint to>=22.3.1,<22.5.0. This change enables our project to utilize bug fixes and improvements made in the latest patch versions ofsqlglot, while still preventing it from inadvertently using any breaking changes introduced in version 22.5.0 or later versions. This modification allows us to take advantage of the latest features and improvements insqlglotwhile maintaining compatibility and stability in our project.
Dependency updates:
- Updated sqlglot requirement from ~=22.3.1 to >=22.3.1,<22.5.0 (#51).
Contributors: @nfx, @dependabot[bot]