Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-12713

Define virtual type_handler() for all Item classes

    Details

      Description

      As of version 10.3.0, Item::type_handler is defined as:

      virtual const Type_handler *type_handler() const
      {
        return Type_handler::get_handler_by_field_type(field_type());
      }
      

      That is type handler is determined from field_type() by default.
      This involves lookup inside get_handler_by_field_type(), which can affect performance negatively.
      Also, this is not friendly for pluggable data types, which will define their own functions returning values of non-standard data types.

      We'll change the definition of the method to:

      virtual const Type_handler *type_handler() const= 0;
      

      and implement it for all classes Item_xxx.

        Attachments

          Issue Links

            Activity

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved: