1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
// SPDX-License-Identifier: BUSL-1.1
//! Dispatch for SpatialOp variants (scan).
use crate::bridge::envelope::Response;
use crate::bridge::physical_plan::SpatialOp;
use crate::data::executor::core_loop::CoreLoop;
use crate::data::executor::task::ExecutionTask;
impl CoreLoop {
pub(super) fn dispatch_spatial(
&mut self,
task: &ExecutionTask,
tid: u64,
op: &SpatialOp,
) -> Response {
match op {
SpatialOp::Scan {
collection,
field,
predicate,
query_geometry,
distance_meters,
attribute_filters,
limit,
projection,
rls_filters,
prefilter,
} => self.execute_spatial_scan(
task,
tid,
collection,
field,
predicate,
query_geometry,
*distance_meters,
attribute_filters,
*limit,
projection,
rls_filters,
prefilter.as_ref(),
),
}
}
}