Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -45,5 +45,6 @@ class TemporaryFunctionRenderingTestCase:
description: str
adapter: StrictAdapter
language: FunctionLanguage
argument_type: str
return_columns: tuple[tuple[str, str], ...]
expected_temporary_function: TemporaryFunction | None
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
description="duckdb copies a sql function into a temporary macro",
adapter=DuckDbAdapter(),
language=FunctionLanguage.SQL,
argument_type="VARCHAR",
return_columns=(),
expected_temporary_function=TemporaryFunction(
target='temp.main."is_completed_order"',
Expand All @@ -36,6 +37,7 @@
description="duckdb copies a table function into a temporary table macro",
adapter=DuckDbAdapter(),
language=FunctionLanguage.SQL,
argument_type="VARCHAR",
return_columns=(("order_id", "INTEGER"),),
expected_temporary_function=TemporaryFunction(
target='temp.main."is_completed_order"',
Expand All @@ -49,13 +51,15 @@
description="duckdb leaves python functions to per-connection registration",
adapter=DuckDbAdapter(),
language=FunctionLanguage.PYTHON,
argument_type="VARCHAR",
return_columns=(),
expected_temporary_function=None,
),
TemporaryFunctionRenderingTestCase(
description="postgres creates the copy in the session pg_temp schema",
adapter=PostgresAdapter(),
language=FunctionLanguage.SQL,
argument_type="TEXT",
return_columns=(),
expected_temporary_function=TemporaryFunction(
target='pg_temp."is_completed_order"',
Expand All @@ -72,6 +76,7 @@
description="snowflake creates a prefixed temporary function in the current schema",
adapter=SnowflakeAdapter(),
language=FunctionLanguage.SQL,
argument_type="TEXT",
return_columns=(),
expected_temporary_function=TemporaryFunction(
target='"__SQB_TEST__IS_COMPLETED_ORDER"',
Expand All @@ -90,19 +95,21 @@
description="bigquery has no session to hold a temporary function",
adapter=BigQueryAdapter(),
language=FunctionLanguage.SQL,
argument_type="STRING",
return_columns=(),
expected_temporary_function=None,
),
TemporaryFunctionRenderingTestCase(
description="databricks creates a prefixed session temporary function",
adapter=DatabricksAdapter(),
language=FunctionLanguage.SQL,
argument_type="STRING",
return_columns=(),
expected_temporary_function=TemporaryFunction(
target="`__sqb_test__is_completed_order`",
statements=(
"CREATE OR REPLACE TEMPORARY FUNCTION "
"`__sqb_test__is_completed_order`(order_status TEXT)\n"
"`__sqb_test__is_completed_order`(order_status STRING)\n"
"RETURNS BOOLEAN\n"
"RETURN order_status = 'completed'",
),
Expand All @@ -112,13 +119,15 @@
description="databricks keeps using built python functions",
adapter=DatabricksAdapter(),
language=FunctionLanguage.PYTHON,
argument_type="STRING",
return_columns=(),
expected_temporary_function=None,
),
TemporaryFunctionRenderingTestCase(
description="sql server keeps using the built function",
adapter=SqlServerAdapter(),
language=FunctionLanguage.SQL,
argument_type="TEXT",
return_columns=(),
expected_temporary_function=None,
),
Expand All @@ -132,7 +141,7 @@ def test_given_project_function_when_rendering_temporary_copy_then_adapter_retur
name="is_completed_order",
definition=FunctionDefinition(
destination="analytics.is_completed_order",
arguments=(FunctionArgument(name="order_status", type="TEXT"),),
arguments=(FunctionArgument(name="order_status", type=test_case.argument_type),),
returns="BOOLEAN",
body_sql="order_status = 'completed'",
return_columns=tuple(
Expand Down
Loading