diff options
author | Monty <monty@mariadb.org> | 2020-08-27 13:09:49 +0300 |
---|---|---|
committer | Sergei Golubchik <serg@mariadb.org> | 2021-05-19 22:27:27 +0200 |
commit | c76eabfb5e39a1b0831159decd3e0b544b9ad2e3 (patch) | |
tree | 00947044367f2fb5ae9699f0a2741a58bf50ddf7 /sql/table.h | |
parent | 8e8bda7fd3a47b13c43a7ad11a23af7dc72cd784 (diff) | |
download | mariadb-git-c76eabfb5e39a1b0831159decd3e0b544b9ad2e3.tar.gz |
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
Diffstat (limited to 'sql/table.h')
-rw-r--r-- | sql/table.h | 2 |
1 files changed, 1 insertions, 1 deletions
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 |