All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, adheres to Semantic Versioning, and is generated by Changie.
- Snapshot support
- Fixed an issue when indexes would break on columns containing spaces
- Enabled tests that were disabled due to the feature gaps
- Fixed default arguments for copy stategy when they would appear empty when not specified.
- Partition drop logic using the old SQL format.
- Added host connection parameter alias
- dbt 1.8 support
- dbt 1.7 support with tests and refactoring
- Incompatible tests
- Ability to specify AWS key id and secret when creating external tables.
- Added a way to use COPY FROM command as an alternative to EXTERNAL TABLE.
- External table authentication to inlcude optional role external id.
- Changed list_relations_without_caching to account for changed information schema view
- Fixed tests that were failing due to the new Firebolt syntax.
- Fixed seed full refresh resolution.
- Broken whitesace when compression was specified in external tables
- Limit dbt-core to 1.8 to avoid breakage
- Prevent comments at the end of a model from breaking the SQL
- Stubs for materialised view
- Stubs for dbt clone
- Additional tests
- Deprecated dev CI runs
- Removed Python 3.7 support
- constraints support and enforcement
- Changed tests to verify new NOW() behaviour
- Ability to connect to new and old Firebolt
- Error message on schema mismatch now shows the exact mismatch
- Refactored deprecated error message parsing
- Incorrect column resolution when using get_columns_in_relation macro
- Allowed multithreaded execution of dbt models
- delete+insert incremental strategy
- updated get_test_sql macro to fix dbt test in jaffle shop demo repository
- Added a stub for get dcl statement macro
- corrected a grant error when run from dbt seed
- Fixed query_comment issue when no config specified
- query_comments are now supported
- Timestamp functions
- New array macros and refactor for dbt-core==1.3 compatibility
- Using temp views instead of temp tables in incremental for performance
- get_catalog now returns database and schema names along with the column indexes
- Implemented firebolt-specific macros: bool_or, cast_bool_to_text, dateadd, datediff, listagg, position, right, split_part
- Fixed doc generation
- Implemented connection retry
- Added explicit error for grants
- Using new test framework
- Added clarifications for skipped tests
- dbt-firebolt now quotes database name allowing for case-sensitive operations.
- dbt-firebolt now passes through more useful error messages on API timeouts.
- dbt-firebolt now requires firebolt-sdk>=0.10.0.
- dbt-firebolt now requires firebolt-sdk>=0.9.2.
- dbt-firebolt now supports the insert/overwrite incremental model.
- dbt-firebolt now requires firebolt-sdk>=0.8.1.
- dbt-firebolt uses firebolt-sdk's new auth token method, thus requires firebolt-sdk >= 0.8.1.
- dbt-firebolt now requires dbt v1.1.
- dbt-firebolt now requires firebolt-sdk>=0.7.
- dbt-firebolt now requires dbt v1.1
- Added FireboltColumn class to handle string type.
- Added mypy to pre-commit tests.
- Fixed output from dbt runs so that successful table creation outputs “Success” rather than “False.”
- dbt-firebolt now supports the append-only incremental model.
- We now return better/more accurate responses from the cursor for logging/debugging.
- Rendering of SQL output was reformatted to increase legibility of debug output and log files.
- Removed all uses of
SHOW VIEWS
andSHOW TABLES
and replaced them with calls to information_schema.views and information_schema.tables, respectively. - Updated to give better/more accurate responses from cursor.
- Fixed an error where names for aggregating and join indexes with only single values for indexes were being improperly generated.
- Join and key column field names in aggregating and join indexes are now pluralized:
join_column
becomesjoin_columns
andkey_column
becomeskey_columns
in index config blocks.
- Dev requirements are now in setup.cfg and not dev-requirements.txt.
- dbt-firebolt now requires firebolt-sdk v.0.6 to allow for SET variables to be set in pre-hooks.
- dbt-firebolt now supports aggregating indexes with multiple-column keys.
- Bug fix to check for
data_type
andregex
fields when necessary on external tables. - Changed default behavior on external table insert to
DROP IF EXISTS
.
- Models with aggregating and join indexes now require
index_type
field in index config blocks rather thantype
.
- Updated seed behavior. Seed now does a
DROP <table_name> CASCADE
followed by aCREATE TABLE <table_name>
rather thanTRUNCATE
, which was not working consistently.
- dbt-firebolt now supports dbt 1.0+!
- We now use our DB-API rather than our JDBC.
- Bug fixes to do with pull request linting. – Also for PRs, moved to conventional commmits.
- Updated pre-commit linting and added pull request linting.
- Disallowed setting of
threads
inprofiles.yml
to a value greater than 1.
- Added automatic PR security scanning via Sonar Cloud adn Fossa.
- Updated readme to link to Firebolt JDBC page, in order to assure latest driver is always linked.
- Resolved unknown import error.
- Added GitHub templates for PRs and issues.
- Added linting using Black, Flake8, and iSort. This necessitated the addition of a
setup.cfg
file, so an additional linter,setup-cfg-fmt
was added to check that file. These linters are all pre-commit hooks, so will force any future commits to abide by our style. #20. - Indefinitely removed
setup.cfg
from project #29.
- Temporary workaround implemented for #11 where running models twice fails #12.
- Updated and edited various sections of readme, adding new tables and examples for clarity. #6.
engine_name
has been renamed toengine
please update yourprofiles.yml
accordingly #4.
- Added ability to specify an account for users who have more than one account associated with their credentials #4.
- Fixed bug where database connection URL used backslashes on Windows due to
os.path.join
#5.
-
Removed log statements and an extra
firebolt__get_create_index_sql
macro error via #2. -
Added ability to specify an account for users who have more than one account associated with their credentials.
- Initial release for PyPI!
- Many
- A lot of work!