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

Convert Character Set of backing table leads to empty graph table

    XMLWordPrintable

    Details

      Description

      Hello guys,
      we have a problem that could be very similar to the one mentioned in MDEV-17172.

      When updating the charset of an empty backing table, we will no more get any results when calling the OQGRAPH table, i.e. every request returns an empty set.

      It only happens in the following case:

      # Create empty backing and oqgraph tables
       
      # Initially the result set is empty, which is expected
      SELECT * FROM graph;
       
      /*
      This changes some varchar columns of the backing table to be a different CHARSET
      and COLLATION. None of these columns are used in the graph table.
      */
      ALTER TABLE backing CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; 
       
      # Insert some data into backing table
      # INSERT INTO backing ...
      #
       
      # Here it returns an empty result set
      SELECT * FROM graph;
      

      The error does not seem to happen, if we remove the first `
      SELECT * FROM graph;` query, so for us it seems like the state of the database is cached (or something alike) in the state before the ALTER TABLE call and when later adding data, it is not reflected in the graph table.

      Recreating the graph table or restarting the database server helped in 95% of the time.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              Unassigned Unassigned
              Reporter:
              Lennard Dietz Lennard Dietz
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:

                  Git Integration