fix(oceanbase): preserve partition DDL and toggle storage options

This commit is contained in:
efeire authored and GitHub committed 2026-09-18 01:59:42 +08:00
1 parent 8eba12ea2f
commit fe0dd02f2b
36 files changed
+870 -125

No files matched your search

@@ -147,6 +147,14 @@ public interface DatabaseAgent {
List<TriggerInfo> listTriggers(String schema, String table);
default List<PartitionInfo> listPartitions(String schema, String table) {
return Collections.emptyList();
}
default List<PartitionInfo> listSubpartitions(String schema, String table) {
return Collections.emptyList();
}
default QueryResult executeQuery(String sql, String schema) {
return executeQuery(sql, schema, new ExecuteQueryOptions());
}
@@ -246,6 +246,14 @@ public final class JsonRpcServer {
switchCatalog(params);
return agent.listTriggers(params.get("schema").getAsString(), params.get("table").getAsString());
}
if (AgentProtocol.METHOD_LIST_PARTITIONS.equals(method)) {
switchCatalog(params);
return agent.listPartitions(params.get("schema").getAsString(), params.get("table").getAsString());
}
if (AgentProtocol.METHOD_LIST_SUBPARTITIONS.equals(method)) {
switchCatalog(params);
return agent.listSubpartitions(params.get("schema").getAsString(), params.get("table").getAsString());
}
if (AgentProtocol.METHOD_EXECUTE_QUERY.equals(method)) {
return agent.executeQuery(
params.get("sql").getAsString(),
@@ -0,0 +1,5 @@
package com.dbx.agent;
/** Shared wire shape for partition and subpartition metadata. */
public record PartitionInfo(String name, int position, String value, String partition_type, String partition_key) {
}