File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -349,6 +349,30 @@ def test_table_provider_from_capsule(ctx):
349349 assert [b .to_pydict () for b in result ] == [{"a" : [1 , 2 ]}]
350350
351351
352+ def test_table_provider_from_dataframe (ctx ):
353+ df = ctx .from_pydict ({"a" : [1 , 2 ]}).df
354+ provider = TableProvider .from_dataframe (df )
355+ ctx .register_table ("from_dataframe_tbl" , provider )
356+ result = ctx .sql ("SELECT * FROM from_dataframe_tbl" ).collect ()
357+ assert [b .to_pydict () for b in result ] == [{"a" : [1 , 2 ]}]
358+
359+
360+ def test_register_table_capsule_direct (ctx ):
361+ df = ctx .from_pydict ({"a" : [1 , 2 ]})
362+ provider = df .into_view ()
363+
364+ class CapsuleProvider :
365+ def __init__ (self , inner ):
366+ self ._inner = inner
367+
368+ def __datafusion_table_provider__ (self ):
369+ return self ._inner .__datafusion_table_provider__ ()
370+
371+ ctx .register_table ("capsule_direct_tbl" , CapsuleProvider (provider ))
372+ result = ctx .sql ("SELECT * FROM capsule_direct_tbl" ).collect ()
373+ assert [b .to_pydict () for b in result ] == [{"a" : [1 , 2 ]}]
374+
375+
352376def test_table_provider_from_capsule_invalid ():
353377 with pytest .raises (Exception ): # noqa: B017
354378 TableProvider .from_capsule (object ())
You can’t perform that action at this time.
0 commit comments