- remove max_bytes_ratio_before_external_{order,group_by}_for_server
- change the way max_bytes_ratio_before_external_{order,group_by} works
Note, that it is not enough to transform ratio to bytes in
executeQuery(), since in this case it will not work for merges and
internal queries, plus, you have to reset them for Distributed engine
and update it for Merge/View/...
This patch also introduce some helpers (see MemoryTrackerUtils) and
adjust Aggregator::Params constructor to accept Settings object instead
of tons of arguments.
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
Simpler then max_bytes_before_external_group_by, that allows you not to
think about memory consumption of the query, and can be set globally to
i.e. 0.5 so that the external aggregation will be enabled once the
memory usage reaches the 50%.
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
add test cases
fixed typos
add document
fixed stype error and rename some variables
fixed test error
add test cases
try to recude hash join code size
debug
fixed
fixed coredump
fixed. condition result type is not bool
enable when allow_experimental_analyzer=0
fixed tests
fixed
update tests
update tests
roll backup when use the old analyzer
fixed typos
fixed
test
large obj check
test
test
Previously setting `enable_order_by_all` distinguished for ORDER BY ALL
whether we should sort by column 'all' (if given in the SELECT clause)
or by all columns. The actual behavior was not always intuitive.
Now, we throw unconditionally an exception which also simplifies the
handling a bit. Only an edge case is affected and if users really want
to run ORDER BY ALL on a column names 'all', they can alias it.