summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThirunarayanan Balathandayuthapani <thiru@mariadb.com>2018-07-16 13:57:50 +0530
committerThirunarayanan Balathandayuthapani <thiru@mariadb.com>2018-07-16 13:57:50 +0530
commit51d927f51ea0a5ccc48049bde1514b0cbf2074e9 (patch)
tree9cfcda181fe5ddfd3acb784e3943a22fcc5f3514
parent1cc1d0429da14a041a6240c6fce17e0d31cad8e2 (diff)
downloadmariadb-git-bb-10.2-mdev-12547.tar.gz
MDEV-12547 InnoDB FULLTEXT index has too strict innodb_ft_result_cache_limitbb-10.2-mdev-12547
max limit - Make innodb_ft_result_cache_limit 64 bit on 64-bit platform.
-rw-r--r--storage/innobase/fts/fts0fts.cc2
-rw-r--r--storage/innobase/fts/fts0que.cc3
-rw-r--r--storage/innobase/handler/ha_innodb.cc4
3 files changed, 6 insertions, 3 deletions
diff --git a/storage/innobase/fts/fts0fts.cc b/storage/innobase/fts/fts0fts.cc
index b5c4a44514d..315ccddd27b 100644
--- a/storage/innobase/fts/fts0fts.cc
+++ b/storage/innobase/fts/fts0fts.cc
@@ -67,7 +67,7 @@ ulong fts_max_total_cache_size;
/** This is FTS result cache limit for each query and would be
a configurable variable */
-ulong fts_result_cache_limit;
+size_t fts_result_cache_limit;
/** Variable specifying the maximum FTS max token size */
ulong fts_max_token_size;
diff --git a/storage/innobase/fts/fts0que.cc b/storage/innobase/fts/fts0que.cc
index b9977bd31e5..d87e1cf6142 100644
--- a/storage/innobase/fts/fts0que.cc
+++ b/storage/innobase/fts/fts0que.cc
@@ -4065,6 +4065,9 @@ fts_query(
fts_result_cache_limit = 2048;
);
+ fprintf(stderr, "size of fts result_cache_limit %ld\n",
+ sizeof(fts_result_cache_limit));
+
/* Traverse the Abstract Syntax Tree (AST) and execute
the query. */
query.error = fts_ast_visit(
diff --git a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_innodb.cc
index deb6f05e853..e252d4cceae 100644
--- a/storage/innobase/handler/ha_innodb.cc
+++ b/storage/innobase/handler/ha_innodb.cc
@@ -20590,10 +20590,10 @@ static MYSQL_SYSVAR_ULONG(ft_total_cache_size, fts_max_total_cache_size,
"Total memory allocated for InnoDB Fulltext Search cache",
NULL, NULL, 640000000, 32000000, 1600000000, 0);
-static MYSQL_SYSVAR_ULONG(ft_result_cache_limit, fts_result_cache_limit,
+static MYSQL_SYSVAR_SIZE_T(ft_result_cache_limit, fts_result_cache_limit,
PLUGIN_VAR_RQCMDARG,
"InnoDB Fulltext search query result cache limit in bytes",
- NULL, NULL, 2000000000L, 1000000L, 4294967295UL, 0);
+ NULL, NULL, 2000000000L, 1000000L, SIZE_T_MAX, 0);
static MYSQL_SYSVAR_ULONG(ft_min_token_size, fts_min_token_size,
PLUGIN_VAR_RQCMDARG | PLUGIN_VAR_READONLY,