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

LP:424553 - No way to limit temporary table size when Aria tables are in use

    Details

    • Type: Task
    • Status: Closed
    • Priority: Minor
    • Resolution: Won't Fix
    • Fix Version/s: 10.0.4
    • Component/s: None
    • Labels:

      Description

      I've hit this while merging this testcase from mysql-5.1/mysql-test/insert_select.test:

      CREATE TABLE t1(a INT);

      1. To force MyISAM temp. table in the following INSERT ... SELECT.
        SET max_heap_table_size = 16384;
      2. To overflow the temp. table.
        SET @old_myisam_data_pointer_size = @@myisam_data_pointer_size;
        SET GLOBAL myisam_data_pointer_size = 2;

      INSERT INTO t1 VALUES (1), (2), (3), (4), (5);

      --error ER_RECORD_FILE_FULL,ER_RECORD_FILE_FULL
      INSERT IGNORE INTO t1 SELECT t1.a FROM t1,t1 t2,t1 t3,t1 t4,t1 t5,t1 t6,t1 t7;

      The problems are that

      • Aria engine doesn't have an analog of myisam_data_pointer_size, consequently the insert will not fail and we can't run the testcase.
      • Albeit there is a #define USE_MARIA_FOR_TMP_TABLES, once you have a binary there is no straightforward way to tell from SQL whether it will use maria or myisam for temporary tables.

        Gliffy Diagrams

          Attachments

            Activity

            Hide
            psergey Sergei Petrunia added a comment -

            Re: No way to limit temporary table size when maria tables are in use
            Will add a server variable.

            Show
            psergey Sergei Petrunia added a comment - Re: No way to limit temporary table size when maria tables are in use Will add a server variable.
            Hide
            psergey Sergei Petrunia added a comment -

            Re: No way to limit temporary table size when maria tables are in use
            I think 5.1 tag should be removed and priority reduced.

            Other than the mentioned testcase (which we can live without), I have never saw anything or anybody to use @@myisam_data_pointer_size value to limit temporary table size. If there is a real need to set such limit, we should add a separate variable, e.g. @@disk_temp_table_size.

            With regards to inability to check the USE_MARIA_FOR_TMP_TABLES setting from SQL, that doesn't seem to be high priority (haven't seen anybody to build MariaDB with MyISAM temp.tables for a while, there are no known issues with MyISAM vs Maria temp.tables, etc.)

            Show
            psergey Sergei Petrunia added a comment - Re: No way to limit temporary table size when maria tables are in use I think 5.1 tag should be removed and priority reduced. Other than the mentioned testcase (which we can live without), I have never saw anything or anybody to use @@myisam_data_pointer_size value to limit temporary table size. If there is a real need to set such limit, we should add a separate variable, e.g. @@disk_temp_table_size. With regards to inability to check the USE_MARIA_FOR_TMP_TABLES setting from SQL, that doesn't seem to be high priority (haven't seen anybody to build MariaDB with MyISAM temp.tables for a while, there are no known issues with MyISAM vs Maria temp.tables, etc.)
            Hide
            psergey Sergei Petrunia added a comment -

            Re: No way to limit temporary table size when maria tables are in use
            Changed tags and priority accordingly.

            Show
            psergey Sergei Petrunia added a comment - Re: No way to limit temporary table size when maria tables are in use Changed tags and priority accordingly.
            Hide
            ratzpo Rasmus Johansson added a comment -

            Launchpad bug id: 424553

            Show
            ratzpo Rasmus Johansson added a comment - Launchpad bug id: 424553
            Hide
            psergey Sergei Petrunia added a comment -

            Closing as "Wont' fix" because currently, there are no plans to fix it. Feel free to re-open if this issue becomes relevant.

            Show
            psergey Sergei Petrunia added a comment - Closing as "Wont' fix" because currently, there are no plans to fix it. Feel free to re-open if this issue becomes relevant.

              People

              • Assignee:
                psergey Sergei Petrunia
                Reporter:
                psergey Sergei Petrunia
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: