diff --git a/src/main/java/com/actiontech/dble/services/manager/information/ManagerSchemaInfo.java b/src/main/java/com/actiontech/dble/services/manager/information/ManagerSchemaInfo.java index b91f66530..ff7dfec5c 100644 --- a/src/main/java/com/actiontech/dble/services/manager/information/ManagerSchemaInfo.java +++ b/src/main/java/com/actiontech/dble/services/manager/information/ManagerSchemaInfo.java @@ -37,6 +37,7 @@ public final class ManagerSchemaInfo { registerTable(new DbleFrontConnections()); registerTable(new DbleBackendConnections()); registerTable(new DbleShardingNode()); + registerTable(new DbleApNode()); registerTable(new DbleSchema()); registerTable(new DbleThreadUsage()); registerTable(new DbleEntry()); diff --git a/src/main/java/com/actiontech/dble/services/manager/information/tables/DbleApNode.java b/src/main/java/com/actiontech/dble/services/manager/information/tables/DbleApNode.java new file mode 100644 index 000000000..e990b87a3 --- /dev/null +++ b/src/main/java/com/actiontech/dble/services/manager/information/tables/DbleApNode.java @@ -0,0 +1,58 @@ +/* + * Copyright (C) 2016-2023 ActionTech. + * License: http://www.gnu.org/licenses/gpl.html GPL version 2 or higher. + */ + +package com.actiontech.dble.services.manager.information.tables; + +import com.actiontech.dble.DbleServer; +import com.actiontech.dble.backend.datasource.ApNode; +import com.actiontech.dble.config.Fields; +import com.actiontech.dble.meta.ColumnMeta; +import com.actiontech.dble.services.manager.information.ManagerBaseTable; +import com.google.common.collect.Maps; + +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; +import java.util.stream.Collectors; + +public class DbleApNode extends ManagerBaseTable { + + public static final String TABLE_NAME = "dble_ap_node"; + + private static final String COLUMN_NAME = "name"; + + public static final String COLUMN_DB_GROUP = "db_group"; + + private static final String COLUMN_DB_SCHEMA = "db_schema"; + + public DbleApNode() { + super(TABLE_NAME, 3); + } + + @Override + protected void initColumnAndType() { + columns.put(COLUMN_NAME, new ColumnMeta(COLUMN_NAME, "varchar(64)", false, true)); + columnsType.put(COLUMN_NAME, Fields.FIELD_TYPE_VAR_STRING); + + columns.put(COLUMN_DB_GROUP, new ColumnMeta(COLUMN_DB_GROUP, "varchar(64)", false)); + columnsType.put(COLUMN_DB_GROUP, Fields.FIELD_TYPE_VAR_STRING); + + columns.put(COLUMN_DB_SCHEMA, new ColumnMeta(COLUMN_DB_SCHEMA, "varchar(64)", false)); + columnsType.put(COLUMN_DB_SCHEMA, Fields.FIELD_TYPE_VAR_STRING); + } + + @Override + protected List> getRows() { + Map apNodeMap = new TreeMap<>(DbleServer.getInstance().getConfig().getApNodes()); + return apNodeMap.values().stream().map(e -> { + LinkedHashMap map = Maps.newLinkedHashMap(); + map.put(COLUMN_NAME, e.getName()); + map.put(COLUMN_DB_GROUP, e.getDbGroupName()); + map.put(COLUMN_DB_SCHEMA, e.getDatabase()); + return map; + }).collect(Collectors.toList()); + } +} diff --git a/src/main/java/com/actiontech/dble/services/manager/information/tables/DbleSchema.java b/src/main/java/com/actiontech/dble/services/manager/information/tables/DbleSchema.java index 03c0ecc21..6c000d64a 100644 --- a/src/main/java/com/actiontech/dble/services/manager/information/tables/DbleSchema.java +++ b/src/main/java/com/actiontech/dble/services/manager/information/tables/DbleSchema.java @@ -25,12 +25,14 @@ public class DbleSchema extends ManagerBaseTable { private static final String COLUMN_FUNCTION = "function"; + private static final String COLUMN_AP_NODE = "ap_node"; + private static final String COLUMN_SQL_MAX_LIMIT = "sql_max_limit"; private static final String COLUMN_LOGICAL_CREATE_AND_DROP = "logical_create_and_drop"; public DbleSchema() { - super(TABLE_NAME, 5); + super(TABLE_NAME, 6); } @Override @@ -44,6 +46,9 @@ public class DbleSchema extends ManagerBaseTable { columns.put(COLUMN_FUNCTION, new ColumnMeta(COLUMN_FUNCTION, "varchar(64)", true)); columnsType.put(COLUMN_FUNCTION, Fields.FIELD_TYPE_VAR_STRING); + columns.put(COLUMN_AP_NODE, new ColumnMeta(COLUMN_AP_NODE, "varchar(64)", true)); + columnsType.put(COLUMN_AP_NODE, Fields.FIELD_TYPE_VAR_STRING); + columns.put(COLUMN_SQL_MAX_LIMIT, new ColumnMeta(COLUMN_SQL_MAX_LIMIT, "int(11)", true)); columnsType.put(COLUMN_SQL_MAX_LIMIT, Fields.FIELD_TYPE_LONG); @@ -60,6 +65,7 @@ public class DbleSchema extends ManagerBaseTable { map.put(COLUMN_NAME, e.getName()); map.put(COLUMN_SHARDING_NODE, e.getDefaultShardingNodes() == null ? null : String.join(",", e.getDefaultShardingNodes())); map.put(COLUMN_FUNCTION, e.getFunction() == null ? "-" : e.getFunction().getName()); + map.put(COLUMN_AP_NODE, e.getDefaultApNode()); map.put(COLUMN_SQL_MAX_LIMIT, String.valueOf(e.getDefaultMaxLimit())); map.put(COLUMN_LOGICAL_CREATE_AND_DROP, e.isLogicalCreateADrop() + ""); return map;