Details

    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

            bar Alexander Barkov created issue -
            bar Alexander Barkov made changes -
            Field Original Value New Value
            bar Alexander Barkov made changes -
            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 MDEV-4912 we'll introduce a few methods in Type_handler which will do "new Field_xxx". To make the API look simple, 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 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 MDEV-4912 we'll introduce a few methods in Type_handler which will do "new Field_xxx". To make the API look simple, we'll introduce a new class:
            {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.

            bar Alexander Barkov made changes -
            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 MDEV-4912 we'll introduce a few methods in Type_handler which will do "new Field_xxx". To make the API look simple, we'll introduce a new class:
            {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 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:
            {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.

            bar Alexander Barkov made changes -
            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 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:
            {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 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:
            {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.

            bar Alexander Barkov made changes -
            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 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:
            {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 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:
            {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.

            bar Alexander Barkov made changes -
            Labels refactoring
            serg Sergei Golubchik made changes -
            Fix Version/s 10.2 [ 14601 ]

            Record_addr was added by the patch for MDEV-9217.

            bar Alexander Barkov added a comment - Record_addr was added by the patch for MDEV-9217 .
            bar Alexander Barkov made changes -
            Component/s OTHER [ 10125 ]
            Fix Version/s 10.3.1 [ 22532 ]
            Resolution Fixed [ 1 ]
            Status Open [ 1 ] Closed [ 6 ]
            bar Alexander Barkov made changes -
            bar Alexander Barkov made changes -
            Labels refactoring datatype refactoring
            serg Sergei Golubchik made changes -
            Workflow MariaDB v3 [ 72817 ] MariaDB v4 [ 132744 ]

            People

              bar Alexander Barkov
              bar Alexander Barkov
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.