diff --git a/mariadb/mariadb_cursor.c b/mariadb/mariadb_cursor.c index 65fab74..0cfc8e5 100644 --- a/mariadb/mariadb_cursor.c +++ b/mariadb/mariadb_cursor.c @@ -1225,7 +1225,10 @@ MrdbCursor_execute_bulk(MrdbCursor *self) mysql_stmt_bind_param(self->stmt, self->params); if (!(buf= self->connection->mysql->methods->db_execute_generate_request(self->stmt, &buflen, 1))) + { + mariadb_throw_exception(self->stmt, NULL, 1, NULL); goto error; + } if ((rc= Mrdb_execute_direct(self, self->parseinfo.statement, self->parseinfo.statement_len))) { diff --git a/testing/test/integration/test_cursor.py b/testing/test/integration/test_cursor.py index 0e80b59..bcb9677 100644 --- a/testing/test/integration/test_cursor.py +++ b/testing/test/integration/test_cursor.py @@ -1614,6 +1614,20 @@ class TestCursor(unittest.TestCase): cursor.close() connection.close() + def test_conpy291(self): + connection = create_connection() + cursor = connection.cursor() + + cursor.execute("DROP TABLE IF EXISTS t1") + cursor.execute("CREATE TABLE t1 (a int, b int, c varchar(100), d int)") + + data= [(1, INDICATOR.NULL, "foo", INDICATOR.NULL), + (2, 3, "foo", 5)] + cursor.executemany("INSERT INTO t1 VALUES (?,?,?,?)", data) + self.assertEqual(cursor.rowcount, 2) + cursor.execute("DROP TABLE IF EXISTS t1") + + def test_conpy276(self): connection = create_connection() cursor = connection.cursor()