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

Inconsistencies in handling of BINLOG commands for GTT vs TT

    XMLWordPrintable

Details

    • Not for Release Notes
    • Q4/2025 Server Maintenance

    Description

      With a regular TEMPORARY TABLE:

      SET sql_mode='';
      CREATE TEMPORARY TABLE t1 (c INT);
      SET SESSION enforce_storage_engine=MEMORY;
      BINLOG ' SOgWTg8BAAAAbgAAAHIAAAAAAAQANS42LjMtbTUtZGVidWctbG9nAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAABI6BZOEzgNAAgAEgAEBAQEEgAAVgAEGggAAAAICAgCAAAAAAVAYI8=';
      BINLOG 'wlZOTxMBAAAAKgAAADwCAAAAACkAAAAAAAEABHRlc3QAAnQxAAIDAwAC wlZOTxcBAAAAJgAAAGICAAAAACkAAAAAAAEAAv/8AgAAAAgAAAA=';
      

      The outcome on the final BINLOG statement is:

      MDEV-35915-2 CS 12.0.1 5d52514d536e9d141963f956408ac0efb4958a74 (Optimized, Clang 21.1.0-20250811) Build 06/09/2025

      ERROR 1146 (42S02): Table 'test.t1' doesn't exist
      

      Though note t1 gets created (as TEMPORARY). With GLOBAL TEMPORARY TABLE:

      SET sql_mode='';
      CREATE GLOBAL TEMPORARY TABLE t1 (c INT);
      SET SESSION enforce_storage_engine=MEMORY;
      BINLOG ' SOgWTg8BAAAAbgAAAHIAAAAAAAQANS42LjMtbTUtZGVidWctbG9nAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAABI6BZOEzgNAAgAEgAEBAQEEgAAVgAEGggAAAAICAgCAAAAAAVAYI8=';
      BINLOG 'wlZOTxMBAAAAKgAAADwCAAAAACkAAAAAAAEABHRlc3QAAnQxAAIDAwAC wlZOTxcBAAAAJgAAAGICAAAAACkAAAAAAAEAAv/8AgAAAAgAAAA=';
      SHOW WARNINGS;
      

      We see instead that the outcome on the final BINLOG statement and the subsequent SHOW WARNINGS is:

      MDEV-35915-2 CS 12.0.1 5d52514d536e9d141963f956408ac0efb4958a74 (Optimized, Clang 21.1.0-20250811) Build 06/09/2025

      Query OK, 0 rows affected, 1 warning (0.000 sec)
       
      12.0.1-opt>SHOW WARNINGS;
      +-------+------+--------------------------------------------+
      | Level | Code | Message                                    |
      +-------+------+--------------------------------------------+
      | Note  | 1266 | Using storage engine MEMORY for table 't1' |
      +-------+------+--------------------------------------------+
      

      Which is not consistent.

      Additionaly, if we instead use t TEXT for the table, with a regular TEMPORARY TABLE:

      SET sql_mode='';
      CREATE TEMPORARY TABLE t1 (t TEXT);
      SET SESSION enforce_storage_engine=MEMORY;
      BINLOG ' SOgWTg8BAAAAbgAAAHIAAAAAAAQANS42LjMtbTUtZGVidWctbG9nAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAABI6BZOEzgNAAgAEgAEBAQEEgAAVgAEGggAAAAICAgCAAAAAAVAYI8=';
      BINLOG 'wlZOTxMBAAAAKgAAADwCAAAAACkAAAAAAAEABHRlc3QAAnQxAAIDAwAC wlZOTxcBAAAAJgAAAGICAAAAACkAAAAAAAEAAv/8AgAAAAgAAAA=';
      

      We see:

      MDEV-35915-2 CS 12.0.1 5d52514d536e9d141963f956408ac0efb4958a74 (Optimized, Clang 21.1.0-20250811) Build 06/09/2025

      ERROR 1146 (42S02): Table 'test.t1' doesn't exist
      

      Versus with GLOBAL TEMPORARY TABLE:

      SET sql_mode='';
      CREATE GLOBAL TEMPORARY TABLE t1 (t TEXT);
      SET SESSION enforce_storage_engine=MEMORY;
      BINLOG ' SOgWTg8BAAAAbgAAAHIAAAAAAAQANS42LjMtbTUtZGVidWctbG9nAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAABI6BZOEzgNAAgAEgAEBAQEEgAAVgAEGggAAAAICAgCAAAAAAVAYI8=';
      BINLOG 'wlZOTxMBAAAAKgAAADwCAAAAACkAAAAAAAEABHRlc3QAAnQxAAIDAwAC wlZOTxcBAAAAJgAAAGICAAAAACkAAAAAAAEAAv/8AgAAAAgAAAA=';
      

      We see instead:

      MDEV-35915-2 CS 12.0.1 5d52514d536e9d141963f956408ac0efb4958a74 (Optimized, Clang 21.1.0-20250811) Build 06/09/2025

      ERROR 1163 (42000): Storage engine MEMORY doesn't support BLOB/TEXT columns
      

      It is likely that these inconsistencies in handling BINLOG commands may cause issues with replication.
      Please also clarify how GLOBAL TEMPORARY TABLES should work here. Thank you.

      Attachments

        Issue Links

          Activity

            People

              nikitamalyavin Nikita Malyavin
              Roel Roel Van de Paar
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.