summaryrefslogtreecommitdiff
path: root/sql/sql_yacc.yy
diff options
context:
space:
mode:
authorMonty <monty@mariadb.org>2018-02-14 02:30:11 +0200
committerMonty <monty@mariadb.org>2018-03-29 13:59:40 +0300
commitc3f37c070ce1224173fa5ed9033d50aa6f0bc535 (patch)
treecd420eceea1ab0fab740e1b1b7e801398e1ce9b3 /sql/sql_yacc.yy
parent209375fdd07d9be79784984f8543be73d1f92a9a (diff)
downloadmariadb-git-c3f37c070ce1224173fa5ed9033d50aa6f0bc535.tar.gz
Fixed alter online table for Aria tables
fill_alter_table() always thought that index was changed because of of a wrong check of block_size. Some engines had code to correct this that should not be needed, Aria didn't and because of this some online operations didn't work. This code fixes the comparision of block_size to only compare if it's set.
Diffstat (limited to 'sql/sql_yacc.yy')
-rw-r--r--sql/sql_yacc.yy6
1 files changed, 5 insertions, 1 deletions
diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy
index fc064748200..002ecc65478 100644
--- a/sql/sql_yacc.yy
+++ b/sql/sql_yacc.yy
@@ -69,6 +69,7 @@
#include "sql_sequence.h"
#include "sql_tvc.h"
#include "vers_utils.h"
+#include "my_base.h"
/* this is to get the bison compilation windows warnings out */
#ifdef _MSC_VER
@@ -7518,7 +7519,10 @@ key_using_alg:
all_key_opt:
KEY_BLOCK_SIZE opt_equal ulong_num
- { Lex->last_key->key_create_info.block_size= $3; }
+ {
+ Lex->last_key->key_create_info.block_size= $3;
+ Lex->last_key->key_create_info.flags|= HA_USES_BLOCK_SIZE;
+ }
| COMMENT_SYM TEXT_STRING_sys
{ Lex->last_key->key_create_info.comment= $2; }
| IDENT_sys equal TEXT_STRING_sys