Skip to content

Commit

Permalink
fix: interpolate properly parameters in snowflake
Browse files Browse the repository at this point in the history
  • Loading branch information
PrettyWood committed Aug 19, 2020
1 parent a7b80e1 commit 52ffa92
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 6 deletions.
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ def get_static_file_paths():

setup(
name='toucan_connectors',
version='0.39.2',
version='0.39.3',
description='Toucan Toco Connectors',
long_description=(HERE / 'README.md').read_text(encoding='utf-8'),
long_description_content_type='text/markdown',
Expand Down
6 changes: 3 additions & 3 deletions tests/snowflake/test_snowflake.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@
domain='test_domain',
database='test_database',
warehouse='test_warehouse',
query='test_query with %(foo)s',
parameters={'foo': 'bar'},
query='test_query with %(foo)s and {{ pokemon }}',
parameters={'foo': 'bar', 'pokemon': 'pikachu'},
)


Expand All @@ -35,7 +35,7 @@ def test_snowflake(mocker):
ocsp_response_cache_filename=None,
)

reasq.assert_called_once_with('test_query with %(foo)s', con=snock(), params={'foo': 'bar'})
reasq.assert_called_once_with('test_query with bar and pikachu', con=snock())


def test_missing_cache_file():
Expand Down
5 changes: 3 additions & 2 deletions toucan_connectors/snowflake/snowflake_connector.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import snowflake.connector
from pydantic import Field, SecretStr, constr

from toucan_connectors.common import nosql_apply_parameters_to_query
from toucan_connectors.toucan_connector import ToucanConnector, ToucanDataSource


Expand Down Expand Up @@ -63,8 +64,8 @@ def _retrieve_data(self, data_source: SnowflakeDataSource) -> pd.DataFrame:
# https://docs.snowflake.net/manuals/sql-reference/sql/use-warehouse.html
connection.cursor().execute(f'USE WAREHOUSE {data_source.warehouse}')

query_params = data_source.parameters or {}
df = pd.read_sql(data_source.query, con=connection, params=query_params)
query = nosql_apply_parameters_to_query(data_source.query, data_source.parameters)
df = pd.read_sql(query, con=connection)

connection.close()

Expand Down

0 comments on commit 52ffa92

Please sign in to comment.