1mod codecs;
4mod cursor;
5mod error;
6mod extensions;
7#[cfg(feature = "metadata")]
8pub mod metadata;
9mod model;
10mod policy;
11mod protocol;
12mod query;
13#[cfg(feature = "postgres-types")]
14pub use model::native::Int8Range;
15#[cfg(feature = "rsql")]
16pub use protocol::rsql;
17
18#[cfg(feature = "json")]
19pub use codecs::JsonValueCodec;
20pub use codecs::{
21 BooleanCodec, Codec, CodecRegistry, EnumCodec, FieldConvertor, ListResultCodec,
22 ScalarTextCodec, StringCodec,
23};
24#[cfg(feature = "chrono")]
25pub use codecs::{DateCodec, DateTimeCodec, TimeCodec, TimestampCodec};
26pub use cursor::{Cursor, CursorCodec, CursorValue, IntoCursorValue};
27pub use error::{ConfigError, ParamError, PlanError};
28pub use extensions::{
29 DefaultParamFilter, IndexedArrayParamFilter, JsonArrayParamFilter, RawParamFilter,
30 SuffixOperatorParamFilter,
31};
32pub use model::meta::{
33 AggregateKind, ConditionOrder, EntityLimits, EntityMeta, FieldId, FieldKind, FieldMeta,
34 FieldRef, FilterOnly, FilterOnlyKind, GroupKeyKind, OperatorSet, OrderMeta, ProjectionField,
35 RowPhaseKind, ScalarKind, SearchEntity, SearchProjection, SummableKind, ValueType,
36};
37pub use model::value::{IntoScalarValue, RowValue, ScalarValue, TypedList};
38pub use policy::{CompatibilityPolicy, ParamNames, QueryHardLimits, QueryLimits, QueryPolicy};
39pub use protocol::parser::ParamParser;
40pub use protocol::raw::RawParams;
41pub use query::bucket::{
42 BucketEntry, BucketRequest, BucketResult, NumericBucketRequest, TimeBucketRequest,
43 TimeBucketUnit, numeric_label as numeric_bucket_label,
44};
45pub use query::builder::QueryBuilder;
46pub use query::facet::{FacetBucket, FacetRequest, FacetResult};
47pub use query::filter::FilterExpr;
48pub use query::plan::{
49 GroupScope, NullOrder, OrderBy, Paging, PagingMode, Projection, QueryInput, QueryPlan,
50 QueryTarget, ServerScope, SortOrder, UserQuery,
51};
52pub use query::predicate::{
53 Condition, CustomOperator, NodeId, Operator, PredicateArena, PredicateNode, PredicatePhase,
54 RegisteredOperator,
55};
56pub use query::scope::ScopeProvider;
57pub use query::scope::{
58 FieldAccessPolicy, FieldAccessPolicyBuilder, GroupScopeBuilder, ScopeLimits, ServerScopeBuilder,
59};
60pub use query::sql::{ServerSqlExtension, ServerSqlRegistry};
61pub use query::summary::{AggregateFn, CustomAggregate, SearchOptions, SummaryRequest};
62
63#[doc(hidden)]
66pub mod __private {
67 pub use crate::{
68 AggregateKind, ConditionOrder, CustomOperator, EntityLimits, EntityMeta, FieldId,
69 FieldKind, FieldMeta, FieldRef, FilterOnlyKind, GroupKeyKind, Operator, OperatorSet,
70 OrderMeta, ProjectionField, ScalarKind, SearchEntity, SearchProjection, SortOrder,
71 ValueType,
72 };
73}