Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
3.1.0
-
Ubuntu 20.04, Mariadb 10.6.11, Java 17
Description
Use PreparedStatement to insert 152 tuples of values of 3 elements with contains a LocalDateTime element. Mariadb returns a SQLSyntaxErrorException. The same code works for version 3.0.8.
However, the insert statement will work for values right up to 151 tuples.
Here is the preparestatement string generated from the Scala code listed below.
INSERT INTO Test (`name`, `description`, `created`) VALUES (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?,?,?), (?, ?, ?)
Sample code are written in Scala 3.
```
/*
CREATE TABLE `Test` (
`name` varchar(255) NOT NULL,
`description` varchar(255) DEFAULT NULL,
`created` datetime DEFAULT Now(),
PRIMARY KEY (`name`)
);
*/
val count = 151
val insert = """INSERT INTO Test (`name`, `description`, `created`) VALUES """
val params = "(?,?,?), ".repeat(count) + "(?, ?, ?)"
val indexPlaceholderStatement = insert + params //See above for the actual statement string
val preparedStatement = connection.prepareStatement(indexPlaceholderStatement, java.sql.Statement.RETURN_GENERATED_KEYS)
val now: Any = java.time.LocalDateTime.now
0 to count foreach { i =>
val offset = i * 3
preparedStatement.setString(offset + 1, s"name ${i}")
preparedStatement.setString(offset + 2, s"desc ${i} ")
preparedStatement.setObject(offset + 3, now)
}
preparedStatement.executeUpdate()
connection.commit()
```
Attachments
Issue Links
- is duplicated by
-
CONJ-1029 After upgrading to MariaDB JDBC Driver for Java version 3.1.0 I'm now receiving error message SQL state [HY000]; error code [1210] Incorrect arguments to mysqld_stmt_bulk_execute
- Closed
-
CONJ-1036 org.mariadb.jdbc.client.socket.impl.PacketWriter.writeAscii() broken in 3.1.0
- Closed