mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2026-01-07 22:02:56 +00:00
* refactor: use proc macro to generate conversion between TableMeta and TableMetaBuilder
* chore: format
* fix/partition-key-index:
### Update `TableMeta` and Add Partition and Alter Table Tests
- **`metadata.rs`**: Modified `new_meta_builder` method in `TableMeta` to manually remove `value_indices` by setting it to `None` in the `TableMetaBuilder`.
- **`partition_and_alter.result` & `partition_and_alter.sql`**: Added new test cases for creating, inserting, selecting, altering, and dropping a partitioned table `molestiAe`. These tests verify partitioning on the `sImiLiQUE` column and altering the table with a TTL
setting.
fix/partition-key-index:
### Remove Obsolete TODO Comment in `metadata.rs`
- Removed an outdated TODO comment regarding the `new_meta_builder` function in `src/table/src/metadata.rs`.
chore: check struct name in derive_meta_builder
refactor: Simplify TableMeta struct name check in macro
refactor: Improve ToMetaBuilder derive macro validation and error handling
refactor: Enforce ToMetaBuilder macro for table::metadata::TableMeta struct
* fix/partition-key-index:
Update `partition_and_alter.sql` to modify TTL setting
- Modified the TTL setting for the `molestiAe` table to '1d' in `partition_and_alter.sql`.
* fix: sqlness
* fix/partition-key-index:
### Update `TableMeta` and Test File Structure
- **Enhancement**: Added a note in `metadata.rs` to always use `new_meta_builder` for creating `TableMetaBuilder`.
- **Refactor**: Renamed test result and SQL files for better organization:
- `partition_and_alter.result` to `alter/partition_and_alter.result`
- `partition_and_alter.sql` to `alter/partition_and_alter.sql`
* refactor: Simplify `derive_meta_builder` by initializing fields with `Default::default()`
* fix/partition-key-index:
### Commit Summary
- **Refactor `TableMetaBuilder` Initialization**:
- Replaced `TableMetaBuilder::default()` with `TableMetaBuilder::empty()` across multiple files for initializing `TableMetaBuilder` instances.
- Affected files include:
- `src/catalog/src/system_schema.rs`
- `src/common/meta/src/key/test_utils.rs`
- `src/operator/src/req_convert/insert/fill_impure_default.rs`
- `src/query/src/log_query/planner.rs`
- `src/query/src/promql/planner.rs`
- `src/query/src/range_select/plan_rewrite.rs`
- `src/query/src/sql/show_create_table.rs`
- `src/table/src/test_util/memtable.rs`
- `src/table/src/test_util/table_info.rs`
- **Enhance `TableMetaBuilder`**:
- Added `custom_constructor` to `TableMeta` and implemented an `empty` method for `TableMetaBuilder`.
- Modified `TableMetaBuilder` to include a `new_external_table` method with default values.
- Updated `src/table/src/metadata.rs` to reflect these changes.
- **Add Testing Feature**:
- Introduced a conditional compilation for `test_util` in `src/table/src/lib.rs` to include testing utilities when the `testing` feature is enabled.
- **Update `Cargo.toml`**:
- Enabled the `testing` feature for the `table` module in `src/common/meta/Cargo.toml`.
- **Modify `NumbersTable` Initialization**:
- Replaced `TableMetaBuilder` with direct `TableMeta` struct initialization in `src/table/src/table/numbers.rs`.
- **Test Result Update**:
- Updated test results in `tests/cases/standalone/common/alter/partition_and_alter.result` to reflect changes in table meta handling.
* fix: rename default to empty
* docs: add doc for TableMetaBuilder::empty
* chore: Update src/table/src/metadata.rs
---------
Co-authored-by: Yingwen <realevenyag@gmail.com>
77 lines
2.1 KiB
TOML
77 lines
2.1 KiB
TOML
[package]
|
|
name = "common-meta"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
|
|
[features]
|
|
testing = []
|
|
pg_kvbackend = ["dep:tokio-postgres", "dep:backon", "dep:deadpool-postgres", "dep:deadpool"]
|
|
mysql_kvbackend = ["dep:sqlx", "dep:backon"]
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
anymap2 = "0.13.0"
|
|
api.workspace = true
|
|
async-recursion = "1.0"
|
|
async-stream = "0.3"
|
|
async-trait.workspace = true
|
|
backon = { workspace = true, optional = true }
|
|
base64.workspace = true
|
|
bytes.workspace = true
|
|
chrono.workspace = true
|
|
common-base.workspace = true
|
|
common-catalog.workspace = true
|
|
common-error.workspace = true
|
|
common-grpc-expr.workspace = true
|
|
common-macro.workspace = true
|
|
common-procedure.workspace = true
|
|
common-procedure-test.workspace = true
|
|
common-query.workspace = true
|
|
common-recordbatch.workspace = true
|
|
common-telemetry.workspace = true
|
|
common-time.workspace = true
|
|
common-wal.workspace = true
|
|
datafusion-common.workspace = true
|
|
datafusion-expr.workspace = true
|
|
datatypes.workspace = true
|
|
deadpool = { workspace = true, optional = true }
|
|
deadpool-postgres = { workspace = true, optional = true }
|
|
derive_builder.workspace = true
|
|
etcd-client.workspace = true
|
|
futures.workspace = true
|
|
futures-util.workspace = true
|
|
hex.workspace = true
|
|
humantime-serde.workspace = true
|
|
itertools.workspace = true
|
|
lazy_static.workspace = true
|
|
moka.workspace = true
|
|
prometheus.workspace = true
|
|
prost.workspace = true
|
|
rand.workspace = true
|
|
regex.workspace = true
|
|
rskafka.workspace = true
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
serde_with.workspace = true
|
|
session.workspace = true
|
|
snafu.workspace = true
|
|
sqlx = { workspace = true, optional = true }
|
|
store-api.workspace = true
|
|
strum.workspace = true
|
|
table = { workspace = true, features = ["testing"] }
|
|
tokio.workspace = true
|
|
tokio-postgres = { workspace = true, optional = true }
|
|
tonic.workspace = true
|
|
typetag.workspace = true
|
|
|
|
[dev-dependencies]
|
|
chrono.workspace = true
|
|
common-procedure = { workspace = true, features = ["testing"] }
|
|
common-wal = { workspace = true, features = ["testing"] }
|
|
datatypes.workspace = true
|
|
hyper = { version = "0.14", features = ["full"] }
|
|
uuid.workspace = true
|