diff src/main/java/org/monetdb/jdbc/MonetStatement.java @ 692:2233b172e06d

Add checks for sql String parameter to prevent NullPointerException or executing an empty sql String.
author Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
date Thu, 17 Nov 2022 19:16:48 +0100 (2022-11-17)
parents b32999570f4d
children 07d60185eeb9
line wrap: on
line diff
--- a/src/main/java/org/monetdb/jdbc/MonetStatement.java
+++ b/src/main/java/org/monetdb/jdbc/MonetStatement.java
@@ -138,6 +138,9 @@ public class MonetStatement
 	 */
 	@Override
 	public void addBatch(final String sql) throws SQLException {
+		if (sql == null || sql.isEmpty())
+			throw new SQLException("Missing SQL statement", "M1M05");
+
 		if (batch == null) {
 			// create the ArrayList at first time use
 			batch = new ArrayList<String>();
@@ -438,6 +441,9 @@ public class MonetStatement
 			lastResponseList = null;
 		}
 
+		if (sql == null || sql.isEmpty())
+			throw new SQLException("Missing SQL statement", "M1M05");
+
 		if (queryTimeout != connection.lastSetQueryTimeout) {
 			// set requested/changed queryTimeout on the server side first
 			connection.setQueryTimeout(queryTimeout);
@@ -1285,6 +1291,8 @@ public class MonetStatement
 			final BatchUpdateException e)
 		throws BatchUpdateException
 	{
+		if (batch.length() == 0)
+			return false;
 		try {
 			long count = -1;
 			boolean hasResultSet = internalExecute(batch.toString());