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.
resolves #196 / this slack thread
Description
get_columns_in_relation
fails when it's called on a model that was created in the same run.At the start of the run, the cache is populated, setting Relation.information to be the string output of a DESCRIBE EXTENDED query, which allows columns and metadata to be parsed.
However, when models are created, a Relation with information=None is saved in the cache (since columns and metadata aren't returned from a CREATE TABLE / VIEW statement). This means that an
expected string or bytes-like object
error is raised when attempting to regex-parse None.This change updates
get_columns_in_relation
to fall back to actually querying the schema when the information attribute isn't set for a relation (in addition to the current behaviour which falls back if a relation isn't in the cache at all)Checklist
CHANGELOG.md
and added information about my change to the "dbt next" section.