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));