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

Case sensitive problem with routines SHOW <P/F> STATUS;

    Details

      Description

      When working with a case sensitive file-system, MariaDB (it also fails in MySQL) allows you to have
      a database with the same name in different cases (example TEST/test).
      This works correctly.
      However, procedures that are related to that database are stored inside
      information_schema.routines associated with ROUTINE_SCHEMA which is a
      case insensitive column.
      This brings a problem, for example, when using mysqldump since when
      listing routines to dump in the line "SHOW %s STATUS WHERE Db = '%s'"
      it would bring procedures from other databases that have the same name
      with different case.
      mysqldump could be modified to use mysql.proc instead which correctly
      has utf8_bin in the Db column, but I'm not sure that would be the best
      to go since this affects anyone using SHOW <P/F> STATUS.

      CREATE DATABASE A;
      USE A;
      
      delimiter //
      
      CREATE PROCEDURE simpleproc()
          BEGIN
             SELECT 1;
          END//
      
      delimiter ;
      CREATE DATABASE a;
      USE a;
      
      SHOW PROCEDURE STATUS WHERE Db = 'a';
      -- Incorrectly shows procedure from A
      SELECT count(*) FROM mysql.proc WHERE Db='a';
      -- Correctly show 0 results
      
      DROP DATABASE A;
      DROP DATABASE a;
      

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

              Hide
              gbonvehi Guillermo Bonvehi added a comment -

              This shows a worse scenario where SHOW CREATE PROCEDURE shows the incorrect procedure.
              Note that I also reported this on MySQL: http://bugs.mysql.com/?id=72029

              Show
              gbonvehi Guillermo Bonvehi added a comment - This shows a worse scenario where SHOW CREATE PROCEDURE shows the incorrect procedure. Note that I also reported this on MySQL: http://bugs.mysql.com/?id=72029
              Hide
              gbonvehi Guillermo Bonvehi added a comment -

              Calling procedures is also affected even specifying database

              PS: Thanks for tiding up the ticket

              Show
              gbonvehi Guillermo Bonvehi added a comment - Calling procedures is also affected even specifying database PS: Thanks for tiding up the ticket
              Hide
              elenst Elena Stepanova added a comment -

              It's been a year, the upstream bug is still in 'verified'.

              Show
              elenst Elena Stepanova added a comment - It's been a year, the upstream bug is still in 'verified'.

                People

                • Assignee:
                  Unassigned
                  Reporter:
                  gbonvehi Guillermo Bonvehi
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  3 Start watching this issue

                  Dates

                  • Created:
                    Updated: