execute crashes server": we were deleting lex->result
after each execute, but prepared statements assumed that
it's left intact.
The fix adds cleanup() method to select_result hierarchy,
so that result objects can be reused.
Plus we now need to delete result objects more wisely.
mysql-test/r/ps.result:
Test results fixed: test case for bug#5034
mysql-test/t/ps.test:
A test case for bug#5034, few followups
sql/sql_class.cc:
- fix warning in THD::THD
- implementation of cleanup() for select_result hierarchy
- select_export::send_eof was identical to
select_dump::send_eof: moved to the base class select_to_file.
- Statement::end_statement() to end lex, free items, and
delete possible select_result
sql/sql_class.h:
- select_result::cleanup() declaration
-
sql/sql_insert.cc:
- implementation of select_insert::cleanup(): currently
we always create a new instance of select_insert/
select_create on each execute.
sql/sql_lex.cc:
- with more complicated logic of freeing lex->result it's
easier to have it non-zero only if it points to a valid
result.
sql/sql_lex.h:
Now st_lex::st_lex is not empty.
sql/sql_parse.cc:
mysql_execute_command():
- delete select_result *result only if it was created in
this function.
- use end_statement() to cleanup lex and thd in the end of
each statement.
- no need to save THD::lock if this is explain. This save
apparently left from times when derived tables were
materialized here, not in open_and_lock_tables.
sql/sql_prepare.cc:
- call result->cleanup() in reset_stmt_for_execute
- now Statement is responsible for freeing its lex->result.
sql/sql_select.cc:
handle_select():
- don't delete result, it might be needed
for next executions
- result is never null
(fixed Bug #4462 libedit compile failure)
BitKeeper/etc/ignore:
change config.h -> config.h to commit cmd-line-utils/libedit/config.h
cmd-line-utils/libedit/Makefile.am:
upgrade to libedit-2.6.7
cmd-line-utils/libedit/chared.c:
upgrade to libedit-2.6.7
cmd-line-utils/libedit/chared.h:
upgrade to libedit-2.6.7
cmd-line-utils/libedit/common.c:
upgrade to libedit-2.6.7
cmd-line-utils/libedit/el.c:
upgrade to libedit-2.6.7
cmd-line-utils/libedit/el.h:
upgrade to libedit-2.6.7
cmd-line-utils/libedit/emacs.c:
upgrade to libedit-2.6.7
cmd-line-utils/libedit/hist.c:
upgrade to libedit-2.6.7
cmd-line-utils/libedit/hist.h:
upgrade to libedit-2.6.7
cmd-line-utils/libedit/histedit.h:
upgrade to libedit-2.6.7
cmd-line-utils/libedit/history.c:
upgrade to libedit-2.6.7
cmd-line-utils/libedit/key.c:
upgrade to libedit-2.6.7
cmd-line-utils/libedit/key.h:
upgrade to libedit-2.6.7
cmd-line-utils/libedit/makelist.sh:
upgrade to libedit-2.6.7
cmd-line-utils/libedit/map.c:
upgrade to libedit-2.6.7
cmd-line-utils/libedit/map.h:
upgrade to libedit-2.6.7
cmd-line-utils/libedit/parse.c:
upgrade to libedit-2.6.7
cmd-line-utils/libedit/prompt.c:
upgrade to libedit-2.6.7
cmd-line-utils/libedit/read.c:
upgrade to libedit-2.6.7
cmd-line-utils/libedit/readline.c:
upgrade to libedit-2.6.7
cmd-line-utils/libedit/readline/readline.h:
upgrade to libedit-2.6.7
cmd-line-utils/libedit/refresh.c:
upgrade to libedit-2.6.7
cmd-line-utils/libedit/search.c:
upgrade to libedit-2.6.7
cmd-line-utils/libedit/search.h:
upgrade to libedit-2.6.7
cmd-line-utils/libedit/sig.c:
upgrade to libedit-2.6.7
cmd-line-utils/libedit/sig.h:
upgrade to libedit-2.6.7
cmd-line-utils/libedit/sys.h:
upgrade to libedit-2.6.7
cmd-line-utils/libedit/term.c:
upgrade to libedit-2.6.7
cmd-line-utils/libedit/tokenizer.c:
upgrade to libedit-2.6.7
cmd-line-utils/libedit/tokenizer.h:
upgrade to libedit-2.6.7
cmd-line-utils/libedit/tty.c:
upgrade to libedit-2.6.7
cmd-line-utils/libedit/tty.h:
upgrade to libedit-2.6.7
cmd-line-utils/libedit/vi.c:
upgrade to libedit-2.6.7
configure.in:
change liblibedit.a to correct libedit.a
BitKeeper/etc/logging_ok:
auto-union
mysql-test/r/binary.result:
Auto merged
mysql-test/r/truncate.result:
Auto merged
mysql-test/t/binary.test:
Auto merged
mysql-test/t/truncate.test:
Auto merged
mysys/my_lib.c:
Auto merged
strings/my_vsnprintf.c:
Auto merged
support-files/Makefile.am:
Auto merged
Added (my_bool) cast to !(nextflag & SEARCH_PREFIX) code to correct MSVC warning about mismatched integral types
mysys/my_handler.c:
Added (my_bool) cast to !(nextflag & SEARCH_PREFIX) code to correct MSVC warning about mismatched integral types
(Bug #4998 --protocol doesn't reject bad values)
client/mysql.cc:
more accurate processing of find_type result
client/mysqladmin.c:
more accurate processing of find_type result
client/mysqlbinlog.cc:
more accurate processing of find_type result
client/mysqlcheck.c:
more accurate processing of find_type result
client/mysqldump.c:
more accurate processing of find_type result
client/mysqlimport.c:
more accurate processing of find_type result
client/mysqlshow.c:
more accurate processing of find_type result
sql-common/client.c:
more accurate processing of find_type result
added choice of : or = in config file
set case insensitive section names
mysql-test/ndb/ndb_config_2_node.ini:
added alias MYSQLD for API
ndb/src/common/mgmcommon/ConfigInfo.cpp:
added alias MYSQLD for API
ndb/src/common/mgmcommon/ConfigInfo.hpp:
added alias MYSQLD for API
ndb/src/common/mgmcommon/InitConfigFileParser.cpp:
added choice of : or = in config file
Bug #3937 fails to compile with both gcc 3.3.3/icc8
Bug #4728 mysql couldn't be compiled using system readline (readline-4.3)
acinclude.m4:
1. added defun MYSQL_CHECK_READLINE_DECLARES_HIST_ENTRY for last versions of readline and libedit
2. added #undef __P in defuns MYSQL_CHECK_LIBEDIT_INTERFACE, MYSQL_CHECK_NEW_RL_INTERFACE
client/mysql.cc:
1. added #undef __P before #include "readline/readline.h" because readline-4.2 declares own __P
2. changed !defined(USE_LIBEDIT_INTERFACE) to !defined(HAVE_HIST_ENTRY) before declaring of own hist_entry
because latest versions of libedit declare hist_entry too
cmd-line-utils/Makefile.am:
added copyright header
configure.in:
1. added comment for --with-readline/--with-libedit options
2. added define for HAVE_HIST_ENTRY and macro to check it
3. added AC_LANG_CPLUSPLUS before readline/libedit checks
mysys/my_lib.c:
Same fix for bug #4737 that wrongly I did first on tree 4.1
mysys/my_vsnprintf.c:
Fix VC++ warning assuming that my_vsnprintf() is external
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
mysql-test/r/func_set.result:
Fix for bug #4340: find_in_set is case insensitive even on binary operators
mysql-test/t/func_set.test:
Fix for bug #4340: find_in_set is case insensitive even on binary operators
sql/item_func.cc:
Fix for bug #4340: find_in_set is case insensitive even on binary operators
modifying configure.in for the commercial tarballs
- added my-innodb-heavy-4G.cnf to the distribution
Build-tools/mysql-copyright:
- make sure to recreate all autoconf/automake-related files after
modifying configure.in
support-files/Makefile.am:
- added my-innodb-heavy-4G.cnf to the distribution
ndb/src/common/portlib/Makefile.am:
Rename from .c to .cpp as c++ features needed
ndb/src/common/portlib/NdbTCP.cpp:
NDB_MUTEX_INITIALIZER isn't preset on SCO unix
ndb/src/ndbapi/Ndbinit.cpp:
NDB_MUTEX_INITIALIZER isn't preset on SCO unix
include/config-win.h:
Undefine ERROR #defined by WINGDI
sql/sql_class.cc:
Fix to compile with msvc: converted static const int Item_arena::* to enum members
sql/sql_class.h:
Fix to compile with msvc: converted static const int Item_arena::* to enum members
sql/sql_prepare.cc:
Fix to compile with msvc: converted static const int Item_arena::* to enum members
We have to include my_pthread.h since it is the place where localtime_r() is declared
on platforms where this function is missing.
sql-common/my_time.c:
We have to include my_pthread.h since it is the place where localtime_r() is declared
on platforms where this function is missing.
Fixed error messages
sql/share/czech/errmsg.txt:
Fixed error message to us long
sql/share/danish/errmsg.txt:
Fixed error message to us long
sql/share/dutch/errmsg.txt:
Fixed error message to us long
sql/share/english/errmsg.txt:
Fixed error message to us long
sql/share/estonian/errmsg.txt:
Fixed error message to us long
sql/share/french/errmsg.txt:
Fixed error message to us long
sql/share/german/errmsg.txt:
Fixed error message to us long
sql/share/greek/errmsg.txt:
Fixed error message to us long
sql/share/hungarian/errmsg.txt:
Fixed error message to us long
sql/share/italian/errmsg.txt:
Fixed error message to us long
sql/share/japanese/errmsg.txt:
Fixed error message to us long
sql/share/korean/errmsg.txt:
Fixed error message to us long
sql/share/norwegian-ny/errmsg.txt:
Fixed error message to us long
sql/share/norwegian/errmsg.txt:
Fixed error message to us long
sql/share/polish/errmsg.txt:
Fixed error message to us long
sql/share/portuguese/errmsg.txt:
Fixed error message to us long
sql/share/romanian/errmsg.txt:
Fixed error message to us long
sql/share/russian/errmsg.txt:
Fixed error message to us long
sql/share/serbian/errmsg.txt:
Fixed error message to us long
sql/share/slovak/errmsg.txt:
Fixed error message to us long
sql/share/spanish/errmsg.txt:
Fixed error message to us long
sql/share/swedish/errmsg.txt:
Fixed error message to us long
sql/share/ukrainian/errmsg.txt:
Fixed error message to us long
sql/sql_table.cc:
Fixed uninitialized variable