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 graph_seed;
37#[doc(hidden)]
38pub mod kernel;
39pub mod limit;
40pub mod load_csv;
41pub mod memory;
42pub mod memory_ledger;
43pub mod morsel;
44#[doc(hidden)]
45pub mod mutation;
46#[doc(hidden)]
47pub mod numeric;
48#[doc(hidden)]
49pub mod observer;
50mod output;
51pub use output::QueryOutput;
52#[doc(hidden)]
53pub mod pipeline;
54#[doc(hidden)]
55pub mod predicate;
56pub mod profile;
57mod read_output;
58#[doc(hidden)]
59pub mod result_delivery;
60#[doc(hidden)]
61pub mod runtime_admission;
62#[doc(hidden)]
63pub mod scan;
64pub mod scoring;
65#[doc(hidden)]
66pub mod spill;
67#[doc(hidden)]
68pub mod store;
69mod store_adapter;
70#[doc(hidden)]
71pub mod transform;
72#[doc(hidden)]
73pub mod traversal;
74pub mod vector;
75pub mod vector_eligibility;
76
77pub use binding::value_payload_bytes as query_value_payload_bytes;
78
79pub use columnar::{
80    filter_boolean_column, filter_float64_values, filter_float64_values_view, filter_int64_values,
81    filter_int64_values_view, filter_numeric_column, select_float64_values_view,
82    select_int64_values_view, BindingSchema, ColumnType, ColumnVector, ColumnarBatch,
83    ColumnarRowRef, NumericLiteral, NumericPredicate, RelationalRowLocator, Selection,
84    SlotDescriptor, SlotId, SlotType, Validity, ValidityBuilder, ValidityView,
85};
86pub use concurrent::{BoundedExecutor, SharedExecutorPool, SharedExecutorPoolError};
87pub use external::{
88    ExternalReadOperator, ExternalReadResourceContract, ExternalReadResultBudget,
89    TextSeedExecutionOutput, TextSeedExecutionRequest, TextSeedExecutionRow,
90    VectorIndexExecutionOutput, VectorIndexExecutionRequest, VectorIndexExecutionRow,
91    VectorSeedExecutionOutput, VectorSeedExecutionRequest, VectorSeedExecutionRow,
92};
93pub use graph::{GraphExpansionExecutionReport, GraphExpansionTruncationReason};
94pub use limit::ExecutionLimit;
95pub use memory::ExecutionMemoryConfig;
96pub use memory_ledger::{
97    QueryMemoryAccount, QueryMemoryClass, QueryMemoryClassSnapshot, QueryMemoryLease,
98    QueryMemoryLedger, QueryMemoryLedgerSnapshot,
99};
100pub use morsel::{
101    admit_morsels, execute_morsels_ordered, Morsel, MorselAdmission, MorselAdmissionRequest,
102    MorselIter, MorselOrdinal, MorselOutput, MorselStreamControl, MorselStreamReport,
103    MorselStreamResources, PipelineId, SequentialMorselScheduler, SharedPoolMorselScheduler,
104};
105mod retrieval_report;
106pub use profile::{
107    BlockingOperatorMemoryReport, OperatorCardinalityProfile, PipelineMemoryReport,
108    ProfiledQueryRows, ProfiledQueryStream, ProjectedRowRef, QueryRow, QueryRowRef, QueryRows,
109    QueryRowsBuilder, QueryRowsIntoIter, QueryRowsIter, QuerySchema, QueryValueRows,
110    ReadExecutionProfile, Row, RowRef, RowRefIter,
111};
112pub use read_output::{BoundedReadQueryOutput, QueryStreamOptions, QueryStreamReport};
113pub use retrieval_report::{
114    GroupedEvidenceExecutionReport, TextSeedExecutionReport, TextSeedSourceReport,
115};
116pub use spill::SpillPoolSnapshot;
117pub use vector::{
118    execute_vector_plan, VectorCandidate, VectorCandidateBatch, VectorCandidateScanMetrics,
119    VectorCandidateScanRequest, VectorCompressionMode, VectorExecutionBackend,
120    VectorExecutionError, VectorExecutionOutput, VectorExecutionReport, VectorExecutionSource,
121    VectorFallbackReasonCode, VectorRawRerankRequest, VectorRawScore, VectorResidualFilterRequest,
122    VectorScoreSource,
123};