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 {
447
447
448
448
Ok ( Some ( Arc :: new ( provider) as Arc < dyn SchemaProvider > ) )
449
449
} 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 ( ) ) ;
451
459
452
- Ok ( Some ( Arc :: new ( py_schema) as Arc < dyn SchemaProvider > ) )
460
+ Ok ( Some ( Arc :: new ( py_schema) as Arc < dyn SchemaProvider > ) )
461
+ }
462
+ }
453
463
}
454
464
} )
455
465
}
You can’t perform that action at this time.
0 commit comments