fix analysis to only compile sql once like model nodes [#1152] #1164
+26
−10
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #1152
Due to dbt's parsing structure, the existing analysis code compiles its contents twice, which is why
raw
blocks aren't accepted. I've changed the compiler to treat Analysis nodes more like Models during compilation, instead of like seeds and tests. Based on what I found, custom tests probably don't respectraw
blocks in their jinja and that's probably harder to fix.It's possible that I don't understand analysis nodes very well and so my fix is just totally wrong... there isn't much of an existing test suite around them.
This fix may also break existing code since it only renders the output once instead of twice, and people may have written analyses with this behavior in mind.