Skip to main content

hawdb_executor/
lib.rs

1// Copyright 2026 Nowledge
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15#[doc(hidden)]
16pub mod analytics;
17#[doc(hidden)]
18pub mod batch;
19#[doc(hidden)]
20pub mod binding;
21#[doc(hidden)]
22pub mod blocking;
23pub mod columnar;
24pub mod concurrent;
25#[doc(hidden)]
26pub mod execution_request;
27#[doc(hidden)]
28pub mod expression;
29#[doc(hidden)]
30pub mod external;
31#[doc(hidden)]
32pub mod external_order;
33pub mod graph;
34mod graph_match;
35#[doc(hidden)]
36pub mod kernel;
37pub mod limit;
38pub mod memory;
39pub mod memory_ledger;
40pub mod morsel;
41#[doc(hidden)]
42pub mod mutation;
43#[doc(hidden)]
44pub mod numeric;
45#[doc(hidden)]
46pub mod observer;
47mod output;
48pub use output::QueryOutput;
49#[doc(hidden)]
50pub mod pipeline;
51#[doc(hidden)]
52pub mod predicate;
53pub mod profile;
54mod read_output;
55#[doc(hidden)]
56pub mod result_delivery;
57#[doc(hidden)]
58pub mod runtime_admission;
59#[doc(hidden)]
60pub mod scan;
61pub mod scoring;
62#[doc(hidden)]
63pub mod spill;
64#[doc(hidden)]
65pub mod store;
66mod store_adapter;
67#[doc(hidden)]
68pub mod transform;
69#[doc(hidden)]
70pub mod traversal;
71pub mod vector;
72
73pub use binding::value_payload_bytes as query_value_payload_bytes;
74
75pub use columnar::{
76    filter_boolean_column, filter_float64_values, filter_float64_values_view, filter_int64_values,
77    filter_int64_values_view, filter_numeric_column, select_float64_values_view,
78    select_int64_values_view, BindingSchema, ColumnType, ColumnVector, ColumnarBatch,
79    ColumnarRowRef, NumericLiteral, NumericPredicate, RelationalRowLocator, Selection,
80    SlotDescriptor, SlotId, SlotType, Validity, ValidityBuilder, ValidityView,
81};
82pub use concurrent::{BoundedExecutor, SharedExecutorPool, SharedExecutorPoolError};
83pub use external::{
84    ExternalReadOperator, ExternalReadResourceContract, ExternalReadResultBudget,
85    VectorSeedExecutionOutput, VectorSeedExecutionRequest, VectorSeedExecutionRow,
86};
87pub use graph::{GraphExpansionExecutionReport, GraphExpansionTruncationReason};
88pub use limit::ExecutionLimit;
89pub use memory::ExecutionMemoryConfig;
90pub use memory_ledger::{
91    QueryMemoryAccount, QueryMemoryClass, QueryMemoryClassSnapshot, QueryMemoryLease,
92    QueryMemoryLedger, QueryMemoryLedgerSnapshot,
93};
94pub use morsel::{
95    admit_morsels, execute_morsels_ordered, Morsel, MorselAdmission, MorselAdmissionRequest,
96    MorselIter, MorselOrdinal, MorselOutput, MorselStreamControl, MorselStreamReport,
97    MorselStreamResources, PipelineId, SequentialMorselScheduler, SharedPoolMorselScheduler,
98};
99pub use profile::{
100    BlockingOperatorMemoryReport, OperatorCardinalityProfile, PipelineMemoryReport,
101    ProfiledQueryRows, ProfiledQueryStream, QueryRow, QueryRowRef, QueryRows, QueryRowsBuilder,
102    QueryRowsIntoIter, QueryRowsIter, QuerySchema, QueryValueRows, ReadExecutionProfile, Row,
103    RowRef, RowRefIter,
104};
105pub use read_output::{BoundedReadQueryOutput, QueryStreamOptions, QueryStreamReport};
106pub use spill::SpillPoolSnapshot;
107pub use vector::{
108    execute_vector_plan, VectorCandidate, VectorCandidateBatch, VectorCandidateScanMetrics,
109    VectorCandidateScanRequest, VectorCompressionMode, VectorExecutionBackend,
110    VectorExecutionError, VectorExecutionOutput, VectorExecutionReport, VectorExecutionSource,
111    VectorFallbackReasonCode, VectorRawRerankRequest, VectorRawScore, VectorResidualFilterRequest,
112    VectorScoreSource,
113};