This is an automated email from the ASF dual-hosted git repository.

dockerzhang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/inlong.git


The following commit(s) were added to refs/heads/master by this push:
     new e639bd56a3 [INLONG-10742][Agent] Set the formatting of unix timestamp 
for SQLServerSource as optional (#10743)
e639bd56a3 is described below

commit e639bd56a30edccdaaf442976563e37358a10283
Author: zoy0 <[email protected]>
AuthorDate: Mon Aug 5 10:38:42 2024 +0800

    [INLONG-10742][Agent] Set the formatting of unix timestamp for 
SQLServerSource as optional (#10743)
---
 .../org/apache/inlong/agent/constant/TaskConstants.java  |  2 ++
 .../java/org/apache/inlong/agent/pojo/SqlServerTask.java |  2 ++
 .../org/apache/inlong/agent/pojo/TaskProfileDto.java     |  1 +
 .../inlong/agent/plugin/sources/SQLServerSource.java     | 16 +++++++++-------
 4 files changed, 14 insertions(+), 7 deletions(-)

diff --git 
a/inlong-agent/agent-common/src/main/java/org/apache/inlong/agent/constant/TaskConstants.java
 
b/inlong-agent/agent-common/src/main/java/org/apache/inlong/agent/constant/TaskConstants.java
index 297c163709..d2642efb03 100755
--- 
a/inlong-agent/agent-common/src/main/java/org/apache/inlong/agent/constant/TaskConstants.java
+++ 
b/inlong-agent/agent-common/src/main/java/org/apache/inlong/agent/constant/TaskConstants.java
@@ -174,6 +174,8 @@ public class TaskConstants extends CommonConstants {
     public static final String TASK_SQLSERVER_SERVER_NAME = 
"task.sqlserverTask.serverName";
     public static final String TASK_SQLSERVER_SCHEMA_NAME = 
"task.sqlserverTask.schemaName";
     public static final String TASK_SQLSERVER_TABLE_NAME = 
"task.sqlserverTask.tableName";
+    public static final String TASK_SQLSERVER_UNIX_TIMESTAMP_FORMAT_ENABLE =
+            "task.sqlserverTask.unixTimestampFormatEnable";
 
     public static final String TASK_STATE = "task.state";
 
diff --git 
a/inlong-agent/agent-common/src/main/java/org/apache/inlong/agent/pojo/SqlServerTask.java
 
b/inlong-agent/agent-common/src/main/java/org/apache/inlong/agent/pojo/SqlServerTask.java
index 9240e8366a..3026a79b8b 100644
--- 
a/inlong-agent/agent-common/src/main/java/org/apache/inlong/agent/pojo/SqlServerTask.java
+++ 
b/inlong-agent/agent-common/src/main/java/org/apache/inlong/agent/pojo/SqlServerTask.java
@@ -31,6 +31,7 @@ public class SqlServerTask {
     private String schemaName;
     private String tableName;
     private String serverTimezone;
+    private String unixTimestampFormatEnable;
 
     private SqlServerTask.Snapshot snapshot;
     private SqlServerTask.Offset offset;
@@ -68,6 +69,7 @@ public class SqlServerTask {
         private String schemaName;
         private String tableName;
         private String serverTimezone;
+        private String unixTimestampFormatEnable;
 
         private String snapshotMode;
         private String intervalMs;
diff --git 
a/inlong-agent/agent-common/src/main/java/org/apache/inlong/agent/pojo/TaskProfileDto.java
 
b/inlong-agent/agent-common/src/main/java/org/apache/inlong/agent/pojo/TaskProfileDto.java
index 6fa58ff14b..e340f88d8b 100644
--- 
a/inlong-agent/agent-common/src/main/java/org/apache/inlong/agent/pojo/TaskProfileDto.java
+++ 
b/inlong-agent/agent-common/src/main/java/org/apache/inlong/agent/pojo/TaskProfileDto.java
@@ -350,6 +350,7 @@ public class TaskProfileDto {
         sqlServerTask.setSchemaName(config.getSchemaName());
         sqlServerTask.setTableName(config.getSchemaName() + "." + 
config.getTableName());
         sqlServerTask.setServerTimezone(config.getServerTimezone());
+        
sqlServerTask.setUnixTimestampFormatEnable(config.getUnixTimestampFormatEnable());
 
         SqlServerTask.Offset offset = new SqlServerTask.Offset();
         offset.setFilename(config.getOffsetFilename());
diff --git 
a/inlong-agent/agent-plugins/src/main/java/org/apache/inlong/agent/plugin/sources/SQLServerSource.java
 
b/inlong-agent/agent-plugins/src/main/java/org/apache/inlong/agent/plugin/sources/SQLServerSource.java
index 01e61a99bd..b6a4d6bdc0 100644
--- 
a/inlong-agent/agent-plugins/src/main/java/org/apache/inlong/agent/plugin/sources/SQLServerSource.java
+++ 
b/inlong-agent/agent-plugins/src/main/java/org/apache/inlong/agent/plugin/sources/SQLServerSource.java
@@ -91,13 +91,15 @@ public class SQLServerSource extends AbstractSource {
             props.setProperty("value.converter.schemas.enable", "false");
             // ignore ddl
             props.setProperty("include.schema.changes", "false");
-            // convert time to formatted string
-            props.setProperty("converters", "datetime");
-            props.setProperty("datetime.type", 
"org.apache.inlong.agent.plugin.utils.SQLServerTimeConverter");
-            props.setProperty("datetime.format.date", "yyyy-MM-dd");
-            props.setProperty("datetime.format.time", "HH:mm:ss");
-            props.setProperty("datetime.format.datetime", "yyyy-MM-dd 
HH:mm:ss");
-            props.setProperty("datetime.format.timestamp", "yyyy-MM-dd 
HH:mm:ss");
+            if 
(Boolean.parseBoolean(profile.get(TaskConstants.TASK_SQLSERVER_UNIX_TIMESTAMP_FORMAT_ENABLE,
 "true"))) {
+                // convert time to formatted string
+                props.setProperty("converters", "datetime");
+                props.setProperty("datetime.type", 
"org.apache.inlong.agent.plugin.utils.SQLServerTimeConverter");
+                props.setProperty("datetime.format.date", "yyyy-MM-dd");
+                props.setProperty("datetime.format.time", "HH:mm:ss");
+                props.setProperty("datetime.format.datetime", "yyyy-MM-dd 
HH:mm:ss");
+                props.setProperty("datetime.format.timestamp", "yyyy-MM-dd 
HH:mm:ss");
+            }
 
             
props.setProperty(String.valueOf(SqlServerConnectorConfig.HOSTNAME),
                     profile.get(TaskConstants.TASK_SQLSERVER_HOSTNAME));

Reply via email to