File tree Expand file tree Collapse file tree 1 file changed +12
-2
lines changed Expand file tree Collapse file tree 1 file changed +12
-2
lines changed Original file line number Diff line number Diff line change @@ -447,9 +447,19 @@ impl RustWrappedPyCatalogProvider {
447447
448448 Ok ( Some ( Arc :: new ( provider) as Arc < dyn SchemaProvider > ) )
449449 } else {
450- let py_schema = RustWrappedPySchemaProvider :: new ( py_schema. into ( ) ) ;
450+ if let Ok ( inner_schema) = py_schema. getattr ( "schema" ) {
451+ if let Ok ( inner_schema) = inner_schema. extract :: < PySchema > ( ) {
452+ return Ok ( Some ( inner_schema. schema ) ) ;
453+ }
454+ }
455+ match py_schema. extract :: < PySchema > ( ) {
456+ Ok ( inner_schema) => Ok ( Some ( inner_schema. schema ) ) ,
457+ Err ( _) => {
458+ let py_schema = RustWrappedPySchemaProvider :: new ( py_schema. into ( ) ) ;
451459
452- Ok ( Some ( Arc :: new ( py_schema) as Arc < dyn SchemaProvider > ) )
460+ Ok ( Some ( Arc :: new ( py_schema) as Arc < dyn SchemaProvider > ) )
461+ }
462+ }
453463 }
454464 } )
455465 }
You can’t perform that action at this time.
0 commit comments