proof_of_sql/base/database/
mod.rs

1//! Module with database related functionality. In particular, this module contains the
2//! accessor traits and the `OwnedTable` type along with some utility functions to convert
3//! between Arrow and `OwnedTable`.
4mod accessor;
5pub use accessor::{CommitmentAccessor, DataAccessor, MetadataAccessor, SchemaAccessor};
6
7mod column;
8pub use column::{Column, ColumnField, ColumnRef, ColumnType};
9
10#[cfg_attr(not(test), expect(dead_code))]
11pub(crate) mod slice_operation;
12
13mod slice_decimal_operation;
14
15mod column_type_operation;
16pub use column_type_operation::{
17    can_and_or_types, can_not_type, try_add_subtract_column_types,
18    try_add_subtract_column_types_with_scaling, try_cast_types, try_divide_column_types,
19    try_equals_types, try_equals_types_with_scaling, try_inequality_types,
20    try_inequality_types_with_scaling, try_multiply_column_types, try_scale_cast_types,
21};
22
23mod column_arithmetic_operation;
24pub(super) use column_arithmetic_operation::{AddOp, ArithmeticOp, DivOp, MulOp, SubOp};
25
26mod column_comparison_operation;
27pub(super) use column_comparison_operation::{ComparisonOp, EqualOp, GreaterThanOp, LessThanOp};
28
29mod column_index_operation;
30pub(super) use column_index_operation::apply_column_to_indexes;
31
32mod column_repetition_operation;
33pub(super) use column_repetition_operation::{ColumnRepeatOp, ElementwiseRepeatOp, RepetitionOp};
34
35mod column_operation_error;
36pub use column_operation_error::{ColumnOperationError, ColumnOperationResult};
37
38mod table_operation_error;
39pub use table_operation_error::{TableOperationError, TableOperationResult};
40
41mod columnar_value;
42pub use columnar_value::ColumnarValue;
43
44mod literal_value;
45pub use literal_value::LiteralValue;
46
47mod error;
48
49mod table_ref;
50#[cfg(feature = "arrow")]
51pub use crate::base::arrow::{
52    arrow_array_to_column_conversion::{ArrayRefExt, ArrowArrayToColumnConversionError},
53    owned_and_arrow_conversions::OwnedArrowConversionError,
54    scalar_and_i256_conversions,
55};
56pub use table_ref::TableRef;
57
58#[cfg(feature = "arrow")]
59pub mod arrow_schema_utility;
60
61mod owned_column;
62pub use owned_column::OwnedColumn;
63
64mod owned_column_error;
65pub(crate) use owned_column_error::ColumnCoercionError;
66pub use owned_column_error::{OwnedColumnError, OwnedColumnResult};
67
68/// TODO: add docs
69pub(crate) mod owned_column_operation;
70
71mod owned_table;
72pub(crate) use owned_table::TableCoercionError;
73pub use owned_table::{OwnedTable, OwnedTableError};
74#[cfg(test)]
75mod owned_table_test;
76pub mod owned_table_utility;
77
78mod table;
79#[cfg(test)]
80pub(crate) use table::TableError;
81pub use table::{Table, TableOptions};
82#[cfg(test)]
83mod table_test;
84pub mod table_utility;
85
86mod table_evaluation;
87pub use table_evaluation::TableEvaluation;
88
89/// TODO: add docs
90pub(crate) mod expression_evaluation;
91mod expression_evaluation_error;
92#[cfg(test)]
93mod expression_evaluation_test;
94pub use expression_evaluation_error::{ExpressionEvaluationError, ExpressionEvaluationResult};
95
96mod test_accessor;
97pub use test_accessor::TestAccessor;
98
99#[cfg(test)]
100mod test_schema_accessor;
101#[cfg(test)]
102pub(crate) use test_schema_accessor::TestSchemaAccessor;
103
104mod owned_table_test_accessor;
105pub use owned_table_test_accessor::OwnedTableTestAccessor;
106#[cfg(all(test, feature = "blitzar"))]
107mod owned_table_test_accessor_test;
108
109mod table_test_accessor;
110pub use table_test_accessor::TableTestAccessor;
111#[cfg(all(test, feature = "blitzar"))]
112mod table_test_accessor_test;
113
114/// TODO: add docs
115pub(crate) mod filter_util;
116#[cfg(test)]
117mod filter_util_test;
118
119pub(crate) mod group_by_util;
120#[cfg(test)]
121mod group_by_util_test;
122
123pub(crate) mod union_util;
124
125pub(crate) mod order_by_util;
126#[cfg(test)]
127mod order_by_util_test;
128
129#[cfg_attr(not(test), expect(dead_code))]
130pub(crate) mod join_util;