diff --git a/dbt/adapters/sqlserver/__version__.py b/dbt/adapters/sqlserver/__version__.py index 22e18d53..5e81b739 100644 --- a/dbt/adapters/sqlserver/__version__.py +++ b/dbt/adapters/sqlserver/__version__.py @@ -1 +1 @@ -version = '0.19.1' \ No newline at end of file +version = '0.19.1-multiple-result-sets' \ No newline at end of file diff --git a/dbt/adapters/sqlserver/connections.py b/dbt/adapters/sqlserver/connections.py index 00d7a39a..e9615322 100644 --- a/dbt/adapters/sqlserver/connections.py +++ b/dbt/adapters/sqlserver/connections.py @@ -385,7 +385,14 @@ def execute(self, sql, auto_begin=True, fetch=False): _, cursor = self.add_query(sql, auto_begin) status = self.get_response(cursor) if fetch: + # Get the result of the first non-empty result set (if any) + while cursor.description is None: + if not cursor.nextset(): + break table = self.get_result_from_cursor(cursor) else: table = dbt.clients.agate_helper.empty_table() + # Step through all result sets so we process all errors + while cursor.nextset(): + pass return status, table