Skip to content

Releases: oracle/dbt-oracle

v1.4.0

22 Feb 00:29
ea9dd1b
Compare
Choose a tag to compare

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

02 Feb 19:22
a79496f
Compare
Choose a tag to compare

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

16 Dec 21:25
3e83a5e
Compare
Choose a tag to compare

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 CAST update_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

26 Oct 01:44
f7fe1fd
Compare
Choose a tag to compare

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

12 Oct 22:16
8a437c7
Compare
Choose a tag to compare

Upgraded dependencies

  • dbt-core to 1.2.2
  • dbt-tests-adapter to 1.2.2
  • oracledb to 1.1.1

v1.2.0

07 Sep 18:39
d90990d
Compare
Choose a tag to compare

Following features and fixes are included in this release

  • Dependencies dbt-core and dbt-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 and BaseDocsGenReferences 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 and retry_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

03 Aug 19:51
Compare
Choose a tag to compare

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 and DESC 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

15 Jul 01:28
Compare
Choose a tag to compare

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
  • 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

27 Jun 20:02
Compare
Choose a tag to compare

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 the MERGE...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

v1.0.4

17 Jun 04:06
c71c833
Compare
Choose a tag to compare

Bumped dbt-core version to v1.0.8 which includes a (critical support) security fix for rendering of secret env vars