mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2026-09-09 15:02:19 +00:00
* chore: gate soft-drop table behind the enterprise feature Soft-drop table becomes an enterprise-only feature: - metasrv rejects gc.experimental_soft_drop.enable=true at startup in non-enterprise builds, and ddl_soft_drop_enabled is hard-disabled without the enterprise feature as a second line of defense - the UNDROP TABLE parser/AST/statement variant, ADMIN purge_table() registration, and information_schema.recycle_bin registration are compiled out unless the enterprise feature is enabled - common-meta procedures, tombstone keys, and DdlTask serde stay unconditional for persisted-procedure recovery and wire compatibility - the [gc.experimental_soft_drop] section is removed from the OSS example config and generated docs (moving to the enterprise repo) - the soft-drop sqlness cases and their CI job are removed from OSS (moving to the enterprise repo); affected information_schema .result files are regenerated Signed-off-by: Lei, HUANG <ratuthomm@gmail.com> * refactor: limit unused_variables allow to non-enterprise builds Addresses review comment: apply the allow via cfg_attr so enterprise builds still catch accidental unused variables in register_admin_only. Signed-off-by: Lei, HUANG <ratuthomm@gmail.com> * refactor: include the config key in the soft-drop enterprise gate error Addresses review comment: name gc.experimental_soft_drop.enable in the startup validation error so users can locate the setting quickly when it is set via env vars or layered config. Signed-off-by: Lei, HUANG <ratuthomm@gmail.com> * test: limit unused_mut allow to non-enterprise builds Addresses review comment: apply the allow via cfg_attr so enterprise builds still catch unused mut in the table_ddl_event test setup. Signed-off-by: Lei, HUANG <ratuthomm@gmail.com> * feat: reject soft-drop DDL submissions in non-enterprise builds Addresses review comment: clients could bypass the SQL-level gates by submitting DdlTask::UndropTable or DdlTask::PurgeDroppedTable directly to the procedure service. Reject fresh submissions at the DdlManager boundary in non-enterprise builds while keeping the procedure loaders registered for crash recovery and wire compatibility. Signed-off-by: Lei, HUANG <ratuthomm@gmail.com> * test: stop --enable-gc from enabling soft drop in the sqlness template Addresses review comment: the metasrv test template rendered [gc.experimental_soft_drop] enable = true under the generic --enable-gc flag, which non-enterprise metasrv now rejects at startup, making the documented --enable-gc mode unusable in OSS. Keep the flag scoped to plain GC; enterprise soft-drop coverage moves to the enterprise repo. Signed-off-by: Lei, HUANG <ratuthomm@gmail.com> * fix: gate fresh soft-drop procedures Signed-off-by: Lei, HUANG <ratuthomm@gmail.com> * test: gate soft-drop fallback coverage Signed-off-by: Lei, HUANG <ratuthomm@gmail.com> * fix: gate soft-drop procedure implementation Signed-off-by: Lei, HUANG <ratuthomm@gmail.com> * refactor: gate drop table soft-drop behavior Signed-off-by: Lei, HUANG <ratuthomm@gmail.com> * refactor: gate expired soft-drop gc behavior Signed-off-by: Lei, HUANG <ratuthomm@gmail.com> * ci: test enterprise table ddl lifecycle Signed-off-by: Lei, HUANG <ratuthomm@gmail.com> * chore: mark purge_table as enterprise licensed The purge_table module is compiled only with the enterprise feature, so apply the Enterprise License header and register it with both license header configurations. Signed-off-by: Lei, HUANG <ratuthomm@gmail.com> * chore: mark recycle_bin as enterprise licensed The recycle_bin module is compiled only with the enterprise feature, so apply the Enterprise License header and register it with both license header configurations. Signed-off-by: Lei, HUANG <ratuthomm@gmail.com> * chore: mark soft-drop procedure sources as enterprise licensed The purge and undrop procedure implementations plus the recycle-bin test module compile only with the enterprise feature. Apply the Enterprise License header and register them with both license configurations. Signed-off-by: Lei, HUANG <ratuthomm@gmail.com> --------- Signed-off-by: Lei, HUANG <ratuthomm@gmail.com>
89 lines
2.2 KiB
TOML
89 lines
2.2 KiB
TOML
[package]
|
|
name = "operator"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
|
|
[features]
|
|
testing = []
|
|
enterprise = [
|
|
"common-meta/enterprise",
|
|
"sql/enterprise",
|
|
"query/enterprise",
|
|
"prost-types",
|
|
"catalog/enterprise",
|
|
"common-function/enterprise",
|
|
]
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
ahash.workspace = true
|
|
api.workspace = true
|
|
arrow.workspace = true
|
|
arrow-ipc.workspace = true
|
|
async-stream.workspace = true
|
|
async-trait.workspace = true
|
|
bytes.workspace = true
|
|
catalog.workspace = true
|
|
chrono.workspace = true
|
|
client.workspace = true
|
|
common-base.workspace = true
|
|
common-catalog.workspace = true
|
|
common-datasource.workspace = true
|
|
common-error.workspace = true
|
|
common-frontend.workspace = true
|
|
common-function.workspace = true
|
|
common-grpc.workspace = true
|
|
common-grpc-expr.workspace = true
|
|
common-macro.workspace = true
|
|
common-meta.workspace = true
|
|
common-query.workspace = true
|
|
common-recordbatch.workspace = true
|
|
common-runtime.workspace = true
|
|
common-sql.workspace = true
|
|
common-stat.workspace = true
|
|
common-telemetry.workspace = true
|
|
common-time.workspace = true
|
|
datafusion.workspace = true
|
|
datafusion-common.workspace = true
|
|
datafusion-expr.workspace = true
|
|
datatypes.workspace = true
|
|
file-engine.workspace = true
|
|
futures.workspace = true
|
|
futures-util.workspace = true
|
|
humantime.workspace = true
|
|
itertools.workspace = true
|
|
jsonb.workspace = true
|
|
lazy_static.workspace = true
|
|
meta-client.workspace = true
|
|
meter-core.workspace = true
|
|
meter-macros.workspace = true
|
|
moka = { workspace = true, features = ["future"] }
|
|
object-store.workspace = true
|
|
partition.workspace = true
|
|
prometheus.workspace = true
|
|
prost.workspace = true
|
|
prost-types = { workspace = true, optional = true }
|
|
query.workspace = true
|
|
regex.workspace = true
|
|
serde_json.workspace = true
|
|
session.workspace = true
|
|
snafu.workspace = true
|
|
sql.workspace = true
|
|
sqlparser.workspace = true
|
|
store-api.workspace = true
|
|
substrait.workspace = true
|
|
table.workspace = true
|
|
tokio.workspace = true
|
|
tokio-util.workspace = true
|
|
tonic.workspace = true
|
|
tracing.workspace = true
|
|
|
|
[dev-dependencies]
|
|
catalog = { workspace = true, features = ["testing"] }
|
|
common-meta = { workspace = true, features = ["testing"] }
|
|
common-test-util.workspace = true
|
|
path-slash = "0.2"
|