Skip to content

Commit 53d02d5

Browse files
committed
Merge branch '1.5.latest' into backport-7577-to-1.5.latest
2 parents 5c6ea3f + 2a3cab9 commit 53d02d5

File tree

4 files changed

+32
-3
lines changed

4 files changed

+32
-3
lines changed

core/dbt/parser/manifest.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1157,7 +1157,6 @@ def _check_resource_uniqueness(
11571157
)
11581158

11591159

1160-
11611160
def _warn_for_unused_resource_config_paths(manifest: Manifest, config: RuntimeConfig) -> None:
11621161
resource_fqns: Mapping[str, PathSet] = manifest.get_resource_fqns()
11631162
disabled_fqns: PathSet = frozenset(

core/dbt/task/show.py

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,14 @@
22
import threading
33
import time
44

5+
from dbt.contracts.graph.nodes import SeedNode
56
from dbt.contracts.results import RunResult, RunStatus
67
from dbt.events.base_types import EventLevel
78
from dbt.events.functions import fire_event
89
from dbt.events.types import ShowNode, Note
910
from dbt.exceptions import DbtRuntimeError
1011
from dbt.task.compile import CompileTask, CompileRunner
12+
from dbt.task.seed import SeedRunner
1113

1214

1315
class ShowRunner(CompileRunner):
@@ -17,6 +19,12 @@ def __init__(self, config, adapter, node, node_index, num_nodes):
1719

1820
def execute(self, compiled_node, manifest):
1921
start_time = time.time()
22+
23+
if "sql_header" in compiled_node.unrendered_config:
24+
compiled_node.compiled_code = (
25+
compiled_node.unrendered_config["sql_header"] + compiled_node.compiled_code
26+
)
27+
2028
adapter_response, execute_result = self.adapter.execute(
2129
compiled_node.compiled_code, fetch=True
2230
)
@@ -41,8 +49,11 @@ def _runtime_initialize(self):
4149
raise DbtRuntimeError("Either --select or --inline must be passed to show")
4250
super()._runtime_initialize()
4351

44-
def get_runner_type(self, _):
45-
return ShowRunner
52+
def get_runner_type(self, node):
53+
if isinstance(node, SeedNode):
54+
return SeedRunner
55+
else:
56+
return ShowRunner
4657

4758
def task_end_messages(self, results):
4859
is_inline = bool(getattr(self.args, "inline", None))

tests/functional/show/fixtures.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,14 @@
1010
from {{ ref('sample_model') }}
1111
"""
1212

13+
models__sql_header = """
14+
{% call set_sql_header(config) %}
15+
set session time zone 'Asia/Kolkata';
16+
{%- endcall %}
17+
select current_setting('timezone') as timezone
18+
"""
19+
20+
1321
schema_yml = """
1422
models:
1523
- name: sample_model

tests/functional/show/test_show.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
models__second_model,
1010
models__ephemeral_model,
1111
schema_yml,
12+
models__sql_header,
1213
)
1314

1415

@@ -19,6 +20,7 @@ def models(self):
1920
"sample_model.sql": models__sample_model,
2021
"second_model.sql": models__second_model,
2122
"ephemeral_model.sql": models__ephemeral_model,
23+
"sql_header.sql": models__sql_header,
2224
}
2325

2426
@pytest.fixture(scope="class")
@@ -87,6 +89,15 @@ def test_second_ephemeral_model(self, project):
8789
)
8890
assert "col_hundo" in log_output
8991

92+
def test_seed(self, project):
93+
(results, log_output) = run_dbt_and_capture(["show", "--select", "sample_seed"])
94+
assert "Previewing node 'sample_seed'" in log_output
95+
96+
def test_sql_header(self, project):
97+
run_dbt(["build"])
98+
(results, log_output) = run_dbt_and_capture(["show", "--select", "sql_header"])
99+
assert "Asia/Kolkata" in log_output
100+
90101

91102
class TestShowModelVersions:
92103
@pytest.fixture(scope="class")

0 commit comments

Comments
 (0)