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

CAST(date_sp_variable AS TIME) returns a wrong result

Details

    Description

      mysql> SELECT CAST(DATE'2001-01-01' AS TIME);
      +--------------------------------+
      | CAST(DATE'2001-01-01' AS TIME) |
      +--------------------------------+
      | 00:00:00                       |
      +--------------------------------+
      1 row in set (0.00 sec)
       
      mysql> DROP PROCEDURE IF EXISTS p1;
      Query OK, 0 rows affected (0.02 sec)
       
      mysql> DELIMITER |;
      mysql> create procedure p1()
          -> begin
          ->   declare t date;
          ->   set t=date'2001-01-01';
          ->   select cast(t as time);
          -> end|;
      Query OK, 0 rows affected (0.04 sec)
       
      mysql> CALL p1|;
      +-----------------+
      | cast(t as time) |
      +-----------------+
      | 00:20:01        |
      +-----------------+
      1 row in set (0.00 sec)
       
      Query OK, 0 rows affected, 1 warning (0.00 sec)

      The two SELECT queries should return the same result.

      The problem happens because Item_splocal::get_date() points
      to the generic Item::get_date(), so the conversion happens through a
      temporary string value: time -> string -> date.

      Attachments

        Issue Links

          Activity

            bar Alexander Barkov created issue -
            bar Alexander Barkov made changes -
            Field Original Value New Value
            Affects Version/s 5.5.35 [ 14000 ]
            Affects Version/s 10.0.8 [ 14200 ]
            serg Sergei Golubchik made changes -
            Fix Version/s 10.0.10 [ 14500 ]
            Fix Version/s 5.5.37 [ 15000 ]
            serg Sergei Golubchik made changes -
            Priority Major [ 3 ] Minor [ 4 ]
            serg Sergei Golubchik made changes -
            Fix Version/s 10.0.11 [ 15200 ]
            Fix Version/s 10.0.10 [ 14500 ]
            serg Sergei Golubchik made changes -
            Fix Version/s 5.5.38 [ 15400 ]
            Fix Version/s 5.5.37 [ 15000 ]
            serg Sergei Golubchik made changes -
            Fix Version/s 10.0.12 [ 15201 ]
            Fix Version/s 10.0.11 [ 15200 ]
            serg Sergei Golubchik made changes -
            Fix Version/s 5.5.39 [ 15800 ]
            Fix Version/s 5.5.38 [ 15400 ]
            serg Sergei Golubchik made changes -
            Workflow defaullt [ 35405 ] MariaDB v2 [ 43001 ]
            serg Sergei Golubchik made changes -
            Fix Version/s 10.0.13 [ 16000 ]
            Fix Version/s 10.0.12 [ 15201 ]
            ratzpo Rasmus Johansson (Inactive) made changes -
            Workflow MariaDB v2 [ 43001 ] MariaDB v3 [ 62030 ]
            bar Alexander Barkov made changes -
            bar Alexander Barkov made changes -
            Component/s Data Definition - Temporary [ 10123 ]
            Fix Version/s 10.3.5 [ 22905 ]
            Fix Version/s 5.5 [ 15800 ]
            Fix Version/s 10.0 [ 16000 ]
            Resolution Duplicate [ 3 ]
            Status Open [ 1 ] Closed [ 6 ]
            serg Sergei Golubchik made changes -
            Workflow MariaDB v3 [ 62030 ] MariaDB v4 [ 147564 ]

            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.