summaryrefslogtreecommitdiff
path: root/client
diff options
context:
space:
mode:
authorChris Calender <chris@mariadb.com>2018-04-17 15:00:15 -0400
committerSergey Vojtovich <svoj@mariadb.org>2018-06-07 17:21:14 +0400
commitd9b159a2027c56c5c87385cfe1ae43b8c73a97b6 (patch)
treeb459a45cea9cca0f5183aa36dd601a4bda7f7e85 /client
parent75b4eb5cc969a1f5fc221d03c62987b8e57d6332 (diff)
downloadmariadb-git-d9b159a2027c56c5c87385cfe1ae43b8c73a97b6.tar.gz
MDEV-15789 - mysqlslap use incorrect table def
The bug arises when one uses --auto-generate-sql-guid-primary (and --auto-generate-sql-secondary-indexes) with mysqlslap and also have sql_mode=STRICT_TRANS_TABLE. When using this option, mysqlslap should create a column with varchar(36), but it appears to create it as a varchar(32) only. Then if one has sql_mode=STRICT_TRANS_TABLES, it throws an error, like: mysqlslap: Cannot run query INSERT INTO t1 VALUES (...) ERROR : Data too long for column 'id' at row 1 Upstream bug report: BUG#80329.
Diffstat (limited to 'client')
-rw-r--r--client/mysqlslap.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/client/mysqlslap.c b/client/mysqlslap.c
index a9746916411..ba7b8cea6a9 100644
--- a/client/mysqlslap.c
+++ b/client/mysqlslap.c
@@ -840,7 +840,7 @@ build_table_string(void)
if (auto_generate_sql_guid_primary)
{
- dynstr_append(&table_string, "id varchar(32) primary key");
+ dynstr_append(&table_string, "id varchar(36) primary key");
if (num_int_cols || num_char_cols || auto_generate_sql_guid_primary)
dynstr_append(&table_string, ",");
@@ -855,7 +855,7 @@ build_table_string(void)
if (count) /* Except for the first pass we add a comma */
dynstr_append(&table_string, ",");
- if (snprintf(buf, HUGE_STRING_LENGTH, "id%d varchar(32) unique key", count)
+ if (snprintf(buf, HUGE_STRING_LENGTH, "id%d varchar(36) unique key", count)
> HUGE_STRING_LENGTH)
{
fprintf(stderr, "Memory Allocation error in create table\n");