diff --git a/libs/db-browser/pom.xml b/libs/db-browser/pom.xml index be783dec24..f87790ad24 100644 --- a/libs/db-browser/pom.xml +++ b/libs/db-browser/pom.xml @@ -4,7 +4,7 @@ 4.0.0 com.oceanbase db-browser - 1.1.4 + 1.1.3 db-browser https://github.com/oceanbase/odc/tree/main/libs/db-browser diff --git a/libs/db-browser/src/main/java/com/oceanbase/tools/dbbrowser/model/DBObjectType.java b/libs/db-browser/src/main/java/com/oceanbase/tools/dbbrowser/model/DBObjectType.java index 7b2de36182..5d3297659c 100644 --- a/libs/db-browser/src/main/java/com/oceanbase/tools/dbbrowser/model/DBObjectType.java +++ b/libs/db-browser/src/main/java/com/oceanbase/tools/dbbrowser/model/DBObjectType.java @@ -24,7 +24,7 @@ public enum DBObjectType { */ SCHEMA("SCHEMA"), TABLE("TABLE"), - LOGICAL_TABLE("LOGICAL TABLE"), + // LOGICAL_TABLE("LOGICAL TABLE"), COLUMN("COLUMN"), INDEX("INDEX"), CONSTRAINT("CONSTRAINT"), diff --git a/pom.xml b/pom.xml index a21ba229d5..2640f8de73 100644 --- a/pom.xml +++ b/pom.xml @@ -93,7 +93,7 @@ 4.20.19.ALL 4.10.0 2.10.0 - 1.1.4 + 1.1.3 1.3.0 3.10.0 1.64 diff --git a/server/odc-server/src/main/java/com/oceanbase/odc/server/web/controller/v2/LogicalDatabaseController.java b/server/odc-server/src/main/java/com/oceanbase/odc/server/web/controller/v2/LogicalDatabaseController.java index a641b4d291..3ddebb9c83 100644 --- a/server/odc-server/src/main/java/com/oceanbase/odc/server/web/controller/v2/LogicalDatabaseController.java +++ b/server/odc-server/src/main/java/com/oceanbase/odc/server/web/controller/v2/LogicalDatabaseController.java @@ -20,7 +20,6 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RestController; import com.oceanbase.odc.service.common.response.Responses; import com.oceanbase.odc.service.common.response.SuccessResponse; @@ -34,7 +33,6 @@ * @Date: 2024/5/7 15:07 * @Description: [] */ -@RestController @RequestMapping("/api/v2/connect/logicaldatabase") public class LogicalDatabaseController { @Autowired diff --git a/server/odc-service/src/main/java/com/oceanbase/odc/service/connection/logicaldatabase/LogicalTableExtractTask.java b/server/odc-service/src/main/java/com/oceanbase/odc/service/connection/logicaldatabase/LogicalTableExtractTask.java index e164d7b0b1..3cca53685d 100644 --- a/server/odc-service/src/main/java/com/oceanbase/odc/service/connection/logicaldatabase/LogicalTableExtractTask.java +++ b/server/odc-service/src/main/java/com/oceanbase/odc/service/connection/logicaldatabase/LogicalTableExtractTask.java @@ -15,9 +15,7 @@ */ package com.oceanbase.odc.service.connection.logicaldatabase; -import java.util.ArrayList; import java.util.List; -import java.util.Set; import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.Lock; import java.util.stream.Collectors; @@ -30,16 +28,12 @@ import com.oceanbase.odc.metadb.connection.DatabaseRepository; import com.oceanbase.odc.metadb.connection.logicaldatabase.DatabaseMappingEntity; import com.oceanbase.odc.metadb.connection.logicaldatabase.DatabaseMappingRepository; -import com.oceanbase.odc.metadb.connection.logicaldatabase.TableMappingEntity; import com.oceanbase.odc.metadb.connection.logicaldatabase.TableMappingRepository; -import com.oceanbase.odc.metadb.dbobject.DBObjectEntity; import com.oceanbase.odc.metadb.dbobject.DBObjectRepository; import com.oceanbase.odc.service.connection.database.DatabaseService; import com.oceanbase.odc.service.connection.database.model.Database; import com.oceanbase.odc.service.connection.logicaldatabase.core.LogicalTableFinder; -import com.oceanbase.odc.service.connection.logicaldatabase.core.model.DataNode; import com.oceanbase.odc.service.connection.logicaldatabase.core.model.LogicalTable; -import com.oceanbase.tools.dbbrowser.model.DBObjectType; import lombok.NonNull; @@ -89,38 +83,5 @@ public void run() { } catch (InterruptedException e) { throw new RuntimeException(e); } - - try { - Set existedTables = dbObjectRepository.findByDatabaseIdAndType(logicalDatabase.getId(), - DBObjectType.LOGICAL_TABLE).stream().map(DBObjectEntity::getName).collect(Collectors.toSet()); - - logicalTables.stream().filter(table -> !existedTables.contains(table.getName())).forEach(table -> { - DBObjectEntity tableEntity = new DBObjectEntity(); - tableEntity.setDatabaseId(logicalDatabase.getId()); - tableEntity.setType(DBObjectType.LOGICAL_TABLE); - tableEntity.setName(table.getName()); - tableEntity.setOrganizationId(logicalDatabase.getOrganizationId()); - DBObjectEntity savedTableEntity = dbObjectRepository.save(tableEntity); - - List dataNodes = table.getActualDataNodes(); - List physicalTableEntities = new ArrayList<>(); - dataNodes.stream().forEach(dataNode -> { - TableMappingEntity physicalTableEntity = new TableMappingEntity(); - physicalTableEntity.setLogicalTableId(savedTableEntity.getId()); - physicalTableEntity.setOrganizationId(logicalDatabase.getOrganizationId()); - physicalTableEntity.setPhysicalDatabaseId(dataNode.getDatabaseId()); - physicalTableEntity.setPhysicalDatabaseName(dataNode.getSchemaName()); - physicalTableEntity.setPhysicalTableName(dataNode.getTableName()); - physicalTableEntity.setExpression(table.getFullNameExpression()); - physicalTableEntity.setConsistent(true); - physicalTableEntities.add(physicalTableEntity); - }); - tableRelationRepository.batchCreate(physicalTableEntities); - }); - } finally { - if (lock != null) { - lock.unlock(); - } - } } } diff --git a/server/odc-service/src/main/java/com/oceanbase/odc/service/connection/logicaldatabase/LogicalTableService.java b/server/odc-service/src/main/java/com/oceanbase/odc/service/connection/logicaldatabase/LogicalTableService.java index f6b65e931c..c4fa8285ae 100644 --- a/server/odc-service/src/main/java/com/oceanbase/odc/service/connection/logicaldatabase/LogicalTableService.java +++ b/server/odc-service/src/main/java/com/oceanbase/odc/service/connection/logicaldatabase/LogicalTableService.java @@ -16,18 +16,13 @@ package com.oceanbase.odc.service.connection.logicaldatabase; import java.io.StringReader; -import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; -import java.util.Map; -import java.util.Set; import java.util.stream.Collectors; import javax.validation.constraints.NotNull; -import org.apache.commons.collections.CollectionUtils; -import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.task.TaskRejectedException; import org.springframework.stereotype.Service; @@ -43,7 +38,6 @@ import com.oceanbase.odc.core.shared.exception.UnexpectedException; import com.oceanbase.odc.metadb.connection.DatabaseEntity; import com.oceanbase.odc.metadb.connection.DatabaseRepository; -import com.oceanbase.odc.metadb.connection.logicaldatabase.TableMappingEntity; import com.oceanbase.odc.metadb.connection.logicaldatabase.TableMappingRepository; import com.oceanbase.odc.metadb.dbobject.DBObjectEntity; import com.oceanbase.odc.metadb.dbobject.DBObjectRepository; @@ -56,7 +50,6 @@ import com.oceanbase.odc.service.iam.ProjectPermissionValidator; import com.oceanbase.odc.service.iam.auth.AuthenticationFacade; import com.oceanbase.odc.service.permission.DBResourcePermissionHelper; -import com.oceanbase.tools.dbbrowser.model.DBObjectType; import com.oceanbase.tools.sqlparser.SyntaxErrorException; import lombok.extern.slf4j.Slf4j; @@ -101,37 +94,7 @@ public List list(@NotNull Long logicalDatabaseId) { Verify.equals(DatabaseType.LOGICAL, logicalDatabase.getType(), "database type"); projectPermissionValidator.checkProjectRole(logicalDatabase.getProjectId(), ResourceRoleName.all()); - List logicalTables = - dbObjectRepository.findByDatabaseIdAndType(logicalDatabaseId, DBObjectType.LOGICAL_TABLE); - - - Set logicalTableIds = logicalTables.stream().map(DBObjectEntity::getId).collect(Collectors.toSet()); - if (CollectionUtils.isEmpty(logicalTableIds)) { - return Collections.emptyList(); - } - Map> logicalTbId2Mappings = - mappingRepository.findByLogicalTableIdIn(logicalTableIds).stream() - .collect(Collectors.groupingBy(TableMappingEntity::getLogicalTableId)); - - - return logicalTables.stream().map(tableEntity -> { - DetailLogicalTableResp resp = new DetailLogicalTableResp(); - List relations = - logicalTbId2Mappings.getOrDefault(tableEntity.getId(), Collections.emptyList()); - resp.setId(tableEntity.getId()); - resp.setName(tableEntity.getName()); - resp.setExpression(relations.isEmpty() ? StringUtils.EMPTY : relations.get(0).getExpression()); - resp.setPhysicalTableCount(relations.size()); - List inconsistentPhysicalTables = new ArrayList<>(); - relations.stream().filter(relation -> !relation.getConsistent()).forEach(relation -> { - DataNode dataNode = new DataNode(); - dataNode.setSchemaName(relation.getPhysicalDatabaseName()); - dataNode.setTableName(relation.getPhysicalTableName()); - inconsistentPhysicalTables.add(dataNode); - }); - resp.setInconsistentPhysicalTables(inconsistentPhysicalTables); - return resp; - }).collect(Collectors.toList()); + return Collections.singletonList(new DetailLogicalTableResp()); } @Transactional(rollbackFor = Exception.class)