summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorOleksandr Byelkin <sanja@mariadb.com>2017-06-22 09:52:02 +0200
committerOleksandr Byelkin <sanja@mariadb.com>2017-06-22 15:28:57 +0200
commit064d1a480c6bb6825ecd00a765939a7715cd43c2 (patch)
treed9752b3a4a815614cf2726522846e0b8d957e233 /tests
parent557e1bd472612848a42e772c1fb6f8ed32ab33b4 (diff)
downloadmariadb-git-064d1a480c6bb6825ecd00a765939a7715cd43c2.tar.gz
MDEV-12579: Incorrect arguments to mysqld_stmt_execute when using LOBs
Parameters can be MYSQL_TYPE_VARCHAR for long data load.
Diffstat (limited to 'tests')
-rw-r--r--tests/mysql_client_test.c35
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/mysql_client_test.c b/tests/mysql_client_test.c
index fc3e5470ddd..383036ff092 100644
--- a/tests/mysql_client_test.c
+++ b/tests/mysql_client_test.c
@@ -19531,6 +19531,40 @@ static void test_prepare_analyze()
check_execute(stmt, rc);
}
+static void test_mdev12579()
+{
+ MYSQL_STMT *stmt= mysql_stmt_init(mysql);
+ MYSQL_BIND bind[2];
+ int rc;
+ long l=3;
+ const char *data = "123456";
+
+ rc= mysql_query(mysql, "CREATE TABLE mdev12579 (k integer,t LONGTEXT,b LONGBLOB,x integer)");
+ myquery(rc);
+
+ rc= mysql_stmt_prepare(stmt, "INSERT INTO mdev12579 VALUES (1,?,NULL,?)", -1);
+ myquery(rc);
+
+ rc= mysql_stmt_send_long_data(stmt, 0, data, 6);
+ rc= mysql_stmt_send_long_data(stmt, 0, data, 6);
+ rc= mysql_stmt_send_long_data(stmt, 0, data, 6);
+
+ memset(bind, 0, sizeof(MYSQL_BIND) * 2);
+ bind[0].buffer_type= MYSQL_TYPE_VAR_STRING;
+ bind[1].buffer_type= MYSQL_TYPE_LONG;
+ bind[1].buffer= &l;
+ mysql_stmt_bind_param(stmt, bind);
+
+ rc= mysql_stmt_execute(stmt);
+ check_execute(stmt, rc);
+
+ mysql_stmt_close(stmt);
+
+ rc= mysql_query(mysql, "DROP TABLE mdev12579");
+ myquery(rc);
+}
+
+
static struct my_tests_st my_tests[]= {
{ "disable_query_logs", disable_query_logs },
{ "test_view_sp_list_fields", test_view_sp_list_fields },
@@ -19808,6 +19842,7 @@ static struct my_tests_st my_tests[]= {
{ "test_compressed_protocol", test_compressed_protocol },
{ "test_big_packet", test_big_packet },
{ "test_prepare_analyze", test_prepare_analyze },
+ { "test_mdev12579", test_mdev12579 },
{ 0, 0 }
};