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

Split TIME and DATETIME handling in Item_func_between, in_temporal, cmp_item_internal

    XMLWordPrintable

Details

    Description

      These methods:

      longlong Item_func_between::val_int_cmp_temporal()
      char *in_temporal::get_value_internal()
      void cmp_item_temporal::store_value_internal()
      

      use val_temporal_packed(field_type()) internally.
      This is not friendly to new data types, e.g. it won't work for a new implementation for TIMESTAMP (needed for MDEV-15654) which transfers TIMESTAMP data inside the server using my_time_t representation rather than MYSQL_TIME representation.

      This task is to remove Item::val_temporal_packed() and split implementations of the mentioned methods into separate methods for TIME and DATETIME:

      longlong Item_func_between::val_int_cmp_time()
      longlong Item_func_between::val_int_cmp_datetime()
      uchar *in_datetime::get_value()
      uchar *in_time::get_value()
      void cmp_item_datetime::store_value()
      void cmp_item_time::store_value()
      

      These methods will use val_time_packed() and val_datetime_packed() directly.

      Attachments

        Issue Links

          Activity

            People

              bar Alexander Barkov
              bar Alexander Barkov
              Votes:
              0 Vote for this issue
              Watchers:
              2 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.