feat(query): add overflow info
// limitations under the License.
use std::any::Any;
+use std::collections::HashMap;
use std::sync::Arc;
use common_datablocks::BlockMetaInfo;
use common_datablocks::BlockMetaInfoPtr;
+#[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
+pub struct OverflowInfo {
+ pub temporary_path: String,
+ // bucket_id -> (offset, length)
+ pub bucket_info: HashMap<usize, (usize, usize)>,
+}
+
#[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
pub struct AggregateInfo {
pub bucket: isize,
+ pub overflow: Option<OverflowInfo>,
}
impl AggregateInfo {
pub fn create(bucket: isize) -> BlockMetaInfoPtr {
- Arc::new(Box::new(AggregateInfo { bucket }))
+ Arc::new(Box::new(AggregateInfo { bucket, overflow: None }))
}
}
