To reduce the number of parameters in Type_handler methods (such as make_table_field_from_def(), see
MDEV-9216), we'll introduce a new class representing the position and the offset of a bit.
It will be reused for:
- NULL bits (for NULL-able columns)
- Data bits (for the BIT(N) data type, and similar)
The tentative prototype:
Encapsulation is needed for better consistency control, to make sure that m_ptr and m_offs always represent valid combinations.
To further reuse the code, we'll replace Record_addr members null_ptr and null_bit to an instance of Bit_addr.