瀏覽代碼

Merge remote-tracking branch 'remotes/origin/V_1.0.0_Beta' into yjwang

AE86 2 年之前
父節點
當前提交
ee65f6decd

+ 1 - 1
dbsyncer-connector/src/main/java/org/dbsyncer/connector/AutoConfiguration.java → dbsyncer-connector/src/main/java/org/dbsyncer/connector/ConnectorConfiguration.java

@@ -9,7 +9,7 @@ import org.springframework.context.annotation.Configuration;
  * @date 2019/9/19 23:17
  */
 @Configuration
-public class AutoConfiguration {
+public class ConnectorConfiguration {
 
     @Bean
     public ConnectorFactory connectorFactory() {

+ 2 - 1
dbsyncer-connector/src/main/java/org/dbsyncer/connector/sqlserver/SqlServerConnector.java

@@ -33,7 +33,8 @@ public final class SqlServerConnector extends AbstractDatabaseConnector {
     protected String getQueryCountSql(CommandConfig commandConfig, String schema, String quotation, String queryFilterSql) {
         // 有过滤条件,走默认方式
         if (StringUtil.isNotBlank(queryFilterSql)) {
-            return super.getQueryCountSql(commandConfig, schema, quotation, queryFilterSql);
+            String table = commandConfig.getTable().getName();
+            return new StringBuilder("SELECT COUNT(1) FROM ").append(schema).append(quotation).append(table).append(quotation).append(queryFilterSql).toString();
         }
 
         String table = commandConfig.getTable().getName();

+ 1 - 1
dbsyncer-connector/src/main/resources/META-INF/spring.factories

@@ -1,3 +1,3 @@
 # 在这里开启自动状态,遵循spring 扫描规则
 org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
-org.dbsyncer.connector.AutoConfiguration
+org.dbsyncer.connector.ConnectorConfiguration

+ 1 - 1
dbsyncer-parser/src/main/java/org/dbsyncer/parser/config/ParserStrategyConfiguration.java → dbsyncer-parser/src/main/java/org/dbsyncer/parser/ParserStrategyConfiguration.java

@@ -1,4 +1,4 @@
-package org.dbsyncer.parser.config;
+package org.dbsyncer.parser;
 
 import org.dbsyncer.parser.strategy.FlushStrategy;
 import org.dbsyncer.parser.strategy.ParserStrategy;

+ 21 - 0
dbsyncer-parser/src/main/java/org/dbsyncer/parser/convert/handler/NumberToStringHandler.java

@@ -0,0 +1,21 @@
+package org.dbsyncer.parser.convert.handler;
+
+import org.dbsyncer.parser.convert.AbstractHandler;
+
+import java.sql.Timestamp;
+
+/**
+ * Number转String
+ *
+ * @author AE86
+ * @version 1.0.0
+ * @date 2022/7/20 23:04
+ */
+public class NumberToStringHandler extends AbstractHandler {
+
+    @Override
+    public Object convert(String args, Object value) {
+        return String.valueOf(value);
+    }
+
+}

+ 4 - 0
dbsyncer-parser/src/main/java/org/dbsyncer/parser/enums/ConvertEnum.java

@@ -46,6 +46,10 @@ public enum ConvertEnum {
      * String转Timestamp
      */
     STRING_TO_TIMESTAMP("STRING_TO_TIMESTAMP", "String转Timestamp", 0, new StringToTimestampHandler()),
+    /**
+     * Number转String
+     */
+    NUMBER_TO_STRING("NUMBER_TO_STRING", "Number转String", 0, new NumberToStringHandler()),
     /**
      * Byte[]转String
      */

+ 1 - 2
dbsyncer-storage/src/main/java/org/dbsyncer/storage/config/StorageSupportConfiguration.java → dbsyncer-storage/src/main/java/org/dbsyncer/storage/StorageSupportConfiguration.java

@@ -1,6 +1,5 @@
-package org.dbsyncer.storage.config;
+package org.dbsyncer.storage;
 
-import org.dbsyncer.storage.StorageService;
 import org.dbsyncer.storage.support.DiskStorageServiceImpl;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
 import org.springframework.context.annotation.Bean;

+ 0 - 38
dbsyncer-storage/src/main/java/org/dbsyncer/storage/binlog/AbstractBinlogActuator.java

@@ -1,38 +0,0 @@
-package org.dbsyncer.storage.binlog;
-
-import org.dbsyncer.storage.enums.BinlogStatusEnum;
-import org.dbsyncer.storage.model.BinlogIndex;
-
-import java.time.LocalDateTime;
-
-public abstract class AbstractBinlogActuator implements BinlogActuator {
-
-    private BinlogIndex binlogIndex;
-
-    private BinlogStatusEnum status = BinlogStatusEnum.RUNNING;
-
-    protected void initBinlogIndex(BinlogIndex binlogIndex) {
-        binlogIndex.addLock(this);
-        this.binlogIndex = binlogIndex;
-    }
-
-    protected void refreshBinlogIndexUpdateTime() {
-        binlogIndex.setUpdateTime(LocalDateTime.now());
-    }
-
-    @Override
-    public String getFileName() {
-        return binlogIndex.getFileName();
-    }
-
-    @Override
-    public boolean isRunning() {
-        return status == BinlogStatusEnum.RUNNING;
-    }
-
-    @Override
-    public void stop() {
-        this.status = BinlogStatusEnum.STOP;
-    }
-
-}

+ 0 - 30
dbsyncer-storage/src/main/java/org/dbsyncer/storage/binlog/BinlogActuator.java

@@ -1,30 +0,0 @@
-package org.dbsyncer.storage.binlog;
-
-import java.io.Closeable;
-
-/**
- * @author AE86
- * @version 1.0.0
- * @date 2022/6/26 23:23
- */
-public interface BinlogActuator extends Closeable {
-
-    /**
-     * 获取索引文件名
-     *
-     * @return
-     */
-    String getFileName();
-
-    /**
-     * 状态是否为运行中
-     *
-     * @return
-     */
-    boolean isRunning();
-
-    /**
-     * 标记为停止状态
-     */
-    void stop();
-}

+ 0 - 29
dbsyncer-storage/src/main/java/org/dbsyncer/storage/model/BinlogConfig.java

@@ -1,29 +0,0 @@
-package org.dbsyncer.storage.model;
-
-/**
- * @author AE86
- * @version 1.0.0
- * @date 2022/6/19 23:03
- */
-public final class BinlogConfig {
-    private String fileName;
-    private long position = 0;
-
-    public String getFileName() {
-        return fileName;
-    }
-
-    public BinlogConfig setFileName(String fileName) {
-        this.fileName = fileName;
-        return this;
-    }
-
-    public long getPosition() {
-        return position;
-    }
-
-    public BinlogConfig setPosition(long position) {
-        this.position = position;
-        return this;
-    }
-}

+ 0 - 70
dbsyncer-storage/src/main/java/org/dbsyncer/storage/model/BinlogIndex.java

@@ -1,70 +0,0 @@
-package org.dbsyncer.storage.model;
-
-import org.dbsyncer.storage.binlog.BinlogActuator;
-
-import java.io.IOException;
-import java.time.LocalDateTime;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-
-/**
- * @author AE86
- * @version 1.0.0
- * @date 2022/6/26 22:48
- */
-public class BinlogIndex {
-    private String fileName;
-    private Set<BinlogActuator> lock;
-    private LocalDateTime createTime;
-    private LocalDateTime updateTime;
-
-    public BinlogIndex(String fileName, LocalDateTime createTime) {
-        this.fileName = fileName;
-        this.lock = new HashSet<>();
-        this.createTime = createTime;
-        this.updateTime = LocalDateTime.now();
-    }
-
-    public void addLock(BinlogActuator binlogActuator) {
-        this.lock.add(binlogActuator);
-    }
-
-    public void removeAllLock() throws IOException {
-        Iterator<BinlogActuator> iterator = lock.iterator();
-        while (iterator.hasNext()){
-            BinlogActuator next = iterator.next();
-            next.close();
-            iterator.remove();
-        }
-    }
-
-    public boolean isRunning() {
-        for (BinlogActuator actuator : lock){
-            if(actuator.isRunning()){
-                return true;
-            }
-        }
-        return false;
-    }
-
-    public boolean isFreeLock() {
-        return lock.isEmpty();
-    }
-
-    public String getFileName() {
-        return fileName;
-    }
-
-    public LocalDateTime getCreateTime() {
-        return createTime;
-    }
-
-    public LocalDateTime getUpdateTime() {
-        return updateTime;
-    }
-
-    public void setUpdateTime(LocalDateTime updateTime) {
-        this.updateTime = updateTime;
-    }
-}