From 1c7e1c634e2d4a854220b5981e819dda548be553 Mon Sep 17 00:00:00 2001 From: Gatefixer <313497061+lancedb-gatefixer[bot]@users.noreply.github.com> Date: Wed, 5 Aug 2026 23:57:19 +0000 Subject: [PATCH] test(python): cover merge insert with schema metadata --- python/python/tests/test_table.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/python/python/tests/test_table.py b/python/python/tests/test_table.py index 069527b21..ac4a427e1 100644 --- a/python/python/tests/test_table.py +++ b/python/python/tests/test_table.py @@ -2363,6 +2363,27 @@ def test_merge_insert(mem_db: DBConnection): ) +def test_merge_insert_with_schema_metadata(mem_db: DBConnection): + schema = pa.schema( + [pa.field("id", pa.int64()), pa.field("value", pa.string())], + metadata={b"schema_key": b"schema_value"}, + ) + table = mem_db.create_table("my_table", schema=schema) + new_data = pa.table({"id": [1, 2], "value": ["one", "two"]}) + assert new_data.schema.metadata is None + + result = ( + table.merge_insert("id") + .when_matched_update_all() + .when_not_matched_insert_all() + .execute(new_data) + ) + + assert result.num_inserted_rows == 2 + assert table.to_arrow() == new_data + assert table.schema.metadata == schema.metadata + + def test_merge_insert_by_source_delete_expr(mem_db: DBConnection): table = mem_db.create_table( "my_table",