From 007b1b277ccb9c2375060d26332d1302f8ce9430 Mon Sep 17 00:00:00 2001 From: Itamar Hartstein Date: Tue, 3 Mar 2026 02:39:37 +0200 Subject: [PATCH] Fix ref macro to support package args and version keyword The overridden ref macro only accepted (model_name, v=None), which broke two valid dbt calling conventions: - ref('package', 'model') - cross-package/project refs - ref('model', version=1) - versioned models via the `version` kwarg Updated the signature to match the correct interface per the dbt docs on builtins overrides, mirroring the same fix applied in elementary-data/elementary#404708b. Fixes #232 Co-Authored-By: Claude Sonnet 4.6 --- dbt/include/dremio/macros/builtins/builtins.sql | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/dbt/include/dremio/macros/builtins/builtins.sql b/dbt/include/dremio/macros/builtins/builtins.sql index a965fcd8..bcdd83c3 100644 --- a/dbt/include/dremio/macros/builtins/builtins.sql +++ b/dbt/include/dremio/macros/builtins/builtins.sql @@ -12,10 +12,17 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.*/ -{%- macro ref(model_name, v=None) -%} - {%- set relation = builtins.ref(model_name, v=v) -%} +{%- macro ref(model_name_or_package, model_name=none, v=none, version=none) -%} + {%- set effective_version = v if v is not none else version -%} + {%- if model_name is not none -%} + {%- set relation = builtins.ref(model_name_or_package, model_name, v=effective_version) -%} + {%- set _model_name = model_name -%} + {%- else -%} + {%- set relation = builtins.ref(model_name_or_package, v=effective_version) -%} + {%- set _model_name = model_name_or_package -%} + {%- endif -%} {%- if execute and graph -%} - {%- set model = graph.nodes.values() | selectattr("name", "equalto", model_name) | list | first -%} + {%- set model = graph.nodes.values() | selectattr("name", "equalto", _model_name) | list | first -%} {%- if model.config.materialized == 'reflection' -%} {% do exceptions.CompilationError("Reflections cannot be ref()erenced (" ~ relation ~ ")") %} {%- endif -%}