Uploaded image for project: 'MariaDB Connector/C'
  1. MariaDB Connector/C
  2. CONC-575

Support for (MySQL) zstd compression

    XMLWordPrintable

Details

    • Task
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • None
    • 3.3.0
    • Protocol
    • None

    Description

      ZStandard compression was added in MySQL 8.0 but is currently not supported by MariaDB Connector/C.

      MySQL indicates ZStandard compression support by setting CLIENT_ZSTD_COMPRESSION flag (1UL << 26).

      For using ZStandard compression the client set's CLIENT_ZSTD_COMPRESSION flag, instead of CLIENT_COMPRESS (=zlib compression) flag.
      In addition to the capability flag, the client will send a 4 byte (unsigned integer) after connection attributes which specifies the compress level:

      Client Handshake Response:

      ...
      if (server_capabilities & CLIENT_CONNECT_ATTRS)
          int<lenenc> size of connection attributes
          while packet has remaining data
              string<lenenc> key
              string<lenenc> value
      *NEW* 
      if (server_capabilities & CLIENT_ZSTD_COMPRESSION)
          int<4> compression level
      

      Attachments

        Activity

          People

            georg Georg Richter
            georg Georg Richter
            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.