diff --git a/src/main/java/com/kingsrook/qqq/backend/module/rdbms/actions/AbstractRDBMSAction.java b/src/main/java/com/kingsrook/qqq/backend/module/rdbms/actions/AbstractRDBMSAction.java index d7837ff3..0f1c7110 100644 --- a/src/main/java/com/kingsrook/qqq/backend/module/rdbms/actions/AbstractRDBMSAction.java +++ b/src/main/java/com/kingsrook/qqq/backend/module/rdbms/actions/AbstractRDBMSAction.java @@ -25,6 +25,7 @@ package com.kingsrook.qqq.backend.module.rdbms.actions; import java.io.Serializable; import java.sql.Connection; import java.sql.SQLException; +import java.time.OffsetDateTime; import com.kingsrook.qqq.backend.core.model.actions.AbstractQTableRequest; import com.kingsrook.qqq.backend.core.model.metadata.QFieldMetaData; import com.kingsrook.qqq.backend.core.model.metadata.QFieldType; @@ -102,6 +103,14 @@ public abstract class AbstractRDBMSAction } } + ////////////////////////////////////////////////////// + // todo - let this come from something in the field // + ////////////////////////////////////////////////////// + if(value == null && (field.getName().equals("createDate") || field.getName().equals("modifyDate"))) + { + value = OffsetDateTime.now(); + } + return (value); } } diff --git a/src/main/java/com/kingsrook/qqq/backend/module/rdbms/jdbc/QueryManager.java b/src/main/java/com/kingsrook/qqq/backend/module/rdbms/jdbc/QueryManager.java index bc07bf75..6fa85207 100644 --- a/src/main/java/com/kingsrook/qqq/backend/module/rdbms/jdbc/QueryManager.java +++ b/src/main/java/com/kingsrook/qqq/backend/module/rdbms/jdbc/QueryManager.java @@ -652,6 +652,12 @@ public class QueryManager statement.setTimestamp(index, timestamp); return (1); } + else if(value instanceof OffsetDateTime) + { + Timestamp timestamp = new Timestamp(((OffsetDateTime) value).toEpochSecond() * MS_PER_SEC); + statement.setTimestamp(index, timestamp); + return (1); + } else if(value instanceof LocalDateTime) { Timestamp timestamp = new Timestamp(((LocalDateTime) value).toEpochSecond(ZoneOffset.UTC) * MS_PER_SEC); diff --git a/src/test/java/com/kingsrook/qqq/backend/module/rdbms/actions/RDBMSInsertActionTest.java b/src/test/java/com/kingsrook/qqq/backend/module/rdbms/actions/RDBMSInsertActionTest.java index d07d6450..852d7a51 100644 --- a/src/test/java/com/kingsrook/qqq/backend/module/rdbms/actions/RDBMSInsertActionTest.java +++ b/src/test/java/com/kingsrook/qqq/backend/module/rdbms/actions/RDBMSInsertActionTest.java @@ -74,6 +74,7 @@ public class RDBMSInsertActionTest extends RDBMSActionTest rowsFound++; assertEquals(6, rs.getInt("id")); assertEquals("James", rs.getString("first_name")); + assertNotNull(rs.getString("create_date")); } assertEquals(1, rowsFound); }));