Skip to content

Commit 04a89ef

Browse files
committed
mssql test fixes
Signed-off-by: Ujfalusi Sándor <ujfalusi.sandor@gmail.com>
1 parent 7c2f060 commit 04a89ef

2 files changed

Lines changed: 18 additions & 23 deletions

File tree

tests/core/engine_adapter/integration/__init__.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -520,6 +520,14 @@ def get_table_comment(
520520
AND c.relkind = '{"v" if table_kind == "VIEW" else "r"}'
521521
;
522522
"""
523+
elif self.dialect == "tsql":
524+
kind = "table" if table_kind == "BASE TABLE" else "view"
525+
query = f"""
526+
SELECT
527+
ep.name,
528+
CAST(ep.value AS NVARCHAR(MAX)) comment
529+
FROM fn_listextendedproperty('MS_Description', 'schema', '{schema_name}', '{kind}', '{table_name}', DEFAULT, DEFAULT) ep
530+
"""
523531

524532
result = self.engine_adapter.fetchall(query)
525533

@@ -629,6 +637,16 @@ def get_column_comments(
629637
AND c.relkind = '{"v" if table_kind == "VIEW" else "r"}'
630638
;
631639
"""
640+
elif self.dialect == "tsql":
641+
kind = "table" if table_kind == "BASE TABLE" else "view"
642+
query = f"""
643+
SELECT
644+
col.COLUMN_NAME column_name,
645+
CAST(ep.value AS NVARCHAR(MAX)) comment
646+
FROM INFORMATION_SCHEMA.COLUMNS col
647+
CROSS APPLY fn_listextendedproperty('MS_Description', 'schema', col.TABLE_SCHEMA, '{kind}', col.TABLE_NAME, 'column', col.COLUMN_NAME) ep
648+
WHERE col.TABLE_SCHEMA = '{schema_name}' AND col.TABLE_NAME = '{table_name}'
649+
"""
632650

633651
result = self.engine_adapter.fetchall(query)
634652

tests/core/engine_adapter/test_mssql.py

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1002,26 +1002,3 @@ def python_scd2_model(context, **kwargs):
10021002
snapshot: Snapshot = make_snapshot(m)
10031003
assert snapshot.node.physical_properties == m.physical_properties
10041004
assert snapshot.node.physical_properties.get("mssql_merge_exists")
1005-
1006-
1007-
def test_comments(make_mocked_engine_adapter: t.Callable, mocker: MockerFixture):
1008-
adapter = make_mocked_engine_adapter(MSSQLEngineAdapter)
1009-
1010-
columns_to_types = {
1011-
"cola": exp.DataType.build("INT"),
1012-
"colb": exp.DataType.build("TEXT"),
1013-
}
1014-
adapter.create_table(
1015-
"test_table", columns_to_types, table_description="\\", column_descriptions={"cola": "\\"}
1016-
)
1017-
1018-
sql_calls = to_sql_calls(adapter)
1019-
assert sql_calls == [
1020-
"""IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'test_table') EXEC('CREATE TABLE [test_table] ([cola] INTEGER, [colb] VARCHAR(MAX))');""",
1021-
adapter._build_create_comment_table_exp(
1022-
exp.table_("test_table", quoted=True), "\\", "TABLE"
1023-
),
1024-
adapter._build_create_comment_column_exp(
1025-
exp.table_("test_table", quoted=True), "cola", "\\", "TABLE"
1026-
),
1027-
]

0 commit comments

Comments
 (0)