This is an automated email from the ASF dual-hosted git repository.
adamsaghy pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/fineract.git
The following commit(s) were added to refs/heads/develop by this push:
new bd8b4fedf4 FINERACT-2326: Set precision of 6 for the audit fields of
the datatables (mysql)
bd8b4fedf4 is described below
commit bd8b4fedf48d94ace0a971d754f4ec8ea8018dbc
Author: Jose Alberto Hernandez <[email protected]>
AuthorDate: Mon Jul 28 22:18:18 2025 -0500
FINERACT-2326: Set precision of 6 for the audit fields of the datatables
(mysql)
---
.../infrastructure/core/service/database/JdbcJavaType.java | 12 ++++++------
.../dataqueries/service/DatatableWriteServiceImpl.java | 4 ++++
2 files changed, 10 insertions(+), 6 deletions(-)
diff --git
a/fineract-core/src/main/java/org/apache/fineract/infrastructure/core/service/database/JdbcJavaType.java
b/fineract-core/src/main/java/org/apache/fineract/infrastructure/core/service/database/JdbcJavaType.java
index 2eb35d22eb..971dbaeccd 100644
---
a/fineract-core/src/main/java/org/apache/fineract/infrastructure/core/service/database/JdbcJavaType.java
+++
b/fineract-core/src/main/java/org/apache/fineract/infrastructure/core/service/database/JdbcJavaType.java
@@ -78,15 +78,15 @@ public enum JdbcJavaType {
DATE(JavaType.LOCAL_DATE, new DialectType(JDBCType.DATE), new
DialectType(JDBCType.DATE)), //
// precision for TIME, TIMESTAMP (postgres) and INTERVAL specifies the
number of fractional digits retained in the
// seconds field, but by default, there is no explicit bound on precision
- TIME(JavaType.LOCAL_TIME, new DialectType(JDBCType.TIME), new
DialectType(JDBCType.TIME, null, "TIME WITHOUT TIME ZONE")), //
- TIME_WITH_TIMEZONE(JavaType.OFFSET_TIME, new
DialectType(JDBCType.TIME_WITH_TIMEZONE, "TIME"),
+ TIME(JavaType.LOCAL_TIME, new DialectType(JDBCType.TIME, true), new
DialectType(JDBCType.TIME, null, "TIME WITHOUT TIME ZONE")), //
+ TIME_WITH_TIMEZONE(JavaType.OFFSET_TIME, new
DialectType(JDBCType.TIME_WITH_TIMEZONE, "TIME", true),
new DialectType(JDBCType.TIME_WITH_TIMEZONE, "TIME WITH TIME
ZONE")), //
- TIMESTAMP(JavaType.LOCAL_DATETIME, new DialectType(JDBCType.TIMESTAMP),
+ TIMESTAMP(JavaType.LOCAL_DATETIME, new DialectType(JDBCType.TIMESTAMP,
true),
new DialectType(JDBCType.TIMESTAMP, null, "TIMESTAMP WITHOUT TIME
ZONE")), //
- DATETIME(JavaType.LOCAL_DATETIME, new DialectType(JDBCType.TIMESTAMP,
"DATETIME"), new DialectType(JDBCType.TIMESTAMP)), //
- TIMESTAMP_WITH_TIMEZONE(JavaType.OFFSET_DATETIME, new
DialectType(JDBCType.TIMESTAMP_WITH_TIMEZONE, "DATETIME"),
+ DATETIME(JavaType.LOCAL_DATETIME, new DialectType(JDBCType.TIMESTAMP,
"DATETIME", true), new DialectType(JDBCType.TIMESTAMP)), //
+ TIMESTAMP_WITH_TIMEZONE(JavaType.OFFSET_DATETIME, new
DialectType(JDBCType.TIMESTAMP_WITH_TIMEZONE, "DATETIME", true),
new DialectType(JDBCType.TIMESTAMP_WITH_TIMEZONE, "TIMESTAMP WITH
TIME ZONE", "TIMESTAMPTZ")), //
- INTERVAL(JavaType.TIME, new DialectType(JDBCType.TIME), new
DialectType(JDBCType.TIME, "INTERVAL")), //
+ INTERVAL(JavaType.TIME, new DialectType(JDBCType.TIME, true), new
DialectType(JDBCType.TIME, "INTERVAL")), //
BINARY(JavaType.BINARY, new DialectType(JDBCType.BINARY, true), new
DialectType(JDBCType.BINARY, "BYTEA")), //
VARBINARY(JavaType.BINARY, new DialectType(JDBCType.VARBINARY, true), new
DialectType(JDBCType.VARBINARY, "BYTEA")), //
LONGVARBINARY(JavaType.BINARY, new DialectType(JDBCType.VARBINARY, true),
new DialectType(JDBCType.VARBINARY, "BYTEA")), //
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/DatatableWriteServiceImpl.java
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/DatatableWriteServiceImpl.java
index 9e2480197a..c9d9c595c8 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/DatatableWriteServiceImpl.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/DatatableWriteServiceImpl.java
@@ -30,7 +30,9 @@ import static
org.apache.fineract.infrastructure.dataqueries.api.DataTableApiCon
import static
org.apache.fineract.infrastructure.dataqueries.api.DataTableApiConstant.API_FIELD_NEWCODE;
import static
org.apache.fineract.infrastructure.dataqueries.api.DataTableApiConstant.API_FIELD_NEWNAME;
import static
org.apache.fineract.infrastructure.dataqueries.api.DataTableApiConstant.API_FIELD_TYPE;
+import static
org.apache.fineract.infrastructure.dataqueries.api.DataTableApiConstant.API_FIELD_TYPE_DATETIME;
import static
org.apache.fineract.infrastructure.dataqueries.api.DataTableApiConstant.API_FIELD_TYPE_DROPDOWN;
+import static
org.apache.fineract.infrastructure.dataqueries.api.DataTableApiConstant.API_FIELD_TYPE_TIMESTAMP;
import static
org.apache.fineract.infrastructure.dataqueries.api.DataTableApiConstant.API_FIELD_UNIQUE;
import static
org.apache.fineract.infrastructure.dataqueries.api.DataTableApiConstant.API_PARAM_ADDCOLUMNS;
import static
org.apache.fineract.infrastructure.dataqueries.api.DataTableApiConstant.API_PARAM_APPTABLE_NAME;
@@ -1378,6 +1380,8 @@ public class DatatableWriteServiceImpl implements
DatatableWriteService {
return jdbcType.formatSql(dialect, 19, 6); // TODO: parameter
length is not used
} else if (apiType.equalsIgnoreCase(API_FIELD_TYPE_DROPDOWN)) {
return jdbcType.formatSql(dialect, 11); // TODO: parameter length
is not used
+ } else if (apiType.equalsIgnoreCase(API_FIELD_TYPE_DATETIME) ||
apiType.equalsIgnoreCase(API_FIELD_TYPE_TIMESTAMP)) {
+ return jdbcType.formatSql(dialect, 6);
}
return jdbcType.formatSql(dialect, length);
}