From ad854a13c8a6d23968ebff2fbedabe43950e8f2f Mon Sep 17 00:00:00 2001 From: swanderz Date: Tue, 15 Jun 2021 13:20:55 -0400 Subject: [PATCH 1/6] typo --- dbt/adapters/sqlserver/connections.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dbt/adapters/sqlserver/connections.py b/dbt/adapters/sqlserver/connections.py index 00d7a39a..264cefed 100644 --- a/dbt/adapters/sqlserver/connections.py +++ b/dbt/adapters/sqlserver/connections.py @@ -383,9 +383,9 @@ def get_response(cls, cursor) -> AdapterResponse: def execute(self, sql, auto_begin=True, fetch=False): _, cursor = self.add_query(sql, auto_begin) - status = self.get_response(cursor) + response = self.get_response(cursor) if fetch: table = self.get_result_from_cursor(cursor) else: table = dbt.clients.agate_helper.empty_table() - return status, table + return response, table From c00162864c1617e8ad50caa9bb06d9b509aceb12 Mon Sep 17 00:00:00 2001 From: swanderz Date: Tue, 15 Jun 2021 13:22:30 -0400 Subject: [PATCH 2/6] thanks @jeroen-mostert --- dbt/adapters/sqlserver/connections.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/dbt/adapters/sqlserver/connections.py b/dbt/adapters/sqlserver/connections.py index 264cefed..a4800fed 100644 --- a/dbt/adapters/sqlserver/connections.py +++ b/dbt/adapters/sqlserver/connections.py @@ -347,7 +347,7 @@ def add_query(self, sql, auto_begin=True, bindings=None, abridge_sql_log=False): # pyodbc does not handle a None type binding! if bindings is None: - cursor.execute(sql) + cursor2 = cursor.execute(sql) else: cursor.execute(sql, bindings) @@ -356,7 +356,7 @@ def add_query(self, sql, auto_begin=True, bindings=None, abridge_sql_log=False): self.get_response(cursor), (time.time() - pre) ) ) - + return connection, cursor @classmethod @@ -385,7 +385,14 @@ def execute(self, sql, auto_begin=True, fetch=False): _, cursor = self.add_query(sql, auto_begin) response = 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 response, table From cb12056e18ad60859eeaa34217bc3a8762551d02 Mon Sep 17 00:00:00 2001 From: swanderz Date: Tue, 15 Jun 2021 16:54:49 -0400 Subject: [PATCH 3/6] add example --- .gitignore | 5 ++++- cursor_batch_example.ipynb | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 cursor_batch_example.ipynb diff --git a/.gitignore b/.gitignore index 09ac3166..ae936a70 100644 --- a/.gitignore +++ b/.gitignore @@ -96,4 +96,7 @@ env/ venv/ ENV/ env.bak/ -venv.bak/ \ No newline at end of file +venv.bak/ + +# example credential information +cxn.json \ No newline at end of file diff --git a/cursor_batch_example.ipynb b/cursor_batch_example.ipynb new file mode 100644 index 00000000..a5663b7a --- /dev/null +++ b/cursor_batch_example.ipynb @@ -0,0 +1,35 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "02af0c28-3445-49f6-a97c-b82f28920a39", + "metadata": {}, + "outputs": [], + "source": [ + "i" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.5" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 0c6f53ae97457c3dcb53ea05e23361259707d79f Mon Sep 17 00:00:00 2001 From: Anders Date: Thu, 17 Jun 2021 15:22:34 -0400 Subject: [PATCH 4/6] Update dbt/adapters/sqlserver/connections.py --- dbt/adapters/sqlserver/connections.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dbt/adapters/sqlserver/connections.py b/dbt/adapters/sqlserver/connections.py index a4800fed..6006b782 100644 --- a/dbt/adapters/sqlserver/connections.py +++ b/dbt/adapters/sqlserver/connections.py @@ -347,7 +347,7 @@ def add_query(self, sql, auto_begin=True, bindings=None, abridge_sql_log=False): # pyodbc does not handle a None type binding! if bindings is None: - cursor2 = cursor.execute(sql) + cursor.execute(sql) else: cursor.execute(sql, bindings) From b2e18ce080303e4f9ce0349c08a9c302c50bbd6c Mon Sep 17 00:00:00 2001 From: swanderz Date: Tue, 22 Jun 2021 13:03:31 -0700 Subject: [PATCH 5/6] document --- CHANGELOG.md | 6 ++++++ cursor_batch_example.ipynb | 35 ----------------------------------- dev_requirements.txt | 2 +- 3 files changed, 7 insertions(+), 36 deletions(-) delete mode 100644 cursor_batch_example.ipynb diff --git a/CHANGELOG.md b/CHANGELOG.md index e944d9ce..fac708d8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,10 @@ # Changelog +### v0.19.2 + +#### features: + +- hotfix for regression introduced by [#126](https://github.com/dbt-msft/dbt-sqlserver/issues/126) that wouldn't surface syntax errors from the SQL engine [#140](https://github.com/dbt-msft/dbt-sqlserver/issues/140) thanks [@jeroen-mostert](https://github.com/jeroen-mostert)! + ### v0.19.1 #### features: diff --git a/cursor_batch_example.ipynb b/cursor_batch_example.ipynb deleted file mode 100644 index a5663b7a..00000000 --- a/cursor_batch_example.ipynb +++ /dev/null @@ -1,35 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "id": "02af0c28-3445-49f6-a97c-b82f28920a39", - "metadata": {}, - "outputs": [], - "source": [ - "i" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.5" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/dev_requirements.txt b/dev_requirements.txt index 34409954..fa88dbdc 100644 --- a/dev_requirements.txt +++ b/dev_requirements.txt @@ -1,5 +1,5 @@ black==20.8b1 -pytest-dbt-adapter==0.4.0 +pytest-dbt-adapter==0.5.1 pytest==6.2.2 tox==3.2.0 flake8==3.5.0 From 37231b158872b1fb619575222369d97159e3d1d3 Mon Sep 17 00:00:00 2001 From: swanderz Date: Tue, 22 Jun 2021 13:05:15 -0700 Subject: [PATCH 6/6] bump version --- dbt/adapters/sqlserver/__version__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dbt/adapters/sqlserver/__version__.py b/dbt/adapters/sqlserver/__version__.py index 22e18d53..6a128dc1 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.2' \ No newline at end of file