maria:10.5-mdev21829

Last commit made on 2020-09-17
Get this branch:
git clone -b 10.5-mdev21829 https://git.launchpad.net/maria

Branch merges

Branch information

Name:
10.5-mdev21829
Repository:
lp:maria

Recent commits

af34fcb... by varun <Varun Gupta>

Cleanup

3d0ccf9... by varun <Varun Gupta>

Making group_concat handle the intermediate class

223b49d... by varun <Varun Gupta>

Adding an intermediate class

97711ee... by varun <Varun Gupta>

Refactoring

7fda788... by varun

adding comments

f945c48... by varun

Introduced a new class for Unique to store only one argument

55fbb06... by varun

More changes to improve performance

e071a20... by varun

Introducing new class for packed Unique

d4a2817... by varun

Adding a few asserts

19c6400... by varun

MDEV-21829: Use packed sort keys in Unique objects

The task deals with packing the values stored in the Unique tree for each record.

The changes brought by this feature is:

  1) Unique tree can have dynamic length keys
  2) Format of keys looks like
     <key_length> <packed_value1> <packed_value2> ....... <packed_valueN>

Unique class is currently used in

1) agg_func(DISTINCT col)
   Here most aggregate functions like SUM, AVG accept only fixed size arguments
   so it is not beneficial to use packing for these. Packing is done for
   COUNT and GROUP_CONCAT (or JSON_ARRAYAGG) aggregate function as these are meaningful

2) index-merge stores row-ids
   index merge stores row-ids which are of fixed size, so packing is not required

3) Engine Independent Table statistics
   Packing is done here for variable length data types

This task is an extension to MDEV-21580.