@@ -837,76 +837,3 @@ def test_databricks_connect_cluster_id_not_overridden_by_falsy_serverless(
837837 token = "mytoken" ,
838838 cluster_id = "0123-456789-mycluster" ,
839839 )
840-
841-
842- def test_fetch_native_df_uses_arrow_to_pandas (make_mocked_engine_adapter : t .Callable ):
843- adapter = make_mocked_engine_adapter (DatabricksEngineAdapter , default_catalog = "test_catalog" )
844- arrow_table = pd .DataFrame ({"name" : ["orders" ]})
845- fetchall_arrow = adapter .cursor .fetchall_arrow
846- fetchall_arrow .return_value .to_pandas .return_value = arrow_table
847-
848- df = adapter ._fetch_native_df ("SELECT 1" )
849-
850- assert df .to_dict (orient = "records" ) == [{"name" : "orders" }]
851- fetchall_arrow .return_value .to_pandas .assert_called_once_with ()
852-
853-
854- def test_fetch_native_df_column_table_without_to_pandas (make_mocked_engine_adapter : t .Callable ):
855- """PyArrow 25 fails to import on NumPy < 2, so the connector returns a ColumnTable."""
856- adapter = make_mocked_engine_adapter (DatabricksEngineAdapter , default_catalog = "test_catalog" )
857-
858- class _ColumnTable :
859- column_names = ["name" , "schema" , "catalog" , "type" ]
860- column_table = [("orders" ,), ("analytics" ,), ("main" ,), ("table" ,)]
861-
862- adapter .cursor .fetchall_arrow .return_value = _ColumnTable ()
863-
864- df = adapter ._fetch_native_df ("SELECT 1" )
865-
866- assert df .to_dict (orient = "records" ) == [
867- {"name" : "orders" , "schema" : "analytics" , "catalog" : "main" , "type" : "table" }
868- ]
869-
870-
871- def test_fetch_native_df_empty_column_table (make_mocked_engine_adapter : t .Callable ):
872- adapter = make_mocked_engine_adapter (DatabricksEngineAdapter , default_catalog = "test_catalog" )
873-
874- class _ColumnTable :
875- column_names = ["name" , "schema" , "catalog" , "type" ]
876- column_table = [(), (), (), ()]
877-
878- adapter .cursor .fetchall_arrow .return_value = _ColumnTable ()
879-
880- df = adapter ._fetch_native_df ("SELECT 1" )
881-
882- assert list (df .columns ) == ["name" , "schema" , "catalog" , "type" ]
883- assert df .empty
884-
885-
886- def test_fetch_native_df_column_table_keeps_duplicate_columns (
887- make_mocked_engine_adapter : t .Callable ,
888- ):
889- adapter = make_mocked_engine_adapter (DatabricksEngineAdapter , default_catalog = "test_catalog" )
890-
891- class _ColumnTable :
892- column_names = ["a" , "a" ]
893- column_table = [("x" ,), ("y" ,)]
894-
895- adapter .cursor .fetchall_arrow .return_value = _ColumnTable ()
896-
897- df = adapter ._fetch_native_df ("SELECT 1" )
898-
899- assert list (df .columns ) == ["a" , "a" ]
900- assert df .iloc [0 ].tolist () == ["x" , "y" ]
901-
902-
903- def test_fetch_native_df_rejects_unknown_arrow_result (make_mocked_engine_adapter : t .Callable ):
904- adapter = make_mocked_engine_adapter (DatabricksEngineAdapter , default_catalog = "test_catalog" )
905-
906- class _Weird :
907- pass
908-
909- adapter .cursor .fetchall_arrow .return_value = _Weird ()
910-
911- with pytest .raises (SQLMeshError , match = "Unexpected Databricks fetchall_arrow" ):
912- adapter ._fetch_native_df ("SELECT 1" )
0 commit comments