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

Merge binlog extended metadata support from the upstream

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

            sachin.setiya.007 Sachin Setiya (Inactive) created issue -
            sachin.setiya.007 Sachin Setiya (Inactive) made changes -
            Field Original Value New Value
            Fix Version/s 10.5 [ 23123 ]
            sachin.setiya.007 Sachin Setiya (Inactive) made changes -
            Component/s Replication [ 10100 ]
            sachin.setiya.007 Sachin Setiya (Inactive) made changes -
            Summary Make slave aware of MDEV-19708 Merge binlog extended metadata support from the upstream
            sachin.setiya.007 Sachin Setiya (Inactive) made changes -
            Description Currently slave does not know that binlog has extra metadata which it can use for type conversion. Merge the following upstream patches into mysql


            {noformat}
            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
             
            {noformat}

            And also create a function virtual binlog_type_info() for field which contains relevant metadata (like binlog_type(), signnness , charset , geom_type)
            sachin.setiya.007 Sachin Setiya (Inactive) made changes -
            bar Alexander Barkov made changes -
            Description Merge the following upstream patches into mysql


            {noformat}
            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
             
            {noformat}

            And also create a function virtual binlog_type_info() for field which contains relevant metadata (like binlog_type(), signnness , charset , geom_type)
            Merge the following upstream patches into MariaDB


            {noformat}
            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
             
            {noformat}

            And also create a function virtual binlog_type_info() for field which contains relevant metadata (like binlog_type(), signnness , charset , geom_type)
            sachin.setiya.007 Sachin Setiya (Inactive) made changes -
            Description Merge the following upstream patches into MariaDB


            {noformat}
            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
             
            {noformat}

            And also create a function virtual binlog_type_info() for field which contains relevant metadata (like binlog_type(), signnness , charset , geom_type)
            Merge the following upstream patches into MariaDB


            {noformat}
            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
             
            {noformat}

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

            {noformat}
               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

            {noformat}
            sachin.setiya.007 Sachin Setiya (Inactive) added a comment - https://github.com/MariaDB/server/commit/967c14c04e9e14062bd2b8288e054514af3cd322
            sachin.setiya.007 Sachin Setiya (Inactive) made changes -
            Fix Version/s 10.5.0 [ 23709 ]
            Fix Version/s 10.5 [ 23123 ]
            Resolution Fixed [ 1 ]
            Status Open [ 1 ] Closed [ 6 ]
            marko Marko Mäkelä made changes -
            sachin.setiya.007 Sachin Setiya (Inactive) made changes -
            Description Merge the following upstream patches into MariaDB


            {noformat}
            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
             
            {noformat}

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

            {noformat}
               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

            {noformat}
            Merge the following upstream patches into MariaDB


            {noformat}
            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
             
            {noformat}

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

            {noformat}
               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

            {noformat}

            This functionality will be later used to implement MDEV-19708
            sachin.setiya.007 Sachin Setiya (Inactive) made changes -
            Description Merge the following upstream patches into MariaDB


            {noformat}
            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
             
            {noformat}

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

            {noformat}
               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

            {noformat}

            This functionality will be later used to implement MDEV-19708
            Merge the following upstream patches into MariaDB


            {noformat}
            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
             
            {noformat}

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

            {noformat}
               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

            {noformat}

            Usage:-
            This functionality will be later used to implement MDEV-19708
            binlog_type_info() function will be used in pluggable datatypes implementation
            Elkin Andrei Elkin made changes -
            Labels replication_event_metadata
            bar Alexander Barkov made changes -
            serg Sergei Golubchik made changes -
            Workflow MariaDB v3 [ 99374 ] MariaDB v4 [ 134080 ]
            rob.schwyzer@mariadb.com Rob Schwyzer (Inactive) made changes -
            rob.schwyzer@mariadb.com Rob Schwyzer (Inactive) made changes -
            bnestere Brandon Nesterenko made changes -

            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.