1
0
Fork 0

Adding upstream version 26.10.1.

Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
Daniel Baumann 2025-03-17 07:38:52 +01:00
parent 412e82cbc6
commit 5b8e67f8b8
Signed by: daniel
GPG key ID: FBB4F0E80A80222F
66 changed files with 79349 additions and 76628 deletions

View file

@ -576,3 +576,48 @@ class TestLineage(unittest.TestCase):
self.assertEqual(node.downstream[0].name, "t.empid")
self.assertEqual(node.downstream[0].reference_node_name, "t")
self.assertEqual(node.downstream[0].downstream[0].name, "quarterly_sales.empid")
def test_table_udtf_snowflake(self) -> None:
lateral_flatten = """
SELECT f.value:external_id::string AS external_id
FROM database_name.schema_name.table_name AS raw,
LATERAL FLATTEN(events) AS f
"""
table_flatten = """
SELECT f.value:external_id::string AS external_id
FROM database_name.schema_name.table_name AS raw
JOIN TABLE(FLATTEN(events)) AS f
"""
lateral_node = lineage("external_id", lateral_flatten, dialect="snowflake")
table_node = lineage("external_id", table_flatten, dialect="snowflake")
self.assertEqual(lateral_node.name, "EXTERNAL_ID")
self.assertEqual(table_node.name, "EXTERNAL_ID")
lateral_node = lateral_node.downstream[0]
table_node = table_node.downstream[0]
self.assertEqual(lateral_node.name, "F.VALUE")
self.assertEqual(
lateral_node.source.sql("snowflake"),
"LATERAL FLATTEN(RAW.EVENTS) AS F(SEQ, KEY, PATH, INDEX, VALUE, THIS)",
)
self.assertEqual(table_node.name, "F.VALUE")
self.assertEqual(table_node.source.sql("snowflake"), "TABLE(FLATTEN(RAW.EVENTS)) AS F")
lateral_node = lateral_node.downstream[0]
table_node = table_node.downstream[0]
self.assertEqual(lateral_node.name, "RAW.EVENTS")
self.assertEqual(
lateral_node.source.sql("snowflake"),
"DATABASE_NAME.SCHEMA_NAME.TABLE_NAME AS RAW",
)
self.assertEqual(table_node.name, "RAW.EVENTS")
self.assertEqual(
table_node.source.sql("snowflake"),
"DATABASE_NAME.SCHEMA_NAME.TABLE_NAME AS RAW",
)