Skip to content

Commit

Permalink
Merge branch '1.7.latest' into backport-601-to-1.7.latest
Browse files Browse the repository at this point in the history
  • Loading branch information
mikealfare authored Oct 27, 2023
2 parents 71a8eb0 + 609c56f commit 8cb8c63
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 14 deletions.
6 changes: 6 additions & 0 deletions .changes/unreleased/Fixes-20231025-203732.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
kind: Fixes
body: Fix parsing of database results for materialized view auto refresh
time: 2023-10-25T20:37:32.191259-04:00
custom:
Author: mikealfare
Issue: "643"
6 changes: 5 additions & 1 deletion dbt/adapters/redshift/relation_configs/materialized_view.py
Original file line number Diff line number Diff line change
Expand Up @@ -182,10 +182,14 @@ def parse_relation_results(cls, relation_results: RelationResults) -> dict:
"mv_name": materialized_view.get("table"),
"schema_name": materialized_view.get("schema"),
"database_name": materialized_view.get("database"),
"autorefresh": materialized_view.get("autorefresh"),
"query": cls._parse_query(query.get("definition")),
}

autorefresh_value = materialized_view.get("autorefresh")
if autorefresh_value is not None:
bool_filter = {"t": True, "f": False}
config_dict["autorefresh"] = bool_filter.get(autorefresh_value, autorefresh_value)

# the default for materialized views differs from the default for diststyle in general
# only set it if we got a value
if materialized_view.get("diststyle"):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -163,19 +163,6 @@ def test_change_is_applied_via_alter_str_true(self, project, my_materialized_vie
assert_message_in_logs(f"Applying ALTER to: {my_materialized_view}", logs)
assert_message_in_logs(f"Applying REPLACE to: {my_materialized_view}", logs, False)

def test_change_is_applied_via_alter_str_false(self, project, my_materialized_view):
self.check_start_state(project, my_materialized_view)

self.change_config_via_alter_str_false(project, my_materialized_view)
_, logs = run_dbt_and_capture_with_retries_redshift_mv(
["--debug", "run", "--models", my_materialized_view.name]
)

self.check_state_alter_change_is_applied_str_false(project, my_materialized_view)

assert_message_in_logs(f"Applying ALTER to: {my_materialized_view}", logs)
assert_message_in_logs(f"Applying REPLACE to: {my_materialized_view}", logs, False)

def test_change_is_applied_via_replace(self, project, my_materialized_view):
self.check_start_state(project, my_materialized_view)

Expand Down

0 comments on commit 8cb8c63

Please sign in to comment.