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

Reply via email to