Details
-
Task
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
Description
These three parameters:
uchar *ptr_arg,
|
uchar *null_ptr_arg,
|
uchar null_bit_arg
|
are always passed to Field_xxx constructor.
Under terms of MDEV-4912 we'll introduce a few methods in Type_handler which will do "new Field_xxx". Before doing this, to make the Type_handler API look simpler, we'll introduce a new class:
Record_addr
|
{
|
public:
|
uchar *ptr; // Position to field in record
|
/**
|
Byte where the @c NULL bit is stored inside a record. If this Field is a
|
@c NOT @c NULL field, this member is @c NULL.
|
*/
|
uchar *null_ptr;
|
uchar null_bit; // Bit used to test null bit
|
};
|
Then:
- Derive Field from Record_addr
- Change Field constructors to accept a "const Record_addr &addr" parameter instead of the three separate parameters ptr_arg, null_ptr_arg, null_bit_arg.
Attachments
Issue Links
Activity
Description |
These three parameters: {code} uchar *ptr_arg, uchar *null_ptr_arg, uchar null_bit_arg {code} are always passed to Field_xxx constructor. Under terms of Record_addr { public: uchar *ptr; // Position to field in record /** Byte where the @c NULL bit is stored inside a record. If this Field is a @c NOT @c NULL field, this member is @c NULL. */ uchar *null_ptr; uchar null_bit; // Bit used to test null bit }; Then: - derive Field from Record_addr - Change constructors to accept a "const Record_addr &addr" parameter instead of the three separate parameters ptr_arg, null_ptr_arg, null_bit_arg. |
These three parameters: {code} uchar *ptr_arg, uchar *null_ptr_arg, uchar null_bit_arg {code} are always passed to Field_xxx constructor. Under terms of {code} Record_addr { public: uchar *ptr; // Position to field in record /** Byte where the @c NULL bit is stored inside a record. If this Field is a @c NOT @c NULL field, this member is @c NULL. */ uchar *null_ptr; uchar null_bit; // Bit used to test null bit }; {code} Then: - derive Field from Record_addr - Change constructors to accept a "const Record_addr &addr" parameter instead of the three separate parameters ptr_arg, null_ptr_arg, null_bit_arg. |
Description |
These three parameters: {code} uchar *ptr_arg, uchar *null_ptr_arg, uchar null_bit_arg {code} are always passed to Field_xxx constructor. Under terms of {code} Record_addr { public: uchar *ptr; // Position to field in record /** Byte where the @c NULL bit is stored inside a record. If this Field is a @c NOT @c NULL field, this member is @c NULL. */ uchar *null_ptr; uchar null_bit; // Bit used to test null bit }; {code} Then: - derive Field from Record_addr - Change constructors to accept a "const Record_addr &addr" parameter instead of the three separate parameters ptr_arg, null_ptr_arg, null_bit_arg. |
These three parameters: {code} uchar *ptr_arg, uchar *null_ptr_arg, uchar null_bit_arg {code} are always passed to Field_xxx constructor. Under terms of {code} Record_addr { public: uchar *ptr; // Position to field in record /** Byte where the @c NULL bit is stored inside a record. If this Field is a @c NOT @c NULL field, this member is @c NULL. */ uchar *null_ptr; uchar null_bit; // Bit used to test null bit }; {code} Then: - derive Field from Record_addr - Change constructors to accept a "const Record_addr &addr" parameter instead of the three separate parameters ptr_arg, null_ptr_arg, null_bit_arg. |
Description |
These three parameters: {code} uchar *ptr_arg, uchar *null_ptr_arg, uchar null_bit_arg {code} are always passed to Field_xxx constructor. Under terms of {code} Record_addr { public: uchar *ptr; // Position to field in record /** Byte where the @c NULL bit is stored inside a record. If this Field is a @c NOT @c NULL field, this member is @c NULL. */ uchar *null_ptr; uchar null_bit; // Bit used to test null bit }; {code} Then: - derive Field from Record_addr - Change constructors to accept a "const Record_addr &addr" parameter instead of the three separate parameters ptr_arg, null_ptr_arg, null_bit_arg. |
These three parameters: {code} uchar *ptr_arg, uchar *null_ptr_arg, uchar null_bit_arg {code} are always passed to Field_xxx constructor. Under terms of {code} Record_addr { public: uchar *ptr; // Position to field in record /** Byte where the @c NULL bit is stored inside a record. If this Field is a @c NOT @c NULL field, this member is @c NULL. */ uchar *null_ptr; uchar null_bit; // Bit used to test null bit }; {code} Then: - Derive Field from Record_addr - Change constructors to accept a "const Record_addr &addr" parameter instead of the three separate parameters ptr_arg, null_ptr_arg, null_bit_arg. |
Description |
These three parameters: {code} uchar *ptr_arg, uchar *null_ptr_arg, uchar null_bit_arg {code} are always passed to Field_xxx constructor. Under terms of {code} Record_addr { public: uchar *ptr; // Position to field in record /** Byte where the @c NULL bit is stored inside a record. If this Field is a @c NOT @c NULL field, this member is @c NULL. */ uchar *null_ptr; uchar null_bit; // Bit used to test null bit }; {code} Then: - Derive Field from Record_addr - Change constructors to accept a "const Record_addr &addr" parameter instead of the three separate parameters ptr_arg, null_ptr_arg, null_bit_arg. |
These three parameters: {code} uchar *ptr_arg, uchar *null_ptr_arg, uchar null_bit_arg {code} are always passed to Field_xxx constructor. Under terms of {code} Record_addr { public: uchar *ptr; // Position to field in record /** Byte where the @c NULL bit is stored inside a record. If this Field is a @c NOT @c NULL field, this member is @c NULL. */ uchar *null_ptr; uchar null_bit; // Bit used to test null bit }; {code} Then: - Derive Field from Record_addr - Change Field constructors to accept a "const Record_addr &addr" parameter instead of the three separate parameters ptr_arg, null_ptr_arg, null_bit_arg. |
Labels | refactoring |
Fix Version/s | 10.2 [ 14601 ] |
Component/s | OTHER [ 10125 ] | |
Fix Version/s | 10.3.1 [ 22532 ] | |
Resolution | Fixed [ 1 ] | |
Status | Open [ 1 ] | Closed [ 6 ] |
Labels | refactoring | datatype refactoring |
Workflow | MariaDB v3 [ 72817 ] | MariaDB v4 [ 132744 ] |
Record_addr was added by the patch for
MDEV-9217.