mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2026-06-01 12:50:40 +00:00
feat: impl table manifest (#157)
* feat: impl TableManifest and refactor table engine, object store etc.
* feat: persist table metadata when creating it
* fix: remove unused file src/storage/src/manifest/impl.rs
* feat: impl recover table info from manifest
* test: add open table test and table manifest test
* fix: resolve CR problems
* fix: compile error and remove region id
* doc: describe parent_dir
* fix: address CR problems
* fix: typo
* Revert "fix: compile error and remove region id"
This reverts commit c14c250f8a.
* fix: compile error and generate region id by table_id and region number
This commit is contained in:
@@ -3,14 +3,15 @@ use std::collections::HashMap;
|
||||
use chrono::{DateTime, Utc};
|
||||
use datatypes::schema::SchemaRef;
|
||||
use derive_builder::Builder;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use store_api::storage::ColumnId;
|
||||
|
||||
pub type TableId = u64;
|
||||
pub type TableId = u32;
|
||||
pub type TableVersion = u64;
|
||||
|
||||
/// Indicates whether and how a filter expression can be handled by a
|
||||
/// Table for table scans.
|
||||
#[derive(Debug, Clone, PartialEq)]
|
||||
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
|
||||
pub enum FilterPushDownType {
|
||||
/// The expression cannot be used by the provider.
|
||||
Unsupported,
|
||||
@@ -26,7 +27,7 @@ pub enum FilterPushDownType {
|
||||
}
|
||||
|
||||
/// Indicates the type of this table for metadata/catalog purposes.
|
||||
#[derive(Debug, Clone, Copy, PartialEq)]
|
||||
#[derive(Serialize, Deserialize, Debug, Clone, Copy, PartialEq)]
|
||||
pub enum TableType {
|
||||
/// An ordinary physical table.
|
||||
Base,
|
||||
@@ -36,13 +37,13 @@ pub enum TableType {
|
||||
Temporary,
|
||||
}
|
||||
|
||||
#[derive(serde::Serialize, serde::Deserialize, Clone, Debug, Eq, PartialEq, Default)]
|
||||
#[derive(Serialize, Deserialize, Clone, Debug, Eq, PartialEq, Default)]
|
||||
pub struct TableIdent {
|
||||
pub table_id: TableId,
|
||||
pub version: TableVersion,
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Builder)]
|
||||
#[derive(Serialize, Deserialize, Clone, Debug, Builder, PartialEq)]
|
||||
#[builder(pattern = "mutable")]
|
||||
pub struct TableMeta {
|
||||
pub schema: SchemaRef,
|
||||
@@ -90,7 +91,7 @@ impl TableMeta {
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Builder)]
|
||||
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Builder)]
|
||||
#[builder(pattern = "owned")]
|
||||
pub struct TableInfo {
|
||||
#[builder(default, setter(into))]
|
||||
|
||||
@@ -15,6 +15,7 @@ pub struct InsertRequest {
|
||||
/// Create table request
|
||||
#[derive(Debug)]
|
||||
pub struct CreateTableRequest {
|
||||
pub id: TableId,
|
||||
pub name: String,
|
||||
pub desc: Option<String>,
|
||||
pub schema: SchemaRef,
|
||||
|
||||
Reference in New Issue
Block a user