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

Add Type_handler::Item_xxx_fix_length_and_dec() for CAST classes

    Details

      Description

      Pluggable data types should be able to:

      • define their own way to calculate data type attributes for explicit CAST
      • or reject explicit CAST operations to certain data type targets

      Under terms of this task we'll introduce:

      virtual bool Item_func_signed_fix_length_and_dec(Item_func_signed *item) const;
      virtual bool Item_func_unsigned_fix_length_and_dec(Item_func_unsigned *item) const;
      virtual bool Item_double_typecast_fix_length_and_dec(Item_double_typecast *item) const;
      virtual bool Item_decimal_typecast_fix_length_and_dec(Item_decimal_typecast *item) const;
      virtual bool Item_char_typecast_fix_length_and_dec(Item_char_typecast *item) const;
      virtual bool Item_time_typecast_fix_length_and_dec(Item_time_typecast *item) const;
      virtual bool Item_date_typecast_fix_length_and_dec(Item_date_typecast *item) const;
      virtual bool Item_datetime_typecast_fix_length_and_dec(Item_datetime_typecast *item) const;
      

      We'll also disallow explicit CAST from GEOMETRY to numeric and temporal data types,
      as well as from GEOMETRY to CHAR.

      Explicit CAST from GEOMETRY to BINARY will still be possible.

        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: