query-cache-common 1.9.1__tar.gz → 1.10.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {query_cache_common-1.9.1 → query_cache_common-1.10.0}/PKG-INFO +1 -1
- {query_cache_common-1.9.1 → query_cache_common-1.10.0}/src/query_cache_common/models/services/execution_service_models.py +2 -0
- {query_cache_common-1.9.1 → query_cache_common-1.10.0}/src/query_cache_common/models/services/sql_service_models.py +1 -0
- {query_cache_common-1.9.1 → query_cache_common-1.10.0}/src/query_cache_common/models/shared_models.py +16 -0
- {query_cache_common-1.9.1 → query_cache_common-1.10.0}/src/query_cache_common/utils.py +19 -0
- {query_cache_common-1.9.1 → query_cache_common-1.10.0}/.gitignore +0 -0
- {query_cache_common-1.9.1 → query_cache_common-1.10.0}/pyproject.toml +0 -0
- {query_cache_common-1.9.1 → query_cache_common-1.10.0}/src/query_cache_common/__init__.py +0 -0
- {query_cache_common-1.9.1 → query_cache_common-1.10.0}/src/query_cache_common/auth.py +0 -0
- {query_cache_common-1.9.1 → query_cache_common-1.10.0}/src/query_cache_common/constants.py +0 -0
- {query_cache_common-1.9.1 → query_cache_common-1.10.0}/src/query_cache_common/decorators.py +0 -0
- {query_cache_common-1.9.1 → query_cache_common-1.10.0}/src/query_cache_common/models/__init__.py +0 -0
- {query_cache_common-1.9.1 → query_cache_common-1.10.0}/src/query_cache_common/models/_typing.py +0 -0
- {query_cache_common-1.9.1 → query_cache_common-1.10.0}/src/query_cache_common/models/base.py +0 -0
- {query_cache_common-1.9.1 → query_cache_common-1.10.0}/src/query_cache_common/models/converters.py +0 -0
- {query_cache_common-1.9.1 → query_cache_common-1.10.0}/src/query_cache_common/models/fields.py +0 -0
- {query_cache_common-1.9.1 → query_cache_common-1.10.0}/src/query_cache_common/models/services/__init__.py +0 -0
- {query_cache_common-1.9.1 → query_cache_common-1.10.0}/src/query_cache_common/models/services/client_telemetry_service_models.py +0 -0
- {query_cache_common-1.9.1 → query_cache_common-1.10.0}/src/query_cache_common/models/services/client_validation_service_models.py +0 -0
- {query_cache_common-1.9.1 → query_cache_common-1.10.0}/src/query_cache_common/models/services/clone_service_models.py +0 -0
- {query_cache_common-1.9.1 → query_cache_common-1.10.0}/src/query_cache_common/models/services/explain_service_models.py +0 -0
|
@@ -47,6 +47,7 @@ class SQLExecution(BaseSerDeModel):
|
|
|
47
47
|
query_dependencies: t.List[shared_models.QueryDependency] = field(default_factory=list)
|
|
48
48
|
semantic_extras: t.Dict[str, str] = field(default_factory=dict)
|
|
49
49
|
labels: t.Dict[str, str] = field(default_factory=dict)
|
|
50
|
+
dbt_node_state: t.Optional[shared_models.DbtNodeState] = None
|
|
50
51
|
|
|
51
52
|
@classmethod
|
|
52
53
|
def from_submit_sql_request(
|
|
@@ -62,6 +63,7 @@ class SQLExecution(BaseSerDeModel):
|
|
|
62
63
|
query_dependencies=req.query_dependencies,
|
|
63
64
|
semantic_extras=req.semantic_extras,
|
|
64
65
|
labels=req.labels,
|
|
66
|
+
dbt_node_state=req.dbt_node_state,
|
|
65
67
|
)
|
|
66
68
|
|
|
67
69
|
|
|
@@ -47,6 +47,7 @@ class SubmitEnrichedSQLRequest(BaseSerDeModel):
|
|
|
47
47
|
clone_table_properties: t.Optional[TableProperties] = None
|
|
48
48
|
stale_upstream_policy: shared_models.StaleUpstreamPolicy = shared_models.StaleUpstreamPolicy.ANY
|
|
49
49
|
clone_chain_depth_limit: t.Optional[int] = None
|
|
50
|
+
dbt_node_state: t.Optional[shared_models.DbtNodeState] = None
|
|
50
51
|
|
|
51
52
|
|
|
52
53
|
@proto_dataclass(sql_service_pb2.QueryHashMatchMetadataInfo)
|
|
@@ -101,3 +101,19 @@ class ExplainedDecision(BaseSerDeModel):
|
|
|
101
101
|
clone_rejection_reason=RejectionReason.NO_SUITABLE_MATCH_FOUND,
|
|
102
102
|
is_stale=False,
|
|
103
103
|
)
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
@proto_dataclass(shared_pb2.DbtNodeState)
|
|
107
|
+
class DbtNodeState(BaseSerDeModel):
|
|
108
|
+
node_unique_id: str
|
|
109
|
+
target_name: str
|
|
110
|
+
project_name: str
|
|
111
|
+
resource_type: str
|
|
112
|
+
node_hash: str
|
|
113
|
+
node_body_hash: str
|
|
114
|
+
node_configs_hash: str
|
|
115
|
+
node_relation_hash: str
|
|
116
|
+
node_macros_hash: str
|
|
117
|
+
node_contract_hash: str
|
|
118
|
+
profile_name: str
|
|
119
|
+
node_persisted_descriptions_hash: t.Optional[str] = None
|
|
@@ -26,6 +26,25 @@ def str_to_bool(s: str | None) -> bool:
|
|
|
26
26
|
return s.lower() in ("true", "1", "t", "y", "yes", "on")
|
|
27
27
|
|
|
28
28
|
|
|
29
|
+
def to_bool(value: t.Any) -> bool:
|
|
30
|
+
"""Coerce a bool, int, or string to a boolean.
|
|
31
|
+
|
|
32
|
+
Unlike str_to_bool, this accepts bools and ints directly (strings are delegated to
|
|
33
|
+
str_to_bool) and raises ValueError for any other type rather than silently
|
|
34
|
+
returning False.
|
|
35
|
+
"""
|
|
36
|
+
if isinstance(value, bool):
|
|
37
|
+
return value
|
|
38
|
+
if isinstance(value, str):
|
|
39
|
+
return str_to_bool(value)
|
|
40
|
+
if isinstance(value, int):
|
|
41
|
+
return bool(value)
|
|
42
|
+
raise ValueError(
|
|
43
|
+
f"Cannot convert value of type {type(value).__name__} to bool: {value!r}. "
|
|
44
|
+
"Expected bool, int, or string (e.g., 'true', 'false', 'yes', 'no')."
|
|
45
|
+
)
|
|
46
|
+
|
|
47
|
+
|
|
29
48
|
def current_epoch_millis() -> int:
|
|
30
49
|
"""Return the current time in milliseconds since Unix epoch."""
|
|
31
50
|
return time.time_ns() // 1_000_000
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{query_cache_common-1.9.1 → query_cache_common-1.10.0}/src/query_cache_common/models/__init__.py
RENAMED
|
File without changes
|
{query_cache_common-1.9.1 → query_cache_common-1.10.0}/src/query_cache_common/models/_typing.py
RENAMED
|
File without changes
|
{query_cache_common-1.9.1 → query_cache_common-1.10.0}/src/query_cache_common/models/base.py
RENAMED
|
File without changes
|
{query_cache_common-1.9.1 → query_cache_common-1.10.0}/src/query_cache_common/models/converters.py
RENAMED
|
File without changes
|
{query_cache_common-1.9.1 → query_cache_common-1.10.0}/src/query_cache_common/models/fields.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|