diff --git a/pom.xml b/pom.xml
index 7e09c774..cb61d6f2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -51,7 +51,7 @@
com.kingsrook.qqq
qqq-backend-core
- 0.0.0-20220624.210809-12
+ 0.0.0-20220628.161829-14
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 366fa44c..d7837ff3 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
@@ -22,10 +22,12 @@
package com.kingsrook.qqq.backend.module.rdbms.actions;
+import java.io.Serializable;
import java.sql.Connection;
import java.sql.SQLException;
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;
import com.kingsrook.qqq.backend.core.model.metadata.QTableMetaData;
import com.kingsrook.qqq.backend.core.utils.StringUtils;
import com.kingsrook.qqq.backend.module.rdbms.jdbc.ConnectionManager;
@@ -82,4 +84,24 @@ public abstract class AbstractRDBMSAction
ConnectionManager connectionManager = new ConnectionManager();
return connectionManager.getConnection((RDBMSBackendMetaData) qTableRequest.getBackend());
}
+
+
+
+ /*******************************************************************************
+ ** Handle obvious problems with values - like empty string for integer should be null.
+ **
+ *******************************************************************************/
+ protected Serializable scrubValue(QFieldMetaData field, Serializable value)
+ {
+ if("".equals(value))
+ {
+ QFieldType type = field.getType();
+ if(type.equals(QFieldType.INTEGER) || type.equals(QFieldType.DECIMAL) || type.equals(QFieldType.DATE) || type.equals(QFieldType.DATE_TIME))
+ {
+ value = null;
+ }
+ }
+
+ return (value);
+ }
}
diff --git a/src/main/java/com/kingsrook/qqq/backend/module/rdbms/actions/RDBMSInsertAction.java b/src/main/java/com/kingsrook/qqq/backend/module/rdbms/actions/RDBMSInsertAction.java
index 74b83a8f..c55fff9f 100644
--- a/src/main/java/com/kingsrook/qqq/backend/module/rdbms/actions/RDBMSInsertAction.java
+++ b/src/main/java/com/kingsrook/qqq/backend/module/rdbms/actions/RDBMSInsertAction.java
@@ -22,6 +22,7 @@
package com.kingsrook.qqq.backend.module.rdbms.actions;
+import java.io.Serializable;
import java.sql.Connection;
import java.util.ArrayList;
import java.util.List;
@@ -55,7 +56,7 @@ public class RDBMSInsertAction extends AbstractRDBMSAction implements InsertInte
try
{
- InsertResult rs = new InsertResult();
+ InsertResult rs = new InsertResult();
QTableMetaData table = insertRequest.getTable();
List insertableFields = table.getFields().values().stream()
@@ -69,9 +70,9 @@ public class RDBMSInsertAction extends AbstractRDBMSAction implements InsertInte
.map(x -> "?")
.collect(Collectors.joining(", "));
- String tableName = getTableName(table);
- StringBuilder sql = new StringBuilder("INSERT INTO ").append(tableName).append("(").append(columns).append(") VALUES");
- List