Hi, Monty!

Looks ok, but again it doesn't seem you've squashed intermediate commits
as you said you did.

Bit fields and non-existent commits in columnstore - it's is clearly an
intermediate work-in-progress state, all fixed in your later commits.

On Sep 08, Michael Widenius wrote:
> revision-id: 21eb8969ce9 (mariadb-10.5.2-270-g21eb8969ce9)
> parent(s): c3ecf0d6243
> author: Michael Widenius <[email protected]>
> committer: Michael Widenius <[email protected]>
> timestamp: 2020-09-02 20:58:34 +0300
> message:
> 
> Improved storage size for Item, Field and some other classes
> 
> - Changed order of class fields to remove dead alignment space.
> - Changed bool fields in Item to bit fields.
> - Used packed enum's for some fields in common classes
> - Removed not used Item::rsize.
> - Changed some class variables from uint/int to smaller type int's.
> - Ensured that field_index is uint16 in all classes and functions. Fixed
>   also that we proparly compare with NO_CACHED_FIELD_INDEX when checking
>   if variable is not set.
> - Removed checking of highest bit of unireg_check (has not been used in
>   a long time)
> - Fixed wrong arguments to make_cond_for_table() for join_tab_idx_arg
>   from false to 0.
> 
> One of the result was reducing the size if class Item with ~24 bytes
 
 ...
> @@ -929,18 +904,48 @@ class Item: public Value_source,
> +
> +  /*
> +    str_values's main purpose is to be used to cache the value in
> +    save_in_field
> +  */
> +  String str_value;
> +
> +  LEX_CSTRING name;                  /* Name of item */
> +  /* Original item name (if it was renamed)*/
> +  const char *orig_name;
> +
> +  uint32                                         /* All common bool 
> variables for Item stored here */
> +    maybe_null:1,                          /* If item may be null */
> +    in_rollup:1,                               /* If used in GROUP BY list 
> of a query with ROLLUP */
> +    with_param:1,                         /* True if Item contains an SP 
> parameter */
> +    with_window_func:1,            /* True if item contains a window func */
> +    with_field:1,                            /* True if any item except 
> Item_sum contains a field.
> +                                                          Set during 
> parsing. */
> +    fixed:1;                                     /* If item was fixed with 
> fix_fields */
> +
> +  int16 marker;
> +
> diff --git a/storage/columnstore/columnstore b/storage/columnstore/columnstore
> index b6b02ed516f..f606e76fb77 160000
> --- a/storage/columnstore/columnstore
> +++ b/storage/columnstore/columnstore
> @@ -1 +1 @@
> -Subproject commit b6b02ed516f92055127d416370799d91a82754ea
> +Subproject commit f606e76fb779e40f3376693fff9969e4f2b7669a

Regards,
Sergei
VP of MariaDB Server Engineering
and [email protected]

_______________________________________________
Mailing list: https://launchpad.net/~maria-developers
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp

Reply via email to