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

Merge binlog extended metadata support from the upstream

    XMLWordPrintable

Details

    Description

      Merge the following upstream patches into MariaDB

      commit c019294ca8fece7af3bca6e6190e4e1efafa22af
      Author: Libing Song <libing.song@oracle.com>
      Date:   Tue Feb 28 09:56:53 2017 +0800
       
          WL#4618 RBR: extended table metadata in the binary log
       
       
      commit 80c33082d0d033ba35e9ddcd5b848f50e59a1aa4
      Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
      Date:   Mon Mar 6 11:36:05 2017 +0100
      WL#4618 RBR: extended table metadata in the binary log
       
              Post-push fix: Fix Clang -Wtautological-constant-out-of-range-compare
       build warning.
       
       
      commit 0cdb2d9c5882d3c1c698dfe4b31510c27deacd45
      Author: Maria Couceiro <maria.couceiro@oracle.com>
      Date:   Thu May 18 15:35:21 2017 +0100
       
       BUG#26020990 --PRINT-TABLE-METADATA DOES NOT DISPLAY ALL METADATA IN TABLE_MAP_LOG EVENT
       
       
      commit e5b96670ed2aa075bab2eb33c6e5d675100979dd
      Author: Sven Sandberg <sven.sandberg@oracle.com>
      Date:   Fri Oct 12 10:58:35 2018 +0200
       
          BUG#28706307: CHARACTER SET OF ENUM DATA TYPE IS NOT AVAILABLE AS PART OF OPTIONAL METADATA
          BUG#28774144: MYSQLBINLOG --PRINT-TABLE-METADATA SHOW WRONG INFO ABOUT DEFAULT CHARSET
       
      

      And also create a function virtual binlog_type_info() for field which contains relevant metadata (like binlog_type(), signnness , charset , geom_type)
      For example

         uchar m_type_code;     // according to Field::binlog_type()
        /**
           Retrieve the field metadata for fields.
        */
         uint16 m_metadata;
         uint8 m_metadata_size;
         binlog_signess_t m_signess;
         CHARSET_INFO *m_cs; // NULL if not relevant
         TYPELIB *m_enum_typelib; // NULL if not relevant
         TYPELIB *m_set_typelib; // NULL if not relevant
         uchar m_geom_type; // Non-geometry fields can return 0
      
      

      Usage:-
      This functionality will be later used to implement MDEV-19708
      binlog_type_info() function will be used in pluggable datatypes implementation

      Attachments

        Issue Links

          Activity

            People

              sachin.setiya.007 Sachin Setiya (Inactive)
              sachin.setiya.007 Sachin Setiya (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              1 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.