From c76eabfb5e39a1b0831159decd3e0b544b9ad2e3 Mon Sep 17 00:00:00 2001 From: Monty Date: Thu, 27 Aug 2020 13:09:49 +0300 Subject: 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 --- sql/table.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sql/table.h') diff --git a/sql/table.h b/sql/table.h index b29199e975a..9c87f9809ff 100644 --- a/sql/table.h +++ b/sql/table.h @@ -366,7 +366,7 @@ enum enum_vcol_update_mode /* Field visibility enums */ -enum field_visibility_t { +enum __attribute__((packed)) field_visibility_t { VISIBLE= 0, INVISIBLE_USER, /* automatically added by the server. Can be queried explicitly -- cgit v1.2.1