@@ -4,7 +4,7 @@ use arrow_schema::SchemaRef;
44use datafusion:: datasource:: physical_plan:: { FileMeta , FileOpenFuture , FileOpener } ;
55use datafusion_common:: Result as DFResult ;
66use futures:: { FutureExt as _, StreamExt } ;
7- use object_store:: ObjectStore ;
7+ use object_store:: { ObjectStore , ObjectStoreScheme } ;
88use vortex_array:: { ContextRef , IntoArrayVariant } ;
99use vortex_error:: VortexResult ;
1010use vortex_expr:: { ExprRef , VortexExpr } ;
@@ -16,6 +16,7 @@ use super::cache::FileLayoutCache;
1616#[ derive( Clone ) ]
1717pub ( crate ) struct VortexFileOpener {
1818 pub ctx : ContextRef ,
19+ pub scheme : ObjectStoreScheme ,
1920 pub object_store : Arc < dyn ObjectStore > ,
2021 pub projection : ExprRef ,
2122 pub filter : Option < ExprRef > ,
@@ -25,8 +26,10 @@ pub(crate) struct VortexFileOpener {
2526}
2627
2728impl VortexFileOpener {
29+ #[ allow( clippy:: too_many_arguments) ]
2830 pub fn new (
2931 ctx : ContextRef ,
32+ scheme : ObjectStoreScheme ,
3033 object_store : Arc < dyn ObjectStore > ,
3134 projection : Arc < dyn VortexExpr > ,
3235 filter : Option < Arc < dyn VortexExpr > > ,
@@ -36,6 +39,7 @@ impl VortexFileOpener {
3639 ) -> VortexResult < Self > {
3740 Ok ( Self {
3841 ctx,
42+ scheme,
3943 object_store,
4044 projection,
4145 filter,
@@ -48,8 +52,11 @@ impl VortexFileOpener {
4852
4953impl FileOpener for VortexFileOpener {
5054 fn open ( & self , file_meta : FileMeta ) -> DFResult < FileOpenFuture > {
51- let read_at =
52- ObjectStoreReadAt :: new ( self . object_store . clone ( ) , file_meta. location ( ) . clone ( ) ) ;
55+ let read_at = ObjectStoreReadAt :: new (
56+ self . object_store . clone ( ) ,
57+ file_meta. location ( ) . clone ( ) ,
58+ Some ( self . scheme . clone ( ) ) ,
59+ ) ;
5360
5461 let filter = self . filter . clone ( ) ;
5562 let projection = self . projection . clone ( ) ;
0 commit comments