1. 24 Oct, 2006 2 commits
    • unknown's avatar
      1e3c6cab
    • unknown's avatar
      Fix for BUG#17486: IM: race condition on exit. · aeec4593
      unknown authored
      The problem was that IM stoped guarded instances on shutdown,
      but didn't wait for them to stop.
      
      The fix is to wait for guarded instances to stop before exitting
      from the main thread.
      
      The idea is that Instance-monitoring thread should add itself
      to Thread_registry so that it will be taken into account on shutdown.
      However, Thread_registry should not signal it on shutdown in order to
      not interrupt wait()/waitpid().
      
      
      server-tools/instance-manager/guardian.cc:
        Be more verbose.
      server-tools/instance-manager/instance.cc:
        Register mysqld-monitoring thread in Thread_registry.
      server-tools/instance-manager/instance.h:
        Add reference to Thread_registry.
      server-tools/instance-manager/instance_map.cc:
        Pass Thread_registry reference to Instance.
      server-tools/instance-manager/instance_map.h:
        Add reference to Thread_registry.
      server-tools/instance-manager/listener.cc:
        Be more verbose.
      server-tools/instance-manager/manager.cc:
        Be more verbose.
      server-tools/instance-manager/mysql_connection.cc:
        Eliminate type-conversion warnings.
      server-tools/instance-manager/thread_registry.cc:
        Be more verbose.
      server-tools/instance-manager/thread_registry.h:
        Eliminate copy&paste, make impl-specific constructor private.
      aeec4593
  2. 23 Oct, 2006 3 commits
    • unknown's avatar
      Post-merge fixes. · 66b87280
      unknown authored
      
      mysql-test/r/sp.result:
        Update results.
      mysql-test/r/view.result:
        Update results.
      server-tools/instance-manager/guardian.cc:
        Post-merge fixes (instance_name is a LEX_STRING).
      server-tools/instance-manager/instance.cc:
        Post-merge fixes (instance_name is a LEX_STRING).
      66b87280
    • unknown's avatar
      Merge bodhi.local:/opt/local/work/mysql-5.0-runtime · d946b64d
      unknown authored
      into  bodhi.local:/opt/local/work/mysql-5.1-runtime-merge
      
      
      mysql-test/r/im_daemon_life_cycle.result:
        Auto merged
      mysql-test/r/ps.result:
        Auto merged
      mysql-test/r/rpl_insert_id.result:
        Auto merged
      mysql-test/r/sp-vars.result:
        Auto merged
      mysql-test/r/trigger.result:
        Auto merged
      mysql-test/r/view.result:
        Auto merged
      mysql-test/t/func_gconcat.test:
        Auto merged
      mysql-test/t/im_daemon_life_cycle.imtest:
        Auto merged
      mysql-test/t/ps.test:
        Auto merged
      mysql-test/t/rpl_insert_id.test:
        Auto merged
      mysql-test/t/sp.test:
        Auto merged
      mysql-test/t/trigger.test:
        Auto merged
      server-tools/instance-manager/guardian.cc:
        Auto merged
      server-tools/instance-manager/guardian.h:
        Auto merged
      server-tools/instance-manager/instance_map.cc:
        Auto merged
      server-tools/instance-manager/listener.cc:
        Auto merged
      sql/item_func.cc:
        Auto merged
      sql/item_func.h:
        Auto merged
      sql/item_sum.cc:
        Auto merged
      sql/item_sum.h:
        Auto merged
      sql/sp_head.cc:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      sql/sql_lex.cc:
        Auto merged
      sql/sql_lex.h:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      sql/sql_trigger.cc:
        Auto merged
      sql/sql_view.cc:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      tests/mysql_client_test.c:
        Auto merged
      mysql-test/r/sp-error.result:
        Use local
      mysql-test/r/sp.result:
        Use local
        (will overwrite)
      mysql-test/t/view.test:
        Use local.
      mysql-test/mysql-test-run.pl:
        Manual merge.
      mysql-test/t/sp-error.test:
        Manual merge.
      server-tools/instance-manager/instance.cc:
        Manual merge.
      server-tools/instance-manager/manager.cc:
        Manual merge.
      server-tools/instance-manager/options.cc:
        Manual merge.
      server-tools/instance-manager/options.h:
        Manual merge.
      sql/log_event.cc:
        Manual merge.
      sql/set_var.cc:
        Manual merge.
      sql/sql_class.h:
        Manual merge.
      sql/sql_insert.cc:
        Manual merge.
      sql/sql_load.cc:
        Manual merge.
      sql/sql_select.cc:
        Manual merge.
      sql/sql_update.cc:
        Manual merge.
      d946b64d
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.1 · efcd6b42
      unknown authored
      into  bodhi.local:/opt/local/work/mysql-5.1-runtime-merge
      
      
      mysql-test/r/ps.result:
        Auto merged
      mysql-test/t/func_gconcat.test:
        Auto merged
      mysql-test/t/ps.test:
        Auto merged
      sql/item_func.cc:
        Auto merged
      sql/item_func.h:
        Auto merged
      sql/log_event.cc:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/set_var.cc:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      sql/sql_class.h:
        Auto merged
      sql/sql_insert.cc:
        Auto merged
      sql/sql_lex.cc:
        Auto merged
      sql/sql_lex.h:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      sql/sql_update.cc:
        Auto merged
      sql/sql_view.cc:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      tests/mysql_client_test.c:
        Auto merged
      mysql-test/r/view.result:
        Manual merge.
      mysql-test/t/view.test:
        Manual merge.
      efcd6b42
  3. 20 Oct, 2006 10 commits
    • unknown's avatar
      Instance Manager polishing. · 8db4dc3f
      unknown authored
      
      server-tools/instance-manager/guardian.cc:
        1. Removed unused stop_instances_arg from request_shutdown() and
        stop_instances() methods.
        
        2. Changed log-output statements so that instance name is passed
        correctly (char *, not LEX_STRING)
      server-tools/instance-manager/guardian.h:
        Removed unused stop_instances_arg from request_shutdown() and
        stop_instances() methods.
      server-tools/instance-manager/instance.cc:
        Removed unused stop_instances_arg from request_shutdown() and
        stop_instances() methods.
      server-tools/instance-manager/listener.cc:
        Be more verbose in log.
      server-tools/instance-manager/manager.cc:
        Removed unused stop_instances argument.
      8db4dc3f
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0-runtime · a6273e6d
      unknown authored
      into  mockturtle.local:/home/dlenev/src/mysql-5.0-bg15228-2
      
      
      sql/sql_trigger.cc:
        Auto merged
      sql/sql_view.cc:
        Auto merged
      a6273e6d
    • unknown's avatar
      Merge mockturtle.local:/home/dlenev/src/mysql-5.0-bg15228-2 · d76cf997
      unknown authored
      into  mockturtle.local:/home/dlenev/src/mysql-5.1-bg15228
      
      
      sql/sql_trigger.cc:
        Auto merged
      sql/sql_view.cc:
        Auto merged
      d76cf997
    • unknown's avatar
      Fix for bug#15228 "'invalid access to non-static data member' · 1a793de9
      unknown authored
      warnings in sql_trigger.cc and sql_view.cc".
      
      According to the current version of C++ standard offsetof() macro
      can't be used for non-POD types. So warnings were emitted when we
      tried to use this macro for TABLE_LIST and Table_triggers_list
      classes. Note that despite of these warnings it was probably safe
      thing to do.
      
      This fix tries to circumvent this limitation by implementing
      custom version of offsetof() macro to be used with these
      classes. This hack should go away once we will refactor
      File_parser class.
      
      Alternative approaches such as disabling this warning for
      sql_trigger.cc/sql_view.cc or for the whole server were
      considered less explicit. Also I was unable to find a way
      to disable particular warning for particular _part_ of
      file in GCC.
      
      
      sql/parse_file.h:
        Introduced auxillary macro which can be used instead of offsetof()
        to get offsets of members in class for non-POD types without getting
        warnings (assuming that all instances of the class has same offsets
        for same members).
      sql/sql_trigger.cc:
        Use my_offsetof() macro instead of standard offsetof() macro with
        Table_triggers_list class in order to avoid warnings (offsetof()
        cannot be used for non-POD types according to the standard).
      sql/sql_view.cc:
        Use my_offsetof() macro instead of standard offsetof() macro with
        TABLE_LIST class in order to avoid warnings (offsetof() cannot
        be used for non-POD types according to the standard).
      1a793de9
    • unknown's avatar
      Merge dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.0-opt · 9852dfbc
      unknown authored
      into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.1-opt
      
      
      mysql-test/r/myisam.result:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      9852dfbc
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-5.1 · 73baa90a
      unknown authored
      into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.1-opt
      
      
      mysql-test/r/myisam.result:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      73baa90a
    • unknown's avatar
      Merge dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-4.1-opt · ab133655
      unknown authored
      into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.0-opt
      
      
      sql/sql_base.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      ab133655
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-5.0 · 8cc48091
      unknown authored
      into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.0-opt
      
      
      mysql-test/r/myisam.result:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      8cc48091
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-4.1 · 0153d67e
      unknown authored
      into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-4.1-opt
      
      
      sql/sql_base.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      0153d67e
    • unknown's avatar
      sql_rename.cc, sql_table.cc, type_decimal.result, mix2_myisam.result: · 95124370
      unknown authored
        merge fixes
      
      
      mysql-test/r/mix2_myisam.result:
        merge fixes
      mysql-test/r/type_decimal.result:
        merge fixes
      sql/sql_rename.cc:
        merge fixes
      sql/sql_table.cc:
        merge fixes
      95124370
  4. 19 Oct, 2006 23 commits
    • unknown's avatar
      Bug#20028 (Function with select return no data) · 5bd58f3e
      unknown authored
      This patch reverts a change introduced by Bug 6951, which incorrectly
      set thd->abort_on_warning for stored procedures.
      
      As per internal discussions about the SQL_MODE=TRADITIONAL,
      the correct behavior is to *not* abort on warnings even inside an INSERT/UPDATE
      trigger.
      
      Tests for Stored Procedures, Stored Functions, Triggers involving SQL_MODE
      have been included or revised, to reflect the intended behavior.
      
      (reposting approved patch, to work around source control issues, no review needed)
      
      
      mysql-test/include/sp-vars.inc:
        Tests for SQL_MODE='TRADITIONAL'
      mysql-test/r/sp-vars.result:
        Tests for SQL_MODE='TRADITIONAL'
      mysql-test/r/sp.result:
        Tests for SQL_MODE='TRADITIONAL'
      mysql-test/r/trigger.result:
        Tests for SQL_MODE='TRADITIONAL'
      mysql-test/t/sp-vars.test:
        Tests for SQL_MODE='TRADITIONAL'
      mysql-test/t/sp.test:
        Tests for SQL_MODE='TRADITIONAL'
      mysql-test/t/trigger.test:
        Tests for SQL_MODE='TRADITIONAL'
      sql/sp_head.cc:
        For SQL_MODE='TRADITIONAL',
        thd->abort_on_warning should be set only when assigning a *column*
      5bd58f3e
    • unknown's avatar
      After merge fix. · 94f337bb
      unknown authored
      94f337bb
    • unknown's avatar
      Merge mysql.com:/home/svoj/devel/mysql/engines/mysql-5.0-engines · 9a77a540
      unknown authored
      into  mysql.com:/home/svoj/devel/mysql/engines/mysql-5.1-engines
      
      
      mysql-test/t/repair.test:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      storage/myisam/sort.c:
        Auto merged
      mysql-test/r/repair.result:
        Manual merge.
      9a77a540
    • unknown's avatar
      Merge dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.0-opt · fcbf1509
      unknown authored
      into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.1-opt
      
      
      BitKeeper/deleted/.del-bdb.result:
        Auto merged
      mysql-test/r/func_gconcat.result:
        Auto merged
      mysql-test/r/group_min_max.result:
        Auto merged
      mysql-test/r/innodb.result:
        Auto merged
      mysql-test/r/merge.result:
        Auto merged
      mysql-test/r/myisam.result:
        Auto merged
      mysql-test/r/olap.result:
        Auto merged
      mysql-test/r/select.result:
        Auto merged
      mysql-test/r/type_decimal.result:
        Auto merged
      mysql-test/r/view.result:
        Auto merged
      mysql-test/t/func_gconcat.test:
        Auto merged
      mysql-test/t/group_min_max.test:
        Auto merged
      mysql-test/t/select.test:
        Auto merged
      sql/item_cmpfunc.cc:
        Auto merged
      sql/item_cmpfunc.h:
        Auto merged
      sql/opt_range.cc:
        Auto merged
      sql/opt_range.h:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      sql/sql_delete.cc:
        Auto merged
      sql/sql_lex.cc:
        Auto merged
      sql/sql_lex.h:
        Auto merged
      sql/sql_select.h:
        Auto merged
      sql/sql_update.cc:
        Auto merged
      sql/table.cc:
        Auto merged
      include/my_base.h:
        SCCS merged
      mysql-test/include/mix1.inc:
        SCCS merged
      mysql-test/r/group_by.result:
        SCCS merged
      mysql-test/r/innodb_mysql.result:
        SCCS merged
      mysql-test/t/group_by.test:
        SCCS merged
      sql/sql_select.cc:
        SCCS merged
      fcbf1509
    • unknown's avatar
      Merge dl145s.mysql.com:/data/bk/team_tree_merge/mysql-5.1 · f4f15b54
      unknown authored
      into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.1-opt
      
      
      mysql-test/r/view.result:
        Auto merged
      mysql-test/t/view.test:
        Auto merged
      sql/table.cc:
        Auto merged
      f4f15b54
    • unknown's avatar
      After merge fix. · 3ad2baa1
      unknown authored
      3ad2baa1
    • unknown's avatar
      Merge mysql.com:/home/svoj/devel/mysql/engines/mysql-4.1-engines · baacb8a1
      unknown authored
      into  mysql.com:/home/svoj/devel/mysql/engines/mysql-5.0-engines
      
      
      myisam/sort.c:
        Auto merged
      mysql-test/r/repair.result:
        Auto merged
      mysql-test/t/repair.test:
        Auto merged
      sql/sql_base.cc:
        Use local.
      baacb8a1
    • unknown's avatar
      Merge dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-4.1-opt · 5e1fe0f8
      unknown authored
      into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.0-opt
      
      
      sql/sql_select.cc:
        Auto merged
      mysql-test/r/olap.result:
        SCCS merged
      5e1fe0f8
    • unknown's avatar
      Merge dl145s.mysql.com:/data/bk/team_tree_merge/mysql-5.0 · d3018677
      unknown authored
      into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.0-opt
      
      
      mysql-test/r/merge.result:
        Auto merged
      mysql-test/r/myisam.result:
        Auto merged
      mysql-test/r/select.result:
        Auto merged
      mysql-test/r/view.result:
        Auto merged
      sql/item_cmpfunc.cc:
        Auto merged
      sql/item_cmpfunc.h:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/opt_range.cc:
        Auto merged
      sql/opt_range.h:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      sql/sql_table.cc:
        Auto merged
      sql/sql_update.cc:
        Auto merged
      sql/table.cc:
        Auto merged
      d3018677
    • unknown's avatar
      Merge mysql.com:/home/svoj/devel/mysql/BUG23175/mysql-4.1-engines · 2576c4c0
      unknown authored
      into  mysql.com:/home/svoj/devel/mysql/engines/mysql-4.1-engines
      
      
      mysql-test/r/repair.result:
        Manual merge.
      mysql-test/t/repair.test:
        Manual merge.
      2576c4c0
    • unknown's avatar
      Merge dl145s.mysql.com:/data/bk/team_tree_merge/mysql-4.1 · 9bfaab57
      unknown authored
      into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-4.1-opt
      
      
      sql/sql_select.cc:
        Auto merged
      9bfaab57
    • unknown's avatar
      Merge mysql.com:/home/svoj/devel/mysql/BUG22562/mysql-4.1-engines · f841b546
      unknown authored
      into  mysql.com:/home/svoj/devel/mysql/engines/mysql-4.1-engines
      
      
      f841b546
    • unknown's avatar
      Merge chilla.local:/home/mydev/mysql-5.0-merge · e873878d
      unknown authored
      into  chilla.local:/home/mydev/mysql-5.1-merge
      
      
      sql/mysql_priv.h:
        Auto merged
      e873878d
    • unknown's avatar
      Bug#21476 - Lost Database Connection During Query · 862d8bab
      unknown authored
      Backport from 5.1.
      Raised STACK_MIN_SIZE for Debian GNU/Linux Sid,
      Linux kernel 2.6.16,
      gcc version 3.3.6 (Debian 1:3.3.6-13),
      libc6-dbg 2.3.6.ds1-4,
      Pentium4 (x86),
      BUILD/compile-pentium-debug-max
      Raised about 100 Bytes above the required minimum.
      
      
      862d8bab
    • unknown's avatar
      Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0 · de304106
      unknown authored
      into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug21856
      
      
      sql/sql_parse.cc:
        Auto merged
      mysql-test/r/ps.result:
        Manual merge.
      mysql-test/t/ps.test:
        Manual merge.
      de304106
    • unknown's avatar
      Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug21856 · f9b9c890
      unknown authored
      into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.1-bug21856
      
      
      sql/sql_parse.cc:
        Auto merged
      mysql-test/r/ps.result:
        Manual merge.
      mysql-test/t/ps.test:
        Manual merge.
      sql/sql_prepare.cc:
        Manual merge.
      f9b9c890
    • unknown's avatar
      BUG#21856: Prepared Statements: crash if bad create · ef2d2165
      unknown authored
      When statement to be prepared contained CREATE PROCEDURE, CREATE FUNCTION
      or CREATE TRIGGER statements with a syntax error in it, the preparation
      would fail with syntax error message, but the memory could be corrupted.
      
      The problem occurred because we switch memroot when parse stored
      routine or trigger definitions, and on parse error we restored the
      original memroot only after performing some memory operations.  In more
      detail:
       - prepared statement would activate its own memory root to parse
         the definition of the stored procedure.
       - SP would reset this memory root with its own memory root to
         parse SP statements
       - a syntax error would happen
       - prepared statement would restore the original memory root
       - stored procedure would restore what it thinks was the original
         memory root, but actually was the statement memory root.
      That led to double free - in destruction of the statement and in
      a next call to mysql_parse().
      
      The solution is to restore memroot right after the failed parsing.
      
      
      mysql-test/r/ps.result:
        Add result for bug#21856: Prepared Statements: crash if bad create.
      mysql-test/t/ps.test:
        Add test case for bug#21856: Prepared Statements: crash if bad create.
      sql/sql_parse.cc:
        On parse error if thd->lex->sphead is set we have to free sp_head object
        to restore statement memroot, if it was switched during parsing.
        
        The change here is for safety, currently query_cache_abort() and
        lex->unit.cleanup() calls do not use current memroot.
      sql/sql_prepare.cc:
        On parse error if thd->lex->sphead is set we have to free sp_head object
        to restore statement memroot, if it was switched during parsing.
      ef2d2165
    • unknown's avatar
      Merge chilla.local:/home/mydev/mysql-5.0-merge · 2a7ee79b
      unknown authored
      into  chilla.local:/home/mydev/mysql-5.1-merge
      
      
      include/my_sys.h:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      storage/myisam/myisamdef.h:
        Auto merged
      2a7ee79b
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.1 · 8144eb5a
      unknown authored
      into  chilla.local:/home/mydev/mysql-5.1-merge
      
      
      include/my_sys.h:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      8144eb5a
    • unknown's avatar
      Merge chilla.local:/home/mydev/mysql-4.1-merge · 0e5fee5d
      unknown authored
      into  chilla.local:/home/mydev/mysql-5.0-merge
      
      
      include/my_sys.h:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      0e5fee5d
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0 · 554aaed3
      unknown authored
      into  chilla.local:/home/mydev/mysql-5.0-merge
      
      
      sql/sql_select.cc:
        Auto merged
      554aaed3
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.1 · a4a09cd2
      unknown authored
      into  chilla.local:/home/mydev/mysql-4.1-merge
      
      
      a4a09cd2
    • unknown's avatar
  5. 18 Oct, 2006 2 commits
    • unknown's avatar
      Merge mysql.com:/data0/bk/mysql-5.0 · ea39ca34
      unknown authored
      into  mysql.com:/data0/bk/mysql-5.0-kt
      
      
      ea39ca34
    • unknown's avatar
      BUG#23175 - MYISAM crash/repair failed during repair · 48cf65c0
      unknown authored
      Repair table could crash a server if there is not sufficient
      memory (myisam_sort_buffer_size) to operate. Affects not only
      repair, but also all statements that use create index by sort:
      repair by sort, parallel repair, bulk insert.
      
      Return an error if there is not sufficient memory to store at
      least one key per BUFFPEK.
      
      Also fixed memory leak if thr_find_all_keys returns an error.
      
      
      myisam/sort.c:
        maxbuffer is number of BUFFPEK-s for repair. It is calculated
        as records / keys. keys is number of keys that can be stored
        in memory (myisam_sort_buffer_size). There must be sufficient
        memory to store both BUFFPEK-s and keys. It was checked
        correctly before this patch. However there is another
        requirement that wasn't checked: there must be sufficient
        memory for at least one key per BUFFPEK, otherwise repair
        by sort/parallel repair cannot operate.
        
        Return an error if there is not sufficient memory to store at
        least one key per BUFFPEK.
        
        Also fixed memory leak if thr_find_all_keys returns an error.
      mysql-test/r/repair.result:
        A test case for BUG#23175.
      mysql-test/t/repair.test:
        A test case for BUG#23175.
      48cf65c0