mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
bugfix: InnoDB doesn't support ICP on vcols
This commit is contained in:
@ -1504,6 +1504,8 @@ NULL
|
|||||||
NULL
|
NULL
|
||||||
NULL
|
NULL
|
||||||
0
|
0
|
||||||
|
SELECT * FROM t WHERE d > 0;
|
||||||
|
a b d
|
||||||
SELECT * FROM t;
|
SELECT * FROM t;
|
||||||
a b d
|
a b d
|
||||||
0 0 0
|
0 0 0
|
||||||
|
@ -1415,6 +1415,8 @@ ALTER TABLE t DROP COLUMN c, ADD INDEX vidx(d), ALGORITHM=INPLACE;
|
|||||||
|
|
||||||
SELECT d FROM t;
|
SELECT d FROM t;
|
||||||
|
|
||||||
|
SELECT * FROM t WHERE d > 0;
|
||||||
|
|
||||||
SELECT * FROM t;
|
SELECT * FROM t;
|
||||||
|
|
||||||
DROP TABLE t;
|
DROP TABLE t;
|
||||||
|
@ -8455,6 +8455,8 @@ ha_innobase::build_template(
|
|||||||
if (innobase_is_v_fld(table->field[i])) {
|
if (innobase_is_v_fld(table->field[i])) {
|
||||||
index_contains = dict_index_contains_col_or_prefix(
|
index_contains = dict_index_contains_col_or_prefix(
|
||||||
index, num_v, true);
|
index, num_v, true);
|
||||||
|
if (index_contains)
|
||||||
|
goto no_icp;
|
||||||
} else {
|
} else {
|
||||||
index_contains = dict_index_contains_col_or_prefix(
|
index_contains = dict_index_contains_col_or_prefix(
|
||||||
index, i - num_v, false);
|
index, i - num_v, false);
|
||||||
@ -8637,6 +8639,7 @@ ha_innobase::build_template(
|
|||||||
|
|
||||||
m_prebuilt->idx_cond = this;
|
m_prebuilt->idx_cond = this;
|
||||||
} else {
|
} else {
|
||||||
|
no_icp:
|
||||||
mysql_row_templ_t* templ;
|
mysql_row_templ_t* templ;
|
||||||
ulint num_v = 0;
|
ulint num_v = 0;
|
||||||
/* No index condition pushdown */
|
/* No index condition pushdown */
|
||||||
|
Reference in New Issue
Block a user