Uploaded image for project: 'MariaDB Connector/J'
  1. MariaDB Connector/J
  2. CONJ-1035

PreparedStatement Insert regression - java.sql.SQLSyntaxErrorException: (conn=952) Incorrect datetime value: '2022-12-16 16:21:25.7134102022-12-16 16:21:25.713410'

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Critical
    • Resolution: Fixed
    • 3.1.0
    • 3.1.1
    • Other
    • 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

          Activity

            People

              diego dupin Diego Dupin
              chungonn Cheong Chung Onn
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.