More input on the latest branch * main/mdev21580.test is still there and the .result file is still too large. * mysql-test/main/order_by_pack_big.result has got this: +SELECT id, names, address INTO OUTFILE '/Users/varun/MariaDB/maria-dev2/mysql-test/var/mysqld.1/data/t1.txt' FROM t3 ORDER BY names, address; please use 'evalp' to avoid this. * The constant ORDER_BY_ORIGINAL_TRUNCATION is defined but not used anywhere? On Wed, Feb 19, 2020 at 06:08:12PM +0300, Sergey Petrunia wrote:
Hi Varun,
Please find some input below.
commit f75829eebe96db55508cbc03c967e1c340da0cfc Author: Varun Gupta <varun.gupta@mariadb.com> Date: Fri Feb 7 02:30:06 2020 +0530
MDEV-21580: Allow packed sort keys in sort buffer
This task deals with packing the sort key inside the sort buffer, which would lead to efficient usage of the memory allocated for the sort buffer.
The changes brought by this feature are 1) Sort buffers would have sort keys of variable length 2) The format for sort keys inside the sort buffer would look like |<sort_length><null_byte><key_part1><null_byte><key_part2>.......| sort_length is the extra bytes that are required to store the variable length of a sort key. 3) When packing of sort key is done we store the ORIGINAL VALUES inside the sort buffer and not the STRXFRM form (mem-comparable sort keys). 4) Special comparison function packed_keys_comparison() is introduced to compare 2 sort keys.
BR Sergei -- Sergei Petrunia, Software Developer MariaDB Corporation | Skype: sergefp | Blog: http://s.petrunia.net/blog