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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
//! ElastiCube Core Library
//!
//! A high-performance, embeddable OLAP cube builder and query library built on Apache Arrow.
//!
//! # Features
//!
//! - **Columnar Storage**: Efficient field-by-field storage using Apache Arrow
//! - **No Pre-Aggregation**: Query raw data with dynamic aggregations
//! - **Multi-Source**: Combine data from CSV, Parquet, JSON, and custom sources
//! - **Fast**: Near C-level performance with parallel query execution
//!
//! # Example
//!
//! ```rust,ignore
//! use elasticube_core::{ElastiCubeBuilder, AggFunc};
//!
//! #[tokio::main]
//! async fn main() -> Result<()> {
//! let cube = ElastiCubeBuilder::new()
//! .add_dimension("region", DataType::Utf8)
//! .add_measure("sales", DataType::Float64, AggFunc::Sum)
//! .load_csv("data.csv")?
//! .build()?;
//!
//! let results = cube.query()
//! .select(&["region", "sum(sales)"])
//! .group_by(&["region"])
//! .execute()
//! .await?;
//!
//! Ok(())
//! }
//! ```
// Re-export commonly used types
pub use ElastiCubeBuilder;
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;
// Re-export database sources when feature is enabled
/// Database source connectors (PostgreSQL, MySQL, SQL Server, etc.)
///
/// These types are only available when the `database` feature is enabled:
/// ```toml
/// [dependencies]
/// elasticube-core = { version = "0.2", features = ["database"] }
/// ```
///
/// See [`ElastiCubeBuilder::load_postgres`], [`ElastiCubeBuilder::load_mysql`],
/// and [`ElastiCubeBuilder::load_odbc`] for usage examples.
pub use ;
// Re-export REST API sources when feature is enabled
/// REST API data source connector
///
/// This type is only available when the `rest-api` feature is enabled:
/// ```toml
/// [dependencies]
/// elasticube-core = { version = "0.2", features = ["rest-api"] }
/// ```
///
/// See [`ElastiCubeBuilder::load_rest_api`] for usage examples.
pub use ;
// Re-export object storage sources when feature is enabled
/// Object storage source connectors (AWS S3, Google Cloud Storage, Azure Blob Storage)
///
/// These types are only available when the `object-storage` feature is enabled:
/// ```toml
/// [dependencies]
/// elasticube-core = { version = "0.2", features = ["object-storage"] }
/// ```
///
/// Or enable all data sources at once:
/// ```toml
/// [dependencies]
/// elasticube-core = { version = "0.2", features = ["all-sources"] }
/// ```
///
/// See [`ElastiCubeBuilder::load_s3`], [`ElastiCubeBuilder::load_gcs`],
/// and [`ElastiCubeBuilder::load_azure`] for usage examples.
pub use ;