summaryrefslogtreecommitdiff
path: root/storage/spider/spd_db_include.h
diff options
context:
space:
mode:
authorKentoku <kentokushiba@gmail.com>2018-11-30 03:17:08 +0900
committerSergei Golubchik <serg@mariadb.org>2019-01-31 08:51:34 +0100
commitbef6b197fc2555be357642ec81851d240eec5aa7 (patch)
tree60b01376d56f48621c3ec24f124665b4d6ea1bb5 /storage/spider/spd_db_include.h
parent3cb7c5f27bbd267e3efd69b1b312711754261801 (diff)
downloadmariadb-git-bef6b197fc2555be357642ec81851d240eec5aa7.tar.gz
MDEV-16520 Out-Of-Memory running big aggregate query on Spider Engine
Change default value of the followings quick_mode 0 -> 3 quick_page_size 100 -> 1024 Add the following parameter for limiting result page size by byte - quick_page_byte(qpb) Number of bytes in a page when acquisition one by one. When quick_mode is 1 or 2, Spider stores at least 1 record even if quick_page_byte is smaller than 1 record. When quick_mode is 3, quick_page_byte is used for judging using temporary table. That is given to priority when server parameter spider_quick_page_byte is set. The default value is 10485760 Fix "out of sync" issue at using quick_mode = 1 or 2
Diffstat (limited to 'storage/spider/spd_db_include.h')
-rw-r--r--storage/spider/spd_db_include.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/storage/spider/spd_db_include.h b/storage/spider/spd_db_include.h
index 7f1148655e3..cc4d2bcd3a1 100644
--- a/storage/spider/spd_db_include.h
+++ b/storage/spider/spd_db_include.h
@@ -941,6 +941,7 @@ public:
TABLE *tmp_table,
spider_string *str
) = 0;
+ virtual uint get_byte_size() = 0;
};
class spider_db_result_buffer
@@ -1947,6 +1948,7 @@ typedef struct st_spider_result_list
int max_order;
int quick_mode;
longlong quick_page_size;
+ longlong quick_page_byte;
int low_mem_read;
int bulk_update_mode;
int bulk_update_size;