Skip to content

Commit

Permalink
Merge branch 'main' into paw/record
Browse files Browse the repository at this point in the history
  • Loading branch information
peterallenwebb authored Jul 16, 2024
2 parents b2247cf + 7a4c021 commit 77da24a
Show file tree
Hide file tree
Showing 49 changed files with 82 additions and 2,583 deletions.
6 changes: 6 additions & 0 deletions .changes/unreleased/Fixes-20240626-163930.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
kind: Fixes
body: Fix `persist_docs` for `materialized_view` materializations. Previously, using this configuration with materialized view models would lead to an error.
time: 2024-06-26T16:39:30.455995+02:00
custom:
Author: morsapaes
Issue: "120"
7 changes: 6 additions & 1 deletion dbt/include/postgres/macros/adapters.sql
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,12 @@

{% macro postgres__alter_relation_comment(relation, comment) %}
{% set escaped_comment = postgres_escape_comment(comment) %}
comment on {{ relation.type }} {{ relation }} is {{ escaped_comment }};
{% if relation.type == 'materialized_view' -%}
{% set relation_type = "materialized view" %}
{%- else -%}
{%- set relation_type = relation.type -%}
{%- endif -%}
comment on {{ relation_type }} {{ relation }} is {{ escaped_comment }};
{% endmacro %}


Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
65 changes: 65 additions & 0 deletions tests/functional/adapter/test_persist_docs.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
import pytest
import json

from dbt.tests.adapter.materialized_view import files
from dbt.tests.adapter.persist_docs.test_persist_docs import (
BasePersistDocs,
BasePersistDocsColumnMissing,
BasePersistDocsCommentOnQuotedColumn,
)
from tests.functional.utils import run_dbt

_MATERIALIZED_VIEW_PROPERTIES__SCHEMA_YML = """
version: 2
models:
- name: my_materialized_view
description: |
Materialized view model description "with double quotes"
and with 'single quotes' as welll as other;
'''abc123'''
reserved -- characters
80% of statistics are made up on the spot
--
/* comment */
Some $lbl$ labeled $lbl$ and $$ unlabeled $$ dollar-quoting
"""


class TestPersistDocs(BasePersistDocs):
pass


class TestPersistDocsColumnMissing(BasePersistDocsColumnMissing):
pass


class TestPersistDocsCommentOnQuotedColumn(BasePersistDocsCommentOnQuotedColumn):
pass


class TestPersistDocsWithMaterializedView(BasePersistDocs):
@pytest.fixture(scope="class", autouse=True)
def seeds(self):
return {"my_seed.csv": files.MY_SEED}

@pytest.fixture(scope="class")
def models(self):
return {
"my_materialized_view.sql": files.MY_MATERIALIZED_VIEW,
}

@pytest.fixture(scope="class")
def properties(self):
return {
"schema.yml": _MATERIALIZED_VIEW_PROPERTIES__SCHEMA_YML,
}

def test_has_comments_pglike(self, project):
run_dbt(["docs", "generate"])
with open("target/catalog.json") as fp:
catalog_data = json.load(fp)
assert "nodes" in catalog_data
assert len(catalog_data["nodes"]) == 2
view_node = catalog_data["nodes"]["model.test.my_materialized_view"]
assert view_node["metadata"]["comment"].startswith("Materialized view model description")
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from dbt.tests.adapter.dbt_show.test_dbt_show import (
BaseShowLimit,
BaseShowSqlHeader,
BaseShowDoesNotHandleDoubleLimit,
)


Expand All @@ -10,3 +11,7 @@ class TestPostgresShowSqlHeader(BaseShowSqlHeader):

class TestPostgresShowLimit(BaseShowLimit):
pass


class TestPostgresShowDoesNotHandleDoubleLimit(BaseShowDoesNotHandleDoubleLimit):
pass
File renamed without changes.
17 changes: 0 additions & 17 deletions tests/functional/shared_tests/test_persist_docs.py

This file was deleted.

27 changes: 0 additions & 27 deletions tests/functional/simple_snapshot/data/invalidate_postgres.sql

This file was deleted.

223 changes: 0 additions & 223 deletions tests/functional/simple_snapshot/data/seed_pg.sql

This file was deleted.

Loading

0 comments on commit 77da24a

Please sign in to comment.