Skip to content

Commit 317e809

Browse files
dbt bigquery/add sql query status (#1327)
1 parent dd9ae46 commit 317e809

File tree

3 files changed

+20
-1
lines changed

3 files changed

+20
-1
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
kind: Under the Hood
2+
body: Emit SQLQueryStatus during query execution
3+
time: 2025-09-08T11:49:52.584547-07:00
4+
custom:
5+
Author: colin-rogers-dbt
6+
Issue: "1327"

dbt-bigquery/src/dbt/adapters/bigquery/connections.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import json
66
from multiprocessing.context import SpawnContext
77
import re
8+
import time
89
from typing import Dict, Hashable, List, Optional, Tuple, TYPE_CHECKING
910
import uuid
1011

@@ -34,7 +35,7 @@
3435
ConnectionState,
3536
)
3637
from dbt.adapters.events.logging import AdapterLogger
37-
from dbt.adapters.events.types import SQLQuery
38+
from dbt.adapters.events.types import SQLQuery, SQLQueryStatus
3839
from dbt.adapters.exceptions.connection import FailedToConnectError
3940
from dbt.adapters.bigquery.clients import create_bigquery_client
4041
from dbt.adapters.bigquery.credentials import Priority
@@ -607,11 +608,22 @@ def _query_and_results(
607608
self._bq_job_link(query_job.location, query_job.project, query_job.job_id)
608609
)
609610

611+
pre = time.perf_counter()
610612
try:
611613
iterator = query_job.result(max_results=limit)
612614
except TimeoutError:
613615
exc = f"Operation did not complete within the designated timeout of {timeout} seconds."
614616
raise TimeoutError(exc)
617+
618+
fire_event(
619+
SQLQueryStatus(
620+
status="OK",
621+
elapsed=time.perf_counter() - pre,
622+
node_info=get_node_info(),
623+
query_id=query_job.job_id,
624+
)
625+
)
626+
615627
return query_job, iterator
616628

617629
def _labels_from_query_comment(self, comment: str) -> Dict:

dbt-bigquery/tests/unit/test_bigquery_connection_manager.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ def test_drop_dataset(self):
8787

8888
@patch("dbt.adapters.bigquery.connections.QueryJobConfig")
8989
def test_query_and_results(self, MockQueryJobConfig):
90+
self.mock_client.query.return_value = Mock(job_id="1")
9091
self.connections._query_and_results(
9192
self.mock_connection,
9293
"sql",

0 commit comments

Comments
 (0)