Releases: oracle/dbt-oracle
v1.4.0
This release includes the following features and fixes
- Added support for faster Python 3.11
- Added support for Incremental predicates which can be specified in incremental model configuration
# this limits the scan of the existing table to the last 7 days of data incremental_predicates: ["DBT_INTERNAL_DEST.session_start > datediff(day, -7, current_date)"]
- Upgrade dbt-core dependency requirement to 1.4.1
- Replace deprecated exception functions defined in dbt-core v1.4.1
- Added more test cases to the dbt-oracle test suite
v1.3.2
This is a minor release upgrade with the following fixes and features
-
Upgraded dbt-core to 1.3.2
-
Upgraded oracledb driver to 1.2.2 which fixes some bugs
-
Added support for specifying CTAS degree of parallelism in dbt model config as requested in #65
-
Added support for specifying table compression clause in dbt model config as requested in #65
-
Bug fix for affected row count. Removed cursor.commit() which resets the affected rowcount. commit() is called by dbt-core after fetching the affected rowcount. Rowcount works for Thin driver mode. For Thick driver mode and old cx mode, rowcount is always 0 and a bug is logged with the driver team.
-
Bug fix for using alias in dbt model config. dbt alias can be used as a work around for "Identifier too long" issue in older Oracle DB versions (11 for example). This was discussed in dbt labs Slack channel
v1.3.1
This is a minor release upgrade with the following updates
-
Tracing is enabled for database connection from dbt-oracle client. Session information can be found in V$SESSION
-
Upgraded dependencies oracledb==1.2.1 and dbt-core==1.3.1
-
Fix for issue #52 dbt snaphsots timestamp strategy where new records were being wrongly invalidated. The issue occurs only when
update_dt
, the column to track changes, is of DATE type. Casting DATE to VARCHAR during hash (dbt_scd_id) computation drops the time part. The fix is to CASTupdate_dt
to TIMESTAMP to preserve the time part. -
Addresses feature request #55 Global temporary relation name includes milliseconds
o$pt_<base_relation_identifier>_<%H%M%S%f>
v1.3.0
This is minor release upgrade with the following updates
- dbt-core and dbt-tests-adapter upgraded to the latest version
v1.3.0
- Streamline incremental materialization as per new dbt requirements
- Consolidated timestamp based macros in
dbt/include/oracle/util/timestamps.sql
- Added new macros for data types. For example, BigInt and Int in
dbt/include/oracle/util/data_types.sql
- Added 11 new functional test cases. We now have a total of 71 test cases in the suite
Note: Python models are not yet supported in dbt-oracle==1.3.0
v1.2.1
v1.2.0
Following features and fixes are included in this release
- Dependencies
dbt-core
anddbt-tests-adapters
are upgraded to the latest version 1.2.1 - Following cross-db-macros are implemented into adapter and tested accordingly
String macros - concat - hash - position - right - length - replace String literal macros - escape_single_quotes - string_literal Cast - cast_bool_to_text Date and Time - dateadd - date_trunc - last_day Set - except - intersect
- New basic tests
BaseDocsGenerate
andBaseDocsGenReferences
are added to the test suite - Managing of access grants is now supported and tested. You can use this with different materialization strategies i.e. tables, views, incremental materialization and snapshots.
- New parameters (
retry_count
andretry_wait
) are supported in connection profile to support connection retries - Fix for “where clause” config in generic tests
- Fix for dbt docs generation (catalog) where columns did not appear for some tables.
v1.1.2
This release includes the following features and fixes
-
Better support quoting of database object names (relations and columns). This also fixes a bug raised by @ThoSap to allow the use of keywords and special characters in columns. For e.g. Airbyte requires columns like
_AIRBYTE_AB_ID
,_AIRBYTE_EMITTED_AT
,_AIRBYTE_NORMALIZED_AT
andDESC
for internal purposes -
Fixes a bug to invalidate hard deletes during dbt snapshots.
-
Upgraded dependencies to the following versions
- dbt-core==1.1.2
- dbt-adapter-tests==1.1.2
- oracledb==1.0.3
v1.1.1
This release includes following features and fixes
-
Addresses feature request #17 - dbt-oracle now supports python-oracledb which is the renamed, major release of Oracle's popular cx_Oracle interface.
- It is strongly recommended to use this driver as it vastly simplifies
dbt-oracle
installation and makes it optional to install to Oracle Client Libraries. Python process directly communicates with the Oracle database. - To enable this new driver usage set the environment variable
ORA_PYTHON_DRIVER_TYPE=thin
- It is strongly recommended to use this driver as it vastly simplifies
-
Fixes #29 to include size, scale and precision in
{{ column.data_type }}
-
Addresses feature request #31 - To support config
merge_update_columns
in incremental materialization
v1.1.0
This release upgrades dbt-core
requirement to the latest version v1.1.1
and addresses the feature request #19
- Migrated testing framework to the new fixtures based
dbt-tests-adapter==1.1.1
. As part of Continuous Integration (CI) we test against 25 test cases defined in the adapter suite. Prior to this release we tested with 12 test cases. - Dropped support for
Python 3.6
- Added support for
Python 3.10
- Incremental materialization now supports a list of
unique_keys
. This translates to a comma separated AND predicates in theMERGE...ON
statement - Incremental materialization now supports
on_schema_change
configuration to sync the source and target schemas. Following values can be used['sync_all_columns', 'append_new_columns', 'fail', 'ignore']
pytest.ini
configuration file now simplifies unit test configuration- Fixes bug #26 raised by AlexMorti