Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

upgrade to support dbt-core v1.4.0 #117

Closed
4 tasks done
dataders opened this issue Feb 3, 2023 · 1 comment
Closed
4 tasks done

upgrade to support dbt-core v1.4.0 #117

dataders opened this issue Feb 3, 2023 · 1 comment
Assignees
Labels
enhancement New feature or request feature

Comments

@dataders
Copy link
Collaborator

dataders commented Feb 3, 2023

Background

The latest version of dbt Core,dbt-core==1.4.0, was published on January 25, 2023 (PyPI | Github). In fact, a patch, dbt-core==1.4.1 (PyPI | Github), was also released on the same day.

How to upgrade

dbt-labs/dbt-core#6624 is an open discussion with more detailed information. If you have questions, please put them there! dbt-labs/dbt-core#6849 is for keeping track of the community's progress on releasing 1.4.0

The above linked guide has more information, but below is a high-level checklist of work that would enable a successful 1.4.0 release of your adapter.

  • support Python 3.11 (only if your adapter's dependencies allow)
  • Consolidate timestamp functions & macros
  • Replace deprecated exception functions
  • Add support for more tests

the next minor release: 1.5.0

FYI, dbt-core==1.5.0 is expected to be released at the end of April. Please plan on allocating a more effort to upgrade support compared to previous minor versions. Expect to hear more in the middle of April.

At a high-level expect much greater adapter test coverage (a very good thing!), and some likely heaving renaming and restructuring as the API-ification of dbt-core is now well underway. See https://github.com/dbt-labs/dbt-core/milestone/82 for more information.

@jlarue26 jlarue26 added enhancement New feature or request feature labels Feb 16, 2023
ravjotbrar added a commit that referenced this issue Feb 23, 2023
### Summary

Implemented the query comment tests specified by dbt, upgraded to python
3.11, and changed our adapter version to 1.4.1

### Description

- Included all query comment tests specified by dbt
- Imported our fixtures to deal with object_storage_path issue
- Use a default_factory to match how dbt-core instantiates the
includepolicy and quotepolicy
- Changed all instances of our adapter version to match dbt-core 1.4.1

### Test Results

##### Query Comment Tests

```
ravjotb@RavjotsMacBookPro dbt-dremio % pytest tests/functional/adapter/query_comment | tee ../output.txt
============================= test session starts ==============================
collected 6 items

tests/functional/adapter/query_comment/test_query_comment.py ......      [100%]

======================= 6 passed, 12 warnings in 41.61s ========================
```

##### Basic Tests

```
ravjotb@RavjotsMacBookPro dbt-dremio % pytest tests/functional/adapter/basic | tee ../output.txt
============================= test session starts ==============================

tests/functional/adapter/basic/test_adapter_methods.py .                 [  5%]
tests/functional/adapter/basic/test_base_mat.py .                        [ 11%]
tests/functional/adapter/basic/test_concurrency.py .                     [ 16%]
tests/functional/adapter/basic/test_current_timestamp.py ..              [ 27%]
tests/functional/adapter/basic/test_data_types.py .                      [ 33%]
tests/functional/adapter/basic/test_docs_generate.py ...                 [ 50%]
tests/functional/adapter/basic/test_empty.py .                           [ 55%]
tests/functional/adapter/basic/test_ephemeral.py .                       [ 61%]
tests/functional/adapter/basic/test_generic_tests.py .                   [ 66%]
tests/functional/adapter/basic/test_incremental.py ..                    [ 77%]
tests/functional/adapter/basic/test_singular_ephemeral.py .              [ 83%]
tests/functional/adapter/basic/test_singular_tests.py .                  [ 88%]
tests/functional/adapter/basic/test_snapshots.py s.                      [100%]

============ 17 passed, 1 skipped, 43 warnings in 877.36s (0:14:37) ============
```

##### Grants Tests
```
ravjotb@RavjotsMacBookPro dbt-dremio % pytest tests/functional/adapter/grants | tee ../output.txt
============================= test session starts ==============================

tests/functional/adapter/grants/test_incremental_grants.py .             [ 16%]
tests/functional/adapter/grants/test_invalid_grants.py .                 [ 33%]
tests/functional/adapter/grants/test_model_grants.py ..                  [ 66%]
tests/functional/adapter/grants/test_seed_grants.py .                    [ 83%]
tests/functional/adapter/grants/test_snapshot_grants.py .                [100%]

================== 6 passed, 18 warnings in 496.13s (0:08:16) ==================
```

### Changelog

-   [x] Added a summary of what this PR accomplishes to CHANGELOG.md

### Related Issue

#117
ravjotbrar added a commit that referenced this issue Feb 28, 2023
### Summary

Replaced dbt-core's deprecated exceptions with new exceptions

### Description

Replaced the following old exceptions with new exceptions

Old | New
-- | --
RuntimeException | DbtRuntimeError
DatabaseException | DbtDatabaseError
raise_compiler_error() | CompilationError

### Test Results

Successfully ran all functional tests

### Changelog

-   [x] Added a summary of what this PR accomplishes to CHANGELOG.md

### Related Issue

#117
@ravjotbrar ravjotbrar self-assigned this Feb 28, 2023
ravjotbrar added a commit that referenced this issue Mar 1, 2023
### Summary

implement test_changing_relation_types test

### Description

No modifications (other than the object_storage stuff) required for the
test to work.

### Test Results

Ran all functional tests -> Passed

### Changelog

-   [x] Added a summary of what this PR accomplishes to CHANGELOG.md

### Related Issue

#117
ravjotbrar added a commit that referenced this issue Mar 1, 2023
### Summary

Implement base current timestamps test

### Description

Overwrote the test to work with Dremio syntax. Dremio only has one
timestamp type, so we implemented this test similar to many other
adapters.

### Test Results

Only ran the TestCurrentTimestampDremio test that was implemeneted in
test_timestamps.py. No other functionality was altered, so no other
tests were ran.

### Changelog

-   [x] Added a summary of what this PR accomplishes to CHANGELOG.md

### Related Issue

#117

---------

Co-authored-by: Argus Li <43020525+ArgusLi@users.noreply.github.com>
@ravjotbrar
Copy link
Contributor

All relevant upgrade tasks have been completed. Closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request feature
Development

No branches or pull requests

3 participants