diff --git a/core/dbt/context/parser.py b/core/dbt/context/parser.py index 2d476c0595b..d16d25e44b4 100644 --- a/core/dbt/context/parser.py +++ b/core/dbt/context/parser.py @@ -108,9 +108,16 @@ def __call__(self, *args): class SourceResolver(dbt.context.common.BaseResolver): - def __call__(self, source_name, table_name): + def __call__(self, *args): # When you call source(), this is what happens at parse time - self.model.sources.append([source_name, table_name]) + if len(args) == 2: + self.model.sources.append(list(args)) + + else: + dbt.exceptions.raise_compiler_error( + "source() takes exactly two arguments ({} given)" + .format(len(args)), self.model) + return self.Relation.create_from(self.config, self.model)