Read splits via KeyValueFileReader (sort-merge dedup).
(
&self,
splits: &[DataSplit],
core_options: &CoreOptions,
)
| 132 | |
| 133 | /// Read splits via KeyValueFileReader (sort-merge dedup). |
| 134 | fn read_kv( |
| 135 | &self, |
| 136 | splits: &[DataSplit], |
| 137 | core_options: &CoreOptions, |
| 138 | ) -> crate::Result<ArrowRecordBatchStream> { |
| 139 | let reader = KeyValueFileReader::new( |
| 140 | self.table.file_io.clone(), |
| 141 | KeyValueReadConfig { |
| 142 | table_name: self.table.identifier().full_name(), |
| 143 | table_options: self.table.schema().options().clone(), |
| 144 | schema_manager: self.table.schema_manager().clone(), |
| 145 | table_schema_id: self.table.schema().id(), |
| 146 | table_fields: self.table.schema.fields().to_vec(), |
| 147 | read_type: self.read_type().to_vec(), |
| 148 | predicates: self.data_predicates.clone(), |
| 149 | primary_keys: self.table.schema.trimmed_primary_keys(), |
| 150 | merge_engine: core_options.merge_engine()?, |
| 151 | sequence_fields: core_options |
| 152 | .sequence_fields() |
| 153 | .iter() |
| 154 | .map(|s| s.to_string()) |
| 155 | .collect(), |
| 156 | }, |
| 157 | ); |
| 158 | reader.read(splits) |
| 159 | } |
| 160 | |
| 161 | /// Read with data-evolution support. |
| 162 | fn read_with_evolution( |
no test coverage detected