Skip to content

Fix: reset macro registry *after* loading models#3232

Merged
georgesittas merged 1 commit intomainfrom
jo/macro_registry_parsing_fix
Oct 9, 2024
Merged

Fix: reset macro registry *after* loading models#3232
georgesittas merged 1 commit intomainfrom
jo/macro_registry_parsing_fix

Conversation

@georgesittas
Copy link
Copy Markdown
Collaborator

This addresses a bug that was reported in the Slack channel.

Our override of _parse_table_parts for Snowflake checks whether @some_name... appears in the registry's macros as a heuristic, to disambiguate macro funcs/vars from staged paths. Since we're resetting the macro registry to standard_macros after loading the macros, we won't have access to the user-defined macros when this method is called (models are loaded after macros), so there are cases where the parsing will fail, i.e. when user-defined macros are used as table functions (see added test).

@georgesittas georgesittas requested review from a team, izeigerman and tobymao October 9, 2024 16:09
@georgesittas georgesittas force-pushed the jo/macro_registry_parsing_fix branch from 23e0abb to c2605dd Compare October 9, 2024 16:17
@georgesittas georgesittas force-pushed the jo/macro_registry_parsing_fix branch from c2605dd to 2fbbe9a Compare October 9, 2024 19:07
@georgesittas georgesittas merged commit d70092e into main Oct 9, 2024
@georgesittas georgesittas deleted the jo/macro_registry_parsing_fix branch October 9, 2024 19:24
justinjoseph89 added a commit to trygforsikring/sqlmesh that referenced this pull request Oct 21, 2024
* Fix: mark kind changes as breaking in forward only plan (SQLMesh#3207)

* Feat: add support for parameterized python model names (SQLMesh#3208)

* Fix: Bigquery support of complex nested types (SQLMesh#3190)

* Feat: Snowflake: Handle forward_only changes to 'clustered_by' (SQLMesh#3205)

* Docs: add gateway variables to jinja macros concepts doc (SQLMesh#3210)

* Fix: avoid parsing column names into qualified columns in InsertOverwriteWithMergeMixin (SQLMesh#3211)

* Chore: bump sqlglot to v25.24.2 (SQLMesh#3213)

* Feat: Support INCREMENTAL_BY_TIME_RANGE models on Athena/Hive (SQLMesh#3201)

* Fix: load custom materializations on run (SQLMesh#3216)

* Fix: Infer column types when data type is omitted in dbt seeds (SQLMesh#3215)

* Chore: bump sqlglot to v25.24.3 (SQLMesh#3217)

* Fix: DBT seed column order (SQLMesh#3221)

* fix: web reloading caused iteration error (SQLMesh#3220)

* Fix: Make dbt adapter macros available in the local scope (SQLMesh#3219)

* Feat: Support DBT Athena adapter (SQLMesh#3222)

* chore: docs

* Feat: Support SQLMesh project generation from dlt pipeline (SQLMesh#3218)

* Fix: Broken hive distro link in the test airflow image

* Fix: Prevent loaded context from being used concurrently (SQLMesh#3229)

* Fix: Go back to using hive 3.1.3 for the Airflow test image

* Fix: Support of custom roles for Postgres (SQLMesh#3230)

* Fix(redshift): regression in varchar length workaround (SQLMesh#3225)

* Fix: Force the CircleCI's git to use https links when running pre-commit (SQLMesh#3235)

* Fix: reset macro registry *after* loading models (SQLMesh#3232)

* Fix: Modify dlt query filter not to use alias reference (SQLMesh#3233)

* Fix: Support CLUSTER BY clause for the Databricks engine (SQLMesh#3234)

* Feat: BigQuery - Handle forward_only changes to clustered_by (SQLMesh#3231)

* chore: Fix typo in model_kinds.md (SQLMesh#3239)

* Feat: support custom unit testing schema names (SQLMesh#3238)

* Chore: Make the scheduler config extendable (SQLMesh#3242)

* Fix: use parentheses for databricks' CLUSTER BY clause (SQLMesh#3240)

* Fix: handle Paren in depends_on validator (SQLMesh#3243)

* fix: data diff for bigquery project parsing (SQLMesh#3248)

* Chore: Reintroduce parallelism in integration tests (SQLMesh#3236)

* Feat(databricks): Add OAuth support (SQLMesh#3250)

* Chore!: bump sqlglot to v25.25.0 (SQLMesh#3252)

* Adding markdown feature to model description (SQLMesh#3228)

* Fix: refactor table part parsing for Snowflake (SQLMesh#3254)

* Fix: always warn when an audit has failed (SQLMesh#3255)

* Chore: bump sqlglot to v25.25.1 (SQLMesh#3256)

* Ensure using project instead of execution project for temp table as default (SQLMesh#3249)

* Chore: Clarify that restatement plans ignore local changes (SQLMesh#3257)

* feat!: run-all bot command errors if anything within it errors (SQLMesh#3262)

* Fix(clickhouse): remove fractional seconds when time column is datetime/timestamp type (SQLMesh#3261)

* remove risingwave configuration from dbt

* remove sink settings

* remove risngwave sink

* introducing risingwave as state syn engine

* add risingwave connetion as test

* change test case

* Fix: Prevent extraction of dependencies from a rendered query for dbt models (SQLMesh#3263)

---------

Co-authored-by: Ben <9087625+benfdking@users.noreply.github.com>
Co-authored-by: Jo <46752250+georgesittas@users.noreply.github.com>
Co-authored-by: Themis Valtinos <73662635+Themiscodes@users.noreply.github.com>
Co-authored-by: Erin Drummond <erin.dru@gmail.com>
Co-authored-by: Trey Spiller <1831878+treysp@users.noreply.github.com>
Co-authored-by: Alexander Butler <41213451+z3z1ma@users.noreply.github.com>
Co-authored-by: Toby Mao <toby.mao@gmail.com>
Co-authored-by: Iaroslav Zeigerman <zeigerman.ia@gmail.com>
Co-authored-by: Vincent Chan <vchan@users.noreply.github.com>
Co-authored-by: Vaggelis Danias <daniasevangelos@gmail.com>
Co-authored-by: Harmuth94 <86912694+Harmuth94@users.noreply.github.com>
Co-authored-by: Christophe Oudar <kayrnt@gmail.com>
Co-authored-by: Chris Rericha <67359577+crericha@users.noreply.github.com>
Co-authored-by: Ryan Eakman <6326532+eakmanrq@users.noreply.github.com>
Co-authored-by: Justin Joseph <justin.joseph@tryg.dk>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants