diff --git a/adapter-jdbc/src/main/java/io/nosqlbench/adapter/jdbc/exceptions/JDBCAdapterInvalidParamException.java b/adapter-jdbc/src/main/java/io/nosqlbench/adapter/jdbc/exceptions/JDBCAdapterInvalidParamException.java index 43e23d1fb..c61af3739 100644 --- a/adapter-jdbc/src/main/java/io/nosqlbench/adapter/jdbc/exceptions/JDBCAdapterInvalidParamException.java +++ b/adapter-jdbc/src/main/java/io/nosqlbench/adapter/jdbc/exceptions/JDBCAdapterInvalidParamException.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 nosqlbench + * Copyright (c) 2023 nosqlbench * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/adapter-jdbc/src/main/java/io/nosqlbench/adapter/jdbc/exceptions/JDBCAdapterUnexpectedException.java b/adapter-jdbc/src/main/java/io/nosqlbench/adapter/jdbc/exceptions/JDBCAdapterUnexpectedException.java index 9bb416bf4..73b64c8ab 100644 --- a/adapter-jdbc/src/main/java/io/nosqlbench/adapter/jdbc/exceptions/JDBCAdapterUnexpectedException.java +++ b/adapter-jdbc/src/main/java/io/nosqlbench/adapter/jdbc/exceptions/JDBCAdapterUnexpectedException.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 nosqlbench + * Copyright (c) 2023 nosqlbench * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/adapter-jdbc/src/main/java/io/nosqlbench/adapter/jdbc/exceptions/JDBCPgVectorException.java b/adapter-jdbc/src/main/java/io/nosqlbench/adapter/jdbc/exceptions/JDBCPgVectorException.java index ca965359f..2a2d8af11 100644 --- a/adapter-jdbc/src/main/java/io/nosqlbench/adapter/jdbc/exceptions/JDBCPgVectorException.java +++ b/adapter-jdbc/src/main/java/io/nosqlbench/adapter/jdbc/exceptions/JDBCPgVectorException.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 nosqlbench + * Copyright (c) 2023 nosqlbench * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/adapter-jdbc/src/main/java/io/nosqlbench/adapter/jdbc/opdispensers/JDBCBaseOpDispenser.java b/adapter-jdbc/src/main/java/io/nosqlbench/adapter/jdbc/opdispensers/JDBCBaseOpDispenser.java index 8dbd7ebe5..c2ee079c1 100644 --- a/adapter-jdbc/src/main/java/io/nosqlbench/adapter/jdbc/opdispensers/JDBCBaseOpDispenser.java +++ b/adapter-jdbc/src/main/java/io/nosqlbench/adapter/jdbc/opdispensers/JDBCBaseOpDispenser.java @@ -17,13 +17,10 @@ package io.nosqlbench.adapter.jdbc.opdispensers; import io.nosqlbench.adapter.jdbc.JDBCSpace; -import io.nosqlbench.adapter.jdbc.optypes.JDBCDMLOp; import io.nosqlbench.adapter.jdbc.optypes.JDBCOp; import io.nosqlbench.adapters.api.activityimpl.BaseOpDispenser; import io.nosqlbench.adapters.api.activityimpl.uniform.DriverAdapter; import io.nosqlbench.adapters.api.templating.ParsedOp; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; public abstract class JDBCBaseOpDispenser extends BaseOpDispenser { protected static final String ERROR_STATEMENT_CREATION = diff --git a/adapter-jdbc/src/main/java/io/nosqlbench/adapter/jdbc/optypes/JDBCDMLOp.java b/adapter-jdbc/src/main/java/io/nosqlbench/adapter/jdbc/optypes/JDBCDMLOp.java index 8e832c898..a44e0d1c7 100644 --- a/adapter-jdbc/src/main/java/io/nosqlbench/adapter/jdbc/optypes/JDBCDMLOp.java +++ b/adapter-jdbc/src/main/java/io/nosqlbench/adapter/jdbc/optypes/JDBCDMLOp.java @@ -44,6 +44,7 @@ public abstract class JDBCDMLOp extends JDBCOp { String pStmtSqlStr, List pStmtValList) { super(jdbcSpace); + assert(StringUtils.isNotBlank(pStmtSqlStr)); this.isReadStmt = isReadStmt; this.pStmtSqlStr = pStmtSqlStr; @@ -77,24 +78,29 @@ public abstract class JDBCDMLOp extends JDBCOp { for (int i=0; i, , ... ]" format, - // convert it to the Vector object - if ( inputFieldVal.startsWith("[") && inputFieldVal.endsWith("]") ) { - JDBCPgVector vector = new JDBCPgVector(); - vector.setValue(inputFieldVal); - fieldValObj = vector; + // Special processing for Vector + if (fieldValObj instanceof String) { + String strObj = (String)fieldValObj; + if (StringUtils.isNotBlank(strObj)) { + strObj = strObj.trim(); + // If the 'fieldVal' is a string like "[, , ... ]" format, + // convert it to the Vector object + if (strObj.startsWith("[") && strObj.endsWith("]")) { + JDBCPgVector vector = new JDBCPgVector(); + vector.setValue(strObj); + fieldValObj = vector; + } + } } - stmt.setObject(fieldIdx, fieldValObj); } catch (JDBCPgVectorException | SQLException e) { throw new RuntimeException( - "Failed to parse the prepared statement value for field[" + fieldIdx + "] " + inputFieldVal); + "Failed to parse the prepared statement value for field[" + fieldIdx + "] " + fieldValObj); } }