From 1df2d46d8116cbc59c07251ceaee62cb6ad7a996 Mon Sep 17 00:00:00 2001 From: linbangquan <1437892690@qq.com> Date: Wed, 15 Nov 2023 18:31:17 +0800 Subject: [PATCH 1/4] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=20SQL=E8=AF=AD?= =?UTF-8?q?=E5=8F=A5=E9=80=82=E9=85=8DTiDB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 关联 #[1024432422748160]SQL语句适配TiDB http://192.168.0.96:8090/demo/rdm.html#/task-detail/939050947543040/939050947543050/1024432422748160 --- .../dao/mapper/cientity/CiEntityMapper.xml | 5 ++-- .../ResourceCenterResourceServiceImpl.java | 24 ++++++++++++++----- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/src/main/java/neatlogic/module/cmdb/dao/mapper/cientity/CiEntityMapper.xml b/src/main/java/neatlogic/module/cmdb/dao/mapper/cientity/CiEntityMapper.xml index e832fb76..424d3f6a 100644 --- a/src/main/java/neatlogic/module/cmdb/dao/mapper/cientity/CiEntityMapper.xml +++ b/src/main/java/neatlogic/module/cmdb/dao/mapper/cientity/CiEntityMapper.xml @@ -1361,7 +1361,7 @@ DELETE - a,b,c,d,e,f + a,b,c,e,f FROM cmdb_cientity a LEFT JOIN cmdb_attrentity b ON a.id = @@ -1369,8 +1369,7 @@ LEFT JOIN cmdb_relentity c ON a.id = c.`from_cientity_id` - LEFT JOIN cmdb_relentity d - ON a.id = + OR a.id = c.`to_cientity_id` LEFT JOIN cmdb_cientity_group e ON a.id = diff --git a/src/main/java/neatlogic/module/cmdb/service/resourcecenter/resource/ResourceCenterResourceServiceImpl.java b/src/main/java/neatlogic/module/cmdb/service/resourcecenter/resource/ResourceCenterResourceServiceImpl.java index 61a15802..0a62a9f2 100644 --- a/src/main/java/neatlogic/module/cmdb/service/resourcecenter/resource/ResourceCenterResourceServiceImpl.java +++ b/src/main/java/neatlogic/module/cmdb/service/resourcecenter/resource/ResourceCenterResourceServiceImpl.java @@ -16,6 +16,8 @@ package neatlogic.module.cmdb.service.resourcecenter.resource; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import neatlogic.framework.asynchronization.threadlocal.TenantContext; import neatlogic.framework.asynchronization.threadlocal.UserContext; import neatlogic.framework.cmdb.dto.ci.AttrVo; @@ -34,9 +36,12 @@ import neatlogic.framework.cmdb.exception.resourcecenter.AppModuleNotFoundExcept import neatlogic.framework.cmdb.exception.resourcecenter.AppSystemNotFoundException; import neatlogic.framework.cmdb.exception.resourcecenter.ResourceViewFieldMappingException; import neatlogic.framework.cmdb.utils.ResourceViewGenerateSqlUtil; +import neatlogic.framework.cmdb.utils.ResourceViewGenerateSqlUtilForTiDB; import neatlogic.framework.dao.mapper.DataBaseViewInfoMapper; import neatlogic.framework.dao.mapper.SchemaMapper; import neatlogic.framework.dto.DataBaseViewInfoVo; +import neatlogic.framework.store.mysql.DatabaseVendor; +import neatlogic.framework.store.mysql.DatasourceManager; import neatlogic.framework.transaction.core.EscapeTransactionJob; import neatlogic.framework.util.Md5Util; import neatlogic.framework.util.TableResultUtil; @@ -47,8 +52,6 @@ import neatlogic.module.cmdb.dao.mapper.resourcecenter.ResourceAccountMapper; import neatlogic.module.cmdb.dao.mapper.resourcecenter.ResourceEntityMapper; import neatlogic.module.cmdb.dao.mapper.resourcecenter.ResourceMapper; import neatlogic.module.cmdb.dao.mapper.resourcecenter.ResourceTagMapper; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; import neatlogic.module.cmdb.utils.ResourceEntityFactory; import net.sf.jsqlparser.schema.Table; import net.sf.jsqlparser.statement.create.table.ColDataType; @@ -634,9 +637,17 @@ public class ResourceCenterResourceServiceImpl implements IResourceCenterResourc } catch (ResourceViewFieldMappingException e) { return e.getMessage(); } - ResourceViewGenerateSqlUtil resourceViewGenerateSqlUtil = new ResourceViewGenerateSqlUtil(config); - String selectSql = resourceViewGenerateSqlUtil.getSql(); - String md5 = Md5Util.encryptMD5(selectSql); + String select = null; + if (Objects.equals(DatasourceManager.getDatabaseId(), DatabaseVendor.TIDB.getAlias())) { + ResourceViewGenerateSqlUtilForTiDB resourceViewGenerateSqlUtil2 = new ResourceViewGenerateSqlUtilForTiDB(config); + select = resourceViewGenerateSqlUtil2.getSql(); + System.out.println(viewName + "1 = " + select); + } else { + ResourceViewGenerateSqlUtil resourceViewGenerateSqlUtil = new ResourceViewGenerateSqlUtil(config); + select = resourceViewGenerateSqlUtil.getSql(); + System.out.println(viewName + "2 = " + select); + } + String md5 = Md5Util.encryptMD5(select); String tableType = schemaMapper.checkTableOrViewIsExists(TenantContext.get().getDataDbName(), viewName); if (tableType != null) { if (Objects.equals(tableType, "SYSTEM VIEW")) { @@ -646,12 +657,13 @@ public class ResourceCenterResourceServiceImpl implements IResourceCenterResourc if (dataBaseViewInfoVo != null) { // md5相同就不用更新视图了 if (Objects.equals(md5, dataBaseViewInfoVo.getMd5())) { - return StringUtils.EMPTY; +// return StringUtils.EMPTY; } } } } try { + String selectSql = select; EscapeTransactionJob.State s = new EscapeTransactionJob(() -> { if (Objects.equals(tableType, "BASE TABLE")) { schemaMapper.deleteTable(TenantContext.get().getDataDbName() + "." + viewName); -- Gitee From e8fe4bdf2f4b8f45c9a8185ea59f64a639dbf0fa Mon Sep 17 00:00:00 2001 From: linbangquan <1437892690@qq.com> Date: Wed, 15 Nov 2023 18:33:20 +0800 Subject: [PATCH 2/4] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=20SQL=E8=AF=AD?= =?UTF-8?q?=E5=8F=A5=E9=80=82=E9=85=8DTiDB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 关联 #[1024432422748160]SQL语句适配TiDB http://192.168.0.96:8090/demo/rdm.html#/task-detail/939050947543040/939050947543050/1024432422748160 --- .../resource/ResourceCenterResourceServiceImpl.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/main/java/neatlogic/module/cmdb/service/resourcecenter/resource/ResourceCenterResourceServiceImpl.java b/src/main/java/neatlogic/module/cmdb/service/resourcecenter/resource/ResourceCenterResourceServiceImpl.java index 0a62a9f2..3386e9ac 100644 --- a/src/main/java/neatlogic/module/cmdb/service/resourcecenter/resource/ResourceCenterResourceServiceImpl.java +++ b/src/main/java/neatlogic/module/cmdb/service/resourcecenter/resource/ResourceCenterResourceServiceImpl.java @@ -641,11 +641,9 @@ public class ResourceCenterResourceServiceImpl implements IResourceCenterResourc if (Objects.equals(DatasourceManager.getDatabaseId(), DatabaseVendor.TIDB.getAlias())) { ResourceViewGenerateSqlUtilForTiDB resourceViewGenerateSqlUtil2 = new ResourceViewGenerateSqlUtilForTiDB(config); select = resourceViewGenerateSqlUtil2.getSql(); - System.out.println(viewName + "1 = " + select); } else { ResourceViewGenerateSqlUtil resourceViewGenerateSqlUtil = new ResourceViewGenerateSqlUtil(config); select = resourceViewGenerateSqlUtil.getSql(); - System.out.println(viewName + "2 = " + select); } String md5 = Md5Util.encryptMD5(select); String tableType = schemaMapper.checkTableOrViewIsExists(TenantContext.get().getDataDbName(), viewName); @@ -657,7 +655,7 @@ public class ResourceCenterResourceServiceImpl implements IResourceCenterResourc if (dataBaseViewInfoVo != null) { // md5相同就不用更新视图了 if (Objects.equals(md5, dataBaseViewInfoVo.getMd5())) { -// return StringUtils.EMPTY; + return StringUtils.EMPTY; } } } -- Gitee From 672376d79101b3bad591fb4565ecb2f992a7df7a Mon Sep 17 00:00:00 2001 From: linbangquan <1437892690@qq.com> Date: Wed, 15 Nov 2023 18:35:34 +0800 Subject: [PATCH 3/4] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=20SQL=E8=AF=AD?= =?UTF-8?q?=E5=8F=A5=E9=80=82=E9=85=8DTiDB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 关联 #[1024432422748160]SQL语句适配TiDB http://192.168.0.96:8090/demo/rdm.html#/task-detail/939050947543040/939050947543050/1024432422748160 --- .../resource/ResourceCenterResourceServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/neatlogic/module/cmdb/service/resourcecenter/resource/ResourceCenterResourceServiceImpl.java b/src/main/java/neatlogic/module/cmdb/service/resourcecenter/resource/ResourceCenterResourceServiceImpl.java index 3386e9ac..de12f79c 100644 --- a/src/main/java/neatlogic/module/cmdb/service/resourcecenter/resource/ResourceCenterResourceServiceImpl.java +++ b/src/main/java/neatlogic/module/cmdb/service/resourcecenter/resource/ResourceCenterResourceServiceImpl.java @@ -638,7 +638,7 @@ public class ResourceCenterResourceServiceImpl implements IResourceCenterResourc return e.getMessage(); } String select = null; - if (Objects.equals(DatasourceManager.getDatabaseId(), DatabaseVendor.TIDB.getAlias())) { + if (Objects.equals(DatasourceManager.getDatabaseId(), DatabaseVendor.TIDB.getDatabaseId())) { ResourceViewGenerateSqlUtilForTiDB resourceViewGenerateSqlUtil2 = new ResourceViewGenerateSqlUtilForTiDB(config); select = resourceViewGenerateSqlUtil2.getSql(); } else { -- Gitee From f78595f51b9758bff1655faf1f0b9c2439891e20 Mon Sep 17 00:00:00 2001 From: linbangquan <1437892690@qq.com> Date: Wed, 15 Nov 2023 18:37:42 +0800 Subject: [PATCH 4/4] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=20SQL=E8=AF=AD?= =?UTF-8?q?=E5=8F=A5=E9=80=82=E9=85=8DTiDB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 关联 #[1024432422748160]SQL语句适配TiDB http://192.168.0.96:8090/demo/rdm.html#/task-detail/939050947543040/939050947543050/1024432422748160 --- .../resource/ResourceCenterResourceServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/neatlogic/module/cmdb/service/resourcecenter/resource/ResourceCenterResourceServiceImpl.java b/src/main/java/neatlogic/module/cmdb/service/resourcecenter/resource/ResourceCenterResourceServiceImpl.java index de12f79c..3e6f8773 100644 --- a/src/main/java/neatlogic/module/cmdb/service/resourcecenter/resource/ResourceCenterResourceServiceImpl.java +++ b/src/main/java/neatlogic/module/cmdb/service/resourcecenter/resource/ResourceCenterResourceServiceImpl.java @@ -639,8 +639,8 @@ public class ResourceCenterResourceServiceImpl implements IResourceCenterResourc } String select = null; if (Objects.equals(DatasourceManager.getDatabaseId(), DatabaseVendor.TIDB.getDatabaseId())) { - ResourceViewGenerateSqlUtilForTiDB resourceViewGenerateSqlUtil2 = new ResourceViewGenerateSqlUtilForTiDB(config); - select = resourceViewGenerateSqlUtil2.getSql(); + ResourceViewGenerateSqlUtilForTiDB resourceViewGenerateSqlUtilForTiDB = new ResourceViewGenerateSqlUtilForTiDB(config); + select = resourceViewGenerateSqlUtilForTiDB.getSql(); } else { ResourceViewGenerateSqlUtil resourceViewGenerateSqlUtil = new ResourceViewGenerateSqlUtil(config); select = resourceViewGenerateSqlUtil.getSql(); -- Gitee