1. 20 Aug, 2004 1 commit
    • unknown's avatar
      Fix for bug#4912 "mysqld crashs in case a statement is executed · 48bb5630
      unknown authored
       a second time". The bug was caused by incompatibility of
      negations elimination algorithm and PS: during first statement 
      execute a subtree with negation was replaced with equivalent 
      subtree without NOTs.
      The problem was that although this transformation was permanent, 
      items of the new subtree were created in execute-local memory.
      The patch adds means to check if it is the first execute of a
      prepared statement, and if this is the case, to allocate items
      in memory of the prepared statement.
      The implementation:
      - backports Item_arena from 5.0
      - adds Item_arena::is_stmt_prepare(), 
        Item_arena::is_first_stmt_execute().
      - deletes THD::allocate_temporary_pool_for_ps_preparing(),
        THD::free_temporary_pool_for_ps_preparing(); they
        were redundant.
      and adds a few invariants:
      - thd->free_list never contains junk (= freed items)
      - thd->current_arena is never null. If there is no
        prepared statement, it points at the thd. 
      The rest of the patch contains mainly mechanical changes and
      cleanups.
      
      
      mysql-test/r/ps.result:
        Test results updated (test case for Bug#4912)
      mysql-test/t/ps.test:
        A test case for Bug#4912 "mysqld crashs in case a statement is 
        executed a second time"
      sql/item_cmpfunc.cc:
        current_statement -> current_arena
      sql/item_subselect.cc:
        Statement -> Item_arena, current_statement -> current_arena
      sql/item_subselect.h:
        Item_subselect does not need to save thd->current_statement.
      sql/item_sum.cc:
        Statement -> Item_arena
      sql/item_sum.h:
        Statement -> Item_arena
      sql/mysql_priv.h:
        Statement -> Item_arena
      sql/sql_base.cc:
        current_statement -> current_arena
      sql/sql_class.cc:
        - Item_arena
        - convenient set_n_backup_statement, restore_backup_statement
        (nice idea, Sanja)
      sql/sql_class.h:
        - Item_arena: backport from 5.0
        - allocate_temporary_pool_for_ps_preparing,
          free_temporary_pool_for_ps_preparing removed.
      sql/sql_derived.cc:
        current_statement -> current_arena
      sql/sql_lex.cc:
        current_statement -> current_arena
      sql/sql_parse.cc:
        Deploy invariant that thd->free_list never contains junk items
        (backport from 5.0).
      sql/sql_prepare.cc:
        - backporting Item_arena
        - no need to allocate_temporary_pool_for_ps_preparing().
      sql/sql_select.cc:
        Fix for bug#4912 "mysqld crashs in case a statement is 
        executed a second time": if this is the first execute of
        a prepared statement, negation elimination is
        done in memory of the prepared statement.
      sql/sql_union.cc:
        Backporting Item_arena from 5.0.
      48bb5630
  2. 19 Aug, 2004 10 commits
  3. 18 Aug, 2004 11 commits
    • unknown's avatar
      Merge gbichot@213.136.52.20:/home/bk/mysql-4.1 · 9388725b
      unknown authored
      into mysql.com:/home/mysql_src/mysql-4.1-874
      
      9388725b
    • unknown's avatar
      Very small API change: changing the values in enum enum_shutdown_level; · 3fa5bc2d
      unknown authored
      as this enum is not really usable yet (as MySQL server supports only one
      shutdown level), and as SHUTDOWN_DEFAULT is still left to 0, this change
      should disturb no user. Later (in 4.1.4 or 4.1.5) code will be pushed to
      implement graceful shutdown using this enum.
      
      
      VC++Files/winmysqladmin/mysql_com.h:
        changing the values in the enumeration enum_shutdown_level.
      include/mysql_com.h:
        changing the values in the enum enum_shutdown_level.
        The main one, SHUTDOWN_DEFAULT, is unchanged.
      3fa5bc2d
    • unknown's avatar
      manually merged · 1afa6809
      unknown authored
      
      BitKeeper/etc/logging_ok:
        auto-union
      BitKeeper/deleted/.del-mytest-old.c~5237697b30cf59e4:
        Auto merged
      Build-tools/Bootstrap:
        Auto merged
      Build-tools/mysql-copyright:
        Auto merged
      configure.in:
        Auto merged
      BitKeeper/deleted/.del-mysql_fix_privilege_tables.sql:
        Auto merged
      VC++Files/innobase/innobase.dsp:
        Auto merged
      client/mysql.cc:
        Auto merged
      include/my_global.h:
        Auto merged
      innobase/dict/dict0crea.c:
        Auto merged
      innobase/dict/dict0dict.c:
        Auto merged
      innobase/include/mtr0log.h:
        Auto merged
      innobase/include/mtr0log.ic:
        Auto merged
      innobase/include/srv0srv.h:
        Auto merged
      innobase/include/ut0dbg.h:
        Auto merged
      innobase/lock/lock0lock.c:
        Auto merged
      innobase/os/os0file.c:
        Auto merged
      innobase/row/row0mysql.c:
        Auto merged
      innobase/row/row0sel.c:
        Auto merged
      innobase/srv/srv0srv.c:
        Auto merged
      innobase/ut/ut0dbg.c:
        Auto merged
      innobase/ut/ut0mem.c:
        Auto merged
      libmysql/Makefile.am:
        Auto merged
      libmysql/Makefile.shared:
        Auto merged
      libmysql/conf_to_src.c:
        Auto merged
      libmysql/dll.c:
        Auto merged
      libmysql/errmsg.c:
        Auto merged
      libmysql/manager.c:
        Auto merged
      libmysql_r/Makefile.am:
        Auto merged
      myisam/mi_key.c:
        Auto merged
      mysql-test/Makefile.am:
        Auto merged
      mysql-test/mysql-test-run.sh:
        Auto merged
      mysql-test/r/having.result:
        Auto merged
      mysql-test/r/heap.result:
        Auto merged
      mysql-test/r/type_date.result:
        Auto merged
      mysql-test/r/type_float.result:
        Auto merged
      mysql-test/t/having.test:
        Auto merged
      mysql-test/t/heap.test:
        Auto merged
      mysql-test/t/type_date.test:
        Auto merged
      mysql-test/t/type_float.test:
        Auto merged
      mysql-test/t/type_uint.test:
        Auto merged
      scripts/make_binary_distribution.sh:
        Auto merged
      scripts/make_win_src_distribution.sh:
        Auto merged
      sql/Makefile.am:
        Auto merged
      sql/field.h:
        Auto merged
      sql/ha_heap.cc:
        Auto merged
      sql/item_func.cc:
        Auto merged
      sql/item_func.h:
        Auto merged
      sql/item_sum.h:
        Auto merged
      sql/lock.cc:
        Auto merged
      sql/log.cc:
        Auto merged
      sql/protocol.cc:
        Auto merged
      sql/repl_failsafe.cc:
        Auto merged
      sql/sql_acl.cc:
        Auto merged
      sql/sql_analyse.cc:
        Auto merged
      sql/sql_class.cc:
        Auto merged
      sql/sql_class.h:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      sql/share/czech/errmsg.txt:
        Auto merged
      sql/share/danish/errmsg.txt:
        Auto merged
      sql/share/dutch/errmsg.txt:
        Auto merged
      sql/share/english/errmsg.txt:
        Auto merged
      sql/share/estonian/errmsg.txt:
        Auto merged
      sql/share/french/errmsg.txt:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      sql/sql_table.cc:
        Auto merged
      sql/share/greek/errmsg.txt:
        Auto merged
      sql/share/hungarian/errmsg.txt:
        Auto merged
      sql/share/japanese/errmsg.txt:
        Auto merged
      sql/share/korean/errmsg.txt:
        Auto merged
      sql/share/norwegian-ny/errmsg.txt:
        Auto merged
      sql/share/norwegian/errmsg.txt:
        Auto merged
      sql/share/polish/errmsg.txt:
        Auto merged
      sql/share/portuguese/errmsg.txt:
        Auto merged
      sql/share/romanian/errmsg.txt:
        Auto merged
      sql/share/russian/errmsg.txt:
        Auto merged
      sql/share/slovak/errmsg.txt:
        Auto merged
      sql/share/spanish/errmsg.txt:
        Auto merged
      sql/share/swedish/errmsg.txt:
        Auto merged
      sql/share/ukrainian/errmsg.txt:
        Auto merged
      1afa6809
    • unknown's avatar
      Added some explicit templates · 2141c52f
      unknown authored
      2141c52f
    • unknown's avatar
      Bug 4937: different date -> string conversion when using · 8c83ab40
      unknown authored
      SELECT ... UNION and INSERT ... SELECT ... UNION
      
      8c83ab40
    • unknown's avatar
      Added some explicit templates · fe13da4e
      unknown authored
      fe13da4e
    • unknown's avatar
      Merge tulin@bk-internal.mysql.com:/home/bk/mysql-4.1 · 370523ef
      unknown authored
      into poseidon.(none):/home/tomas/mysql-4.1
      
      370523ef
    • unknown's avatar
      bug#5076 bug#5077 · b3b980ab
      unknown authored
      b3b980ab
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-4.0/ · e20b1a57
      unknown authored
      into serg.mylan:/usr/home/serg/Abk/mysql-4.0
      
      e20b1a57
    • unknown's avatar
      func_like.result: · bd523f55
      unknown authored
        LIKE crashed mysqld for binary collations in some cases
      
      
      mysql-test/r/func_like.result:
        LIKE crashed mysqld for binary collations in some cases
      bd523f55
    • unknown's avatar
      Many files: · 2ebf2003
      unknown authored
        LIKE crashed mysqld for binary collations in some cases
      
      
      strings/ctype-big5.c:
        LIKE crashed mysqld for binary collations in some cases
      strings/ctype-euc_kr.c:
        LIKE crashed mysqld for binary collations in some cases
      strings/ctype-gb2312.c:
        LIKE crashed mysqld for binary collations in some cases
      strings/ctype-gbk.c:
        LIKE crashed mysqld for binary collations in some cases
      strings/ctype-latin1.c:
        LIKE crashed mysqld for binary collations in some cases
      strings/ctype-sjis.c:
        LIKE crashed mysqld for binary collations in some cases
      strings/ctype-tis620.c:
        LIKE crashed mysqld for binary collations in some cases
      strings/ctype-ucs2.c:
        LIKE crashed mysqld for binary collations in some cases
      strings/ctype-ujis.c:
        LIKE crashed mysqld for binary collations in some cases
      strings/ctype-utf8.c:
        LIKE crashed mysqld for binary collations in some cases
      sql/item_cmpfunc.cc:
        LIKE crashed mysqld for binary collations in some cases
      2ebf2003
  4. 17 Aug, 2004 18 commits