|
16 | 16 | from sqlmesh.core.engine_adapter.shared import ( |
17 | 17 | DataObject, |
18 | 18 | DataObjectType, |
19 | | - InsertOverwriteStrategy, |
20 | 19 | ) |
21 | 20 | from sqlmesh.utils.date import to_ds |
22 | 21 | from tests.core.engine_adapter import to_sql_calls |
@@ -342,46 +341,6 @@ def test_insert_overwrite_by_time_partition_supports_insert_overwrite_pandas_exi |
342 | 341 | ] |
343 | 342 |
|
344 | 343 |
|
345 | | -def test_insert_overwrite_by_time_partition_replace_where_pandas( |
346 | | - make_mocked_engine_adapter: t.Callable, mocker: MockerFixture, make_temp_table_name: t.Callable |
347 | | -): |
348 | | - mocker.patch( |
349 | | - "sqlmesh.core.engine_adapter.mssql.MSSQLEngineAdapter.table_exists", |
350 | | - return_value=False, |
351 | | - ) |
352 | | - |
353 | | - adapter = make_mocked_engine_adapter(MSSQLEngineAdapter) |
354 | | - adapter.INSERT_OVERWRITE_STRATEGY = InsertOverwriteStrategy.REPLACE_WHERE |
355 | | - |
356 | | - temp_table_mock = mocker.patch("sqlmesh.core.engine_adapter.EngineAdapter._get_temp_table") |
357 | | - table_name = "test_table" |
358 | | - temp_table_id = "abcdefgh" |
359 | | - temp_table_mock.return_value = make_temp_table_name(table_name, temp_table_id) |
360 | | - |
361 | | - df = pd.DataFrame({"a": [1, 2], "ds": ["2022-01-01", "2022-01-02"]}) |
362 | | - adapter.insert_overwrite_by_time_partition( |
363 | | - table_name, |
364 | | - df, |
365 | | - start="2022-01-01", |
366 | | - end="2022-01-02", |
367 | | - time_formatter=lambda x, _: exp.Literal.string(to_ds(x)), |
368 | | - time_column="ds", |
369 | | - target_columns_to_types={ |
370 | | - "a": exp.DataType.build("INT"), |
371 | | - "ds": exp.DataType.build("STRING"), |
372 | | - }, |
373 | | - ) |
374 | | - adapter._connection_pool.get().bulk_copy.assert_called_with( |
375 | | - f"__temp_test_table_{temp_table_id}", [(1, "2022-01-01"), (2, "2022-01-02")] |
376 | | - ) |
377 | | - |
378 | | - assert to_sql_calls(adapter) == [ |
379 | | - f"""IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = '__temp_test_table_{temp_table_id}') EXEC('CREATE TABLE [__temp_test_table_{temp_table_id}] ([a] INTEGER, [ds] VARCHAR(MAX))');""", |
380 | | - f"""MERGE INTO [test_table] AS [__MERGE_TARGET__] USING (SELECT [a] AS [a], [ds] AS [ds] FROM (SELECT CAST([a] AS INTEGER) AS [a], CAST([ds] AS VARCHAR(MAX)) AS [ds] FROM [__temp_test_table_{temp_table_id}]) AS [_subquery] WHERE [ds] BETWEEN '2022-01-01' AND '2022-01-02') AS [__MERGE_SOURCE__] ON (1 = 0) WHEN NOT MATCHED BY SOURCE AND [ds] BETWEEN '2022-01-01' AND '2022-01-02' THEN DELETE WHEN NOT MATCHED THEN INSERT ([a], [ds]) VALUES ([a], [ds]);""", |
381 | | - f"DROP TABLE IF EXISTS [__temp_test_table_{temp_table_id}];", |
382 | | - ] |
383 | | - |
384 | | - |
385 | 344 | def test_insert_append_pandas( |
386 | 345 | make_mocked_engine_adapter: t.Callable, mocker: MockerFixture, make_temp_table_name: t.Callable |
387 | 346 | ): |
|
0 commit comments