mysql-test/r/mysqlbinlog2.result:
Change test case to remove server version number.
mysql-test/t/mysqlbinlog2.test:
Change test case to remove server version number.
mysys/mf_iocache2.c:
Correcting bad merge.
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.1-build
mysql-test/lib/mtr_report.pl:
Auto merged
mysql-test/r/show_check.result:
Auto merged
mysql-test/t/disabled.def:
Auto merged
mysql-test/t/show_check.test:
Auto merged
mysys/charset.c:
Auto merged
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/item.h:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/log_event.cc:
Auto merged
Several adjustments to make client libraries pass the link test
on both win32 and winx64, Visual Studio 2003 and 2005 (bug#30118)
win/README:
- Removed references to PARTITION engine, 5.1 only
win/configure.js:
- Removed references to PARTITION engine, 5.1 only
extra/CMakeLists.txt:
Use the special 'debug' list element to mark that "dbug" library
is only to be linked against if build type "Debug".
myisam/CMakeLists.txt:
Use the special 'debug' list element to mark that "dbug" library
is only to be linked against if build type "Debug".
scripts/CMakeLists.txt:
Use the special 'debug' list element to mark that "dbug" library
is only to be linked against if build type "Debug".
server-tools/instance-manager/CMakeLists.txt:
Use the special 'debug' list element to mark that "dbug" library
is only to be linked against if build type "Debug".
sql/CMakeLists.txt:
Use the special 'debug' list element to mark that "dbug" library
is only to be linked against if build type "Debug".
mysys/CMakeLists.txt:
Restored include path to "mysys" itself
dbug/CMakeLists.txt:
Changed to optionally be included to give a file list only
extra/yassl/CMakeLists.txt:
Changed to optionally be included to give a file list only
extra/yassl/taocrypt/CMakeLists.txt:
Changed to optionally be included to give a file list only
zlib/CMakeLists.txt:
Changed to optionally be included to give a file list only
libmysql/CMakeLists.txt:
For compatibility with Visual Studio 2005, list all files that are to
be part of the library build, i.e. libraries can't be built from other
libraries. Set SOURCE_SUBLIBS and include the file listings from
"zlib", "dbug", "taocrypt" and "yassl"
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.1-build-marvel-engines
BitKeeper/etc/ignore:
auto-union
configure.in:
Auto merged
BitKeeper/deleted/.del-CMakeLists.txt~99a50df6:
Auto merged
client/mysqlbinlog.cc:
Auto merged
client/mysqldump.c:
Auto merged
include/mysql.h:
Auto merged
mysql-test/t/disabled.def:
Auto merged
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/ha_ndbcluster_binlog.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/item.h:
Auto merged
sql/log.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/table.cc:
Auto merged
sql/sql_parse.cc:
merge fix
sql/sql_select.cc:
merge fix
into mysql.com:/home/bar/mysql-work/mysql-5.1.b28875
mysql-test/r/ctype_utf8.result:
Auto merged
mysql-test/t/ctype_utf8.test:
Auto merged
mysys/charset.c:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/sql_string.cc:
Auto merged
strings/conf_to_src.c:
Auto merged
strings/ctype-extra.c:
Auto merged
strings/ctype.c:
Auto merged
include/m_ctype.h:
After merge fix
mysql-test/r/ctype_ucs.result:
After merge fix
mysql-test/r/func_time.result:
After merge fix
mysql-test/t/ctype_ucs.test:
After merge fix
mysql-test/t/func_time.test:
After merge fix
sql/sql_lex.cc:
After merge fix
sql/sql_lex.h:
After merge fix
sql/sql_yacc.yy:
After merge fix
(Regression, caused by a patch for the bug 22646).
Problem: when result type of date_format() was changed from
binary string to character string, mixing date_format()
with a ascii column in CONCAT() stopped to work.
Fix:
- adding "repertoire" flag into DTCollation class,
to mark items which can return only pure ASCII strings.
- allow character set conversion from pure ASCII to other character sets.
include/m_ctype.h:
Defining new flags.
Adding new function prototypes.
mysql-test/r/ctype_ucs.result:
Adding tests.
mysql-test/r/ctype_utf8.result:
Adding tests.
mysql-test/r/func_time.result:
Adding tests.
mysql-test/t/ctype_ucs.test:
Adding tests.
mysql-test/t/ctype_utf8.test:
Adding tests.
mysql-test/t/func_time.test:
Adding test.
mysys/charset.c:
Adding pure ASCII detection when loading a dynamic character set.
sql/item.cc:
- Moving detection of a Unicode superset into function.
- Adding detection of a ASCII subset.
- Adding creation of to-ASCII character set convertor when
safe_charset_converter() failed and when the argument.
repertoire is know to be pure ASCII.
sql/item.h:
- Adding "repertoire" member into DTCollation class.
- Adding "repertoire" argument to constructors.
- Adding new methods:
set_repertoire_from_charset()
set_repertoire_from_value()
sql/item_func.cc:
Adding "repertoire" argument.
sql/item_strfunc.cc:
Adding "repertoire" argument.
sql/item_timefunc.cc:
Initializing the result repertoire taking into account the "is_ascii"
flag of the current locale.
sql/sql_lex.cc:
Detect 7bit strings, return in Lex->text_string_is_7bit.
sql/sql_lex.h:
Adding new member into LEX structure.
Adding new member into Lex_input_stream
sql/sql_string.cc:
Allow simple copy from pure ASCII to a ASCII-based character set.
sql/sql_yacc.yy:
Depening on Lex->text_string_is_7bit and character set features,
create Item_string with MY_REPERTOIRE_ASCII when it is possible.
strings/conf_to_src.c:
- Adding printing of the "MY_CS_PUREASCII" flag
- Adding printing of copyright
strings/ctype-extra.c:
Recreating ctype-extra.c: ascii_general_ci and ascii_bin
are now marked with MY_CS_PUREASCII flag.
strings/ctype.c:
Adding new functions.
they got lost because of a merge conflict with the CMakeLists.txt
dependency fix (numer 29982 in our bugs DB).
These changes are for bug#30118.
client/CMakeLists.txt:
Manual merge from 5.0 (bug#30118)
libmysql/CMakeLists.txt:
Manual merge from 5.0 (bug#30118)
mysys/CMakeLists.txt:
Manual merge from 5.0 (bug#30118)
sql/CMakeLists.txt:
Added missing '${MYSQLD_EXE_SUFFIX}' to "mysqld" targets new in 5.1
zlib/CMakeLists.txt:
Manual merge from 5.0 (bug#30118)
Aligned client library build and use with the Unix version when it
comes to what source to include directly in the builds, and what
libraries to link with (bug#30118).
Also reviewed, corrected and made more clear when static or dynamic
Thread Local Storage is to be used. Some code duplication was removed,
and some redundant library usage were removed, reducing the risk of
incorrect TLS usage.
client/CMakeLists.txt:
- Removed code duplication by moving build of "mysqlclient" to
the "libmysql" directory
- Link clients with the new "mysqlclient_notls", to protect for
the case the clients use more than the client API, and access
thread data directly.
- Synced explicit target addition of sources with Unix.
dbug/CMakeLists.txt:
No need to set CXX flags, no C++ code
libmysql/CMakeLists.txt:
- Aligned more with Unix version when it comes to included source files
- Build both DLL and static library in this directory
- Produce separe static TLS version of the static client library, for
use when building clients in this build that might access TLS
storage directly.
mysys/CMakeLists.txt:
We only have to build the static TLS version, as no clients are
linking directly with the "mysys" library.
scripts/make_win_bin_dist:
Ajusted paths to new "mysqlclient.lib" location in source tree
sql/CMakeLists.txt:
Removed duplicate "ha_blackhole.cc" in file listing
Removed explicit link to "dbug.lib" not needed
Link with the static TLS "mysqlclient_notls"
tests/CMakeLists.txt:
Removed explicit link to "dbug", "mysys", "yassl", "taocrypt" and
"zlib" not needed.
Added explicit source addition "../mysys/my_memmem.c".
No need for setting CXX flags, no C++ code.
Use the static TLS "mysqlclient_notls" for linkage.
zlib/CMakeLists.txt:
No need for a dynamic TLS version of this library, no access to thread
storage is done from it. Also no need to define MYSQL_CLIENT, not used,
or __WIN32__ that is handled by the library header without this define.
Fixed bug in query cache that made it impossible to run mysqld with --debug
Fixed memory leaks in mysqldump and mysqltest
Memory leaks associated with wrong usage of mysqltest is not fixed. To find these, run
mysql-test-run --debug mysqltest
client/mysql_upgrade.c:
Set --debug-check if one uses DBUG_PUSH
client/mysqlcheck.c:
Set --debug-check if one uses DBUG_PUSH
client/mysqldump.c:
Set --debug-check if one uses DBUG_PUSH
Fixed several memory leaks
client/mysqlimport.c:
Set --debug-check if one uses DBUG_PUSH
client/mysqlshow.c:
Set --debug-check if one uses DBUG_PUSH
client/mysqlslap.c:
Set --debug-check if one uses DBUG_PUSH
client/mysqltest.c:
Set --debug-check if one uses DBUG_PUSH
Fixed some memory leaks
Removed MY_CHECK_ERROR argument to my_end() as mysqltest.test otherwise shows MANY memory leaks
dbug/dbug.c:
Fixed compiler warning
Force flush of out_file on end
Removed some wrong dbug_flush(0) commands that could cause crashes
mysys/my_init.c:
Don't write memory usage if MY_GIVE_INFO is not given
sql/sql_cache.cc:
Fixed bug in query cache that made it impossible to run mysqld with --debug
Fixed compiler warnings, errors and link errors
Fixed new bug on Solaris with gethrtime()
Added --debug-check option to all mysql clients to print errors and memory leaks
Added --debug-info to all clients. This now works as --debug-check but also prints memory and cpu usage
BUILD/compile-solaris-sparc-debug:
Remove old cpu options
client/client_priv.h:
Added OPT_DBUG_CHECK
client/mysql.cc:
--debug-info now prints memory usage
Added --debug-check
client/mysql_upgrade.c:
--debug-info now prints memory usage
Added --debug-check
client/mysqladmin.cc:
--debug-info now prints memory usage
Added --debug-check
client/mysqlbinlog.cc:
--debug-info now prints memory usage
Added --debug-check
client/mysqlcheck.c:
--debug-info now prints memory usage
Added --debug-check
client/mysqldump.c:
--debug-info now prints memory usage
Added --debug-check
client/mysqlimport.c:
--debug-info now prints memory usage
Added --debug-check
client/mysqlshow.c:
--debug-info now prints memory usage
Added --debug-check
client/mysqlslap.c:
--debug-info now prints memory usage
Added --debug-check
client/mysqltest.c:
--debug-info now prints memory usage
Added --debug-check
include/my_sys.h:
Added extra option to TERMINATE to not print statistics
libmysql/libmysql.c:
Fixed compiler warning
mysql-test/mysql-test-run.pl:
--debug-info -> --debug-check to not print memory usage
mysys/my_getsystime.c:
Moved fast time calculation to my_micro_time_and_time()
Fixed bug in previous push related to HAVE_GETHRTIME
mysys/my_init.c:
Print not freed memory in my_end() if MY_CHECK_ERROR is given
mysys/my_static.c:
Cleanup
mysys/safemalloc.c:
Added extra option to TERMINATE to not print statistics
sql/item_xmlfunc.cc:
Fixed compiler warning
sql/sql_test.cc:
Fixed TERMINATE() call
unittest/mysys/base64-t.c:
Fixed link error
unittest/mysys/bitmap-t.c:
Fixed link error
unittest/mysys/my_atomic-t.c:
Fixed link error
They had been introduced in 5.1 and were only later backported to 5.0;
as a consequence, the files in the 5.1 tree do not depend on the 5.0 ones,
and changes in 5.0 do not propagate into the 5.1 files.
To fix this, the (previous) files in 5.1 now are deleted ("bk rm"),
and the previously deleted files depending on 5.0 are now moved to the
respective source directories ("bk mv").
The current 5.1 contents is restored in these files.
If you need the previous history of the 5.1 files ("bk revtool"),
access those in "BitKeeper/deleted".
Contrary to the original plan, I did not introduce the name
"CMakeLists.historic" - mostly in order not to clutter the source tree.
This fixes bug#29982.
BitKeeper/deleted/.del-CMakeLists.txt~2eb9019b:
Delete: client/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~5b8836e4:
Delete: CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~93f0d646:
Delete: dbug/CMakeLists.txt
dbug/CMakeLists.txt:
Rename: BitKeeper/deleted/.del-CMakeLists.txt~9 -> dbug/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~57492bba:
Delete: extra/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~8c35983c:
Delete: extra/yassl/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~c3563d5f:
Delete: extra/yassl/taocrypt/CMakeLists.txt
extra/yassl/CMakeLists.txt:
Rename: BitKeeper/deleted/.del-CMakeLists.txt~11 -> extra/yassl/CMakeLists.txt
extra/yassl/taocrypt/CMakeLists.txt:
Rename: BitKeeper/deleted/.del-CMakeLists.txt~12 -> extra/yassl/taocrypt/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~99a50df6:
Delete: libmysql/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~86a68ea1:
Delete: mysys/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~9e206e11:
Delete: regex/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~95969b72:
Delete: server-tools/instance-manager/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~fdec1f01:
Delete: sql/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~1960eb07:
Delete: storage/innobase/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~96726c3b:
Delete: storage/myisam/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~bb293bb4:
Delete: storage/heap/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~5fa65a12:
Delete: strings/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~fb3a3a47:
Delete: storage/myisammrg/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~fc201a06:
Delete: tests/CMakeLists.txt
tests/CMakeLists.txt:
Rename: BitKeeper/deleted/.del-CMakeLists.txt~5 -> tests/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~2a609d33:
Delete: vio/CMakeLists.txt
vio/CMakeLists.txt:
Rename: BitKeeper/deleted/.del-CMakeLists.txt~6 -> vio/CMakeLists.txt
BitKeeper/deleted/.del-CMakeLists.txt~ef945345:
Delete: zlib/CMakeLists.txt
zlib/CMakeLists.txt:
Rename: BitKeeper/deleted/.del-CMakeLists.txt~8 -> zlib/CMakeLists.txt
CMakeLists.txt:
Restore the current 5.1 contents into the 5.0-dependent file.
For the previous 5.1 history of this file, see the one in "BitKeeper/deleted".
client/CMakeLists.txt:
Restore the current 5.1 contents into the 5.0-dependent file.
For the previous 5.1 history of this file, see the one in "BitKeeper/deleted".
extra/CMakeLists.txt:
Restore the current 5.1 contents into the 5.0-dependent file.
For the previous 5.1 history of this file, see the one in "BitKeeper/deleted".
libmysql/CMakeLists.txt:
Restore the current 5.1 contents into the 5.0-dependent file.
For the previous 5.1 history of this file, see the one in "BitKeeper/deleted".
mysys/CMakeLists.txt:
Restore the current 5.1 contents into the 5.0-dependent file.
For the previous 5.1 history of this file, see the one in "BitKeeper/deleted".
regex/CMakeLists.txt:
Restore the current 5.1 contents into the 5.0-dependent file.
For the previous 5.1 history of this file, see the one in "BitKeeper/deleted".
server-tools/instance-manager/CMakeLists.txt:
Restore the current 5.1 contents into the 5.0-dependent file.
For the previous 5.1 history of this file, see the one in "BitKeeper/deleted".
sql/CMakeLists.txt:
Restore the current 5.1 contents into the 5.0-dependent file.
For the previous 5.1 history of this file, see the one in "BitKeeper/deleted".
storage/heap/CMakeLists.txt:
Restore the current 5.1 contents into the 5.0-dependent file.
For the previous 5.1 history of this file, see the one in "BitKeeper/deleted".
storage/innobase/CMakeLists.txt:
Restore the current 5.1 contents into the 5.0-dependent file.
For the previous 5.1 history of this file, see the one in "BitKeeper/deleted".
storage/myisam/CMakeLists.txt:
Restore the current 5.1 contents into the 5.0-dependent file.
For the previous 5.1 history of this file, see the one in "BitKeeper/deleted".
storage/myisammrg/CMakeLists.txt:
Restore the current 5.1 contents into the 5.0-dependent file.
For the previous 5.1 history of this file, see the one in "BitKeeper/deleted".
strings/CMakeLists.txt:
Restore the current 5.1 contents into the 5.0-dependent file.
For the previous 5.1 history of this file, see the one in "BitKeeper/deleted".
--long-query-time is now given in seconds with microseconds as decimals
--min_examined_row_limit added for slow query log
long_query_time user variable is now double with 6 decimals
Added functions to get time in microseconds
Added faster time() functions for system that has gethrtime() (Solaris)
We now do less time() calls.
Added field->in_read_set() and field->in_write_set() for easier field manipulation by handlers
set_var.cc and my_getopt() can now handle DOUBLE variables.
All time() calls changed to my_time()
my_time() now does retry's if time() call fails.
Added debug function for stopping in mysql_admin_table() when tables are locked
Some trivial function and struct variable renames to avoid merge errors.
Fixed compiler warnings
Initialization of some time variables on windows moved to my_init()
include/my_getopt.h:
Added support for double arguments
include/my_sys.h:
Fixed wrong type to packfrm()
Added new my_time functions
include/mysql/plugin.h:
Added support for DOUBLE
libmysql/CMakeLists.txt:
Added new time functions
libmysql/Makefile.shared:
Added new time functions
mysql-test/r/variables.result:
Testing of long_query_time
mysql-test/t/variables.test:
Testing of long_query_time
mysys/charset.c:
Fixed compiler warnings
mysys/default_modify.c:
Fixed compiler warnings
mysys/hash.c:
Fixed compiler warnings
mysys/mf_getdate.c:
Use my_time()
mysys/mf_iocache2.c:
Fixed compiler warnings
mysys/mf_pack.c:
Fixed compiler warnings
mysys/mf_path.c:
Fixed compiler warnings
mysys/my_append.c:
Fixed compiler warnings
mysys/my_compress.c:
Fixed compiler warnings
mysys/my_copy.c:
Fixed compiler warnings
mysys/my_gethwaddr.c:
Fixed compiler warnings
mysys/my_getopt.c:
Added support for double arguments
mysys/my_getsystime.c:
Added functions to get time in microseconds.
Added faster time() functions for system that has gethrtime() (Solaris)
Moved windows initialization code to my_init()
mysys/my_init.c:
Added initializing of variables needed for windows time functions
mysys/my_static.c:
Added variables needed for windows time functions
mysys/my_static.h:
Added variables needed for windows time functions
mysys/my_thr_init.c:
Added THR_LOCK_time, used for faster my_time()
mysys/mysys_priv.h:
Added THR_LOCK_time, used for faster my_time()
mysys/thr_alarm.c:
time() -> my_time()
sql/event_data_objects.cc:
end_time() -> set_current_time()
sql/event_queue.cc:
end_time() -> set_current_time()
sql/event_scheduler.cc:
Fixed compiler warnings
sql/field.h:
Added field->in_read_set() and field->in_write_set() for easier field manipulation by handlers
sql/item.h:
Added decimal to Item_float(double)
sql/item_cmpfunc.h:
Added decimal to Item_float(double)
sql/item_timefunc.cc:
time() -> my_time()
sql/item_xmlfunc.cc:
Fixed compiler warning
sql/lock.cc:
lock_time() -> set_time_after_lock()
sql/log.cc:
Timing in slow query log to file is now done in microseconds
Changed some while() loops to for() loops.
Fixed indentation
time() -> my_time()
sql/log.h:
Slow query logging is now done based on microseconds
sql/log_event.cc:
time() -> my_time()
Fixed arguments to new Item_float()
sql/mysql_priv.h:
Fixed compiler warnings
Added opt_log_slow_slave_statements
sql/mysqld.cc:
Added --log_slow_slave_statements and --min_examined_row_limit
--long-query-time now takes a double argument with microsecond resolution
Don't write shutdown message when using --help
Removed not needed \n
Thread create time and connect time is now done in microseconds
time() -> my_time()
Avoid some time() calls
sql/net_serv.cc:
Fixed compiler warnings
sql/parse_file.cc:
time() -> my_time()
sql/set_var.cc:
Added support for DOUBLE variables
Added support for variables that are given in seconds with microsecond resolution
sql/set_var.h:
Added support for variables that are given in seconds with microsecond resolution
sql/slave.cc:
Allow logging of slave queries to slow query log if 'opt_log_slow_slave_statements' is given
time() -> my_time()
sql/sql_cache.h:
Fixed compiler warning()
sql/sql_class.cc:
Initialize new THD variables
sql/sql_class.h:
long_query_time is now in microseconds
Added min_examined_row_limit
Reordered some THD elements for higher efficency
Added timers in microseconds (connect_utime, thr_create_utime, start_utime and utime_after_lock)
Start of query is now recorded both in seconds and in microseconds.
Following renames was made for more clarity and avoid merge problems from earlier versions:
connect_time -> connect_utime
thr_create_time -> thr_create_utime
end_time() -> set_current_time()
lock_time() -> set_time_after_lock()
Added THD::start_utime, which is start of query in microseconds from some arbitary time
Added function THD::current_utime()
Removed safe_time() as retry's are handled in my_time()
sql/sql_connect.cc:
User resources are now using microsecond resolution
sql/sql_insert.cc:
end_time() -> set_current_time()
sql-common/client.c:
time() -> my_time()
sql/sql_parse.cc:
Testing if we should print to slow_query_log() is now done with microsecond precission.
If min_examined_row_limit is given, only log queries to slow query log that has examined more rows than this.
sql/sql_select.cc:
Simplify code now that Item_float() takes decimals as argument
sql/sql_show.cc:
time() -> my_time()
Added support for SYS_DOUBLE
sql/sql_table.cc:
Added debug function for stopping in mysql_admin_table() when tables are locked
sql/structs.h:
intime -> reset_utime
Now we don't take any mutexes when creating or dropping internal HEAP tables during SELECT.
Change buffer sizes to size_t to make keycache 64 bit safe on platforms where sizeof(ulong) != sizeof(size_t)
BitKeeper/etc/ignore:
added support-files/mysqld_multi.server
include/heap.h:
Added 'internal_table' to HP_CREATE_INFO
include/keycache.h:
Change buffer sizes to size_t to make keycache 64 bit safe
include/my_base.h:
Added HA_OPEN_INTERNAL_TABLE to mark temporary tables that should be deleted on close
mysys/mf_keycache.c:
Change buffer sizes to size_t to make keycache 64 bit safe
sql/sql_select.cc:
Added HA_OPEN_INTERNAL_TABLE to mark temporary tables that should be deleted on close
Removed not anymore needed call to delete_table()
storage/heap/ha_heap.cc:
Added support for internal temporary tables that should be deleted on close.
Internal tables now use dedicated open and close calls to avoid taking mutexes.
If heap_open() failes, now delete the newly created table. (This fixes a possible memory leak)
Remove never executed info() in create()
storage/heap/ha_heap.h:
Added slots needed to handle internal temporary tables
storage/heap/heapdef.h:
Protect against C++ inclusion
storage/heap/hp_close.c:
Don't call list_delete() for internal temporary tables (They are not in the list)
storage/heap/hp_create.c:
Added HP_SHARE ** element to heap_create() to store the SHARE of the newly created table.
For internal temporary tables: Don't take any mutex and don't put them into the open table list.
storage/heap/hp_open.c:
Split heap_open() into sub functions to be able to create internal temporary tables without putting them in the heap_share_list.
Add faster open() functions for when we already know the 'share'.
storage/heap/hp_test1.c:
Update call to heap_create()
Initialize all keyinfo members.
storage/heap/hp_test2.c:
Update call to heap_create()
into mysql.com:/home/kent/bk/tmp3/mysql-5.0-build
libmysql/libmysql.c:
Auto merged
scripts/make_binary_distribution.sh:
Auto merged
sql/field.cc:
Auto merged
into mysql.com:/home/kent/bk/tmp3/mysql-5.1-build
libmysql/libmysql.c:
Auto merged
scripts/make_binary_distribution.sh:
Auto merged
sql/field.cc:
Auto merged
into trift-lap.none:/MySQL/M51/bug14151-5.1
BitKeeper/deleted/.del-MySQL-Source.icc~edded3c3a5cf83b1:
Auto merged
BitKeeper/deleted/.del-mysqlmanager-pwgen.c~d8f5f91ec54432b9:
Auto merged
BitKeeper/deleted/.del-mysqlmanager.c~e97636d71145a0b:
Auto merged
include/Makefile.am:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/table.cc:
Auto merged
table (datadir)
Set errno when retunring an error in my_create_with_symlink.
mysys/my_symlink2.c:
Bug #29325: set errno when retunring
an error in my_create_with_symlink
into magare.gmz:/home/kgeorge/mysql/work/B29325-merge-5.1-opt
client/mysql.cc:
Auto merged
include/my_base.h:
Auto merged
mysql-test/r/ctype_collate.result:
Auto merged
mysql-test/r/gis-rtree.result:
Auto merged
mysql-test/t/gis-rtree.test:
Auto merged
storage/myisam/mi_create.c:
Auto merged
strings/ctype-simple.c:
Auto merged
mysys/my_conio.c:
5.0-opt -> 5.1.-opt merge
storage/myisam/sp_key.c:
5.0-opt -> 5.1.-opt merge
The Ctrl-C handler in mysql closes the console while ReadConsole()
waits for console input.
But the main thread was detecting that ReadConsole() haven't read
anything and was processing as if there're data in the buffer.
Fixed to handle correctly this error condition.
No test case added as the test relies on Ctrl-C sent to the client
from its console.
client/mysql.cc:
Bug #29469: handle correctly console read error
mysys/my_conio.c:
Bug #29469:
1. handle correctly console read error
2. add boundry checks for console buffer.
into anubis.xiphis.org:/usr/home/antony/work/mysql-5.1-engines.merge
include/my_base.h:
Auto merged
mysql-test/lib/mtr_report.pl:
Auto merged
mysql-test/r/events_bugs.result:
Auto merged
mysql-test/r/rpl_sp.result:
Auto merged
mysql-test/r/show_check.result:
Auto merged
mysql-test/r/sp.result:
Auto merged
mysql-test/t/disabled.def:
Auto merged
mysql-test/t/ndb_single_user.test:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/share/errmsg.txt:
Auto merged
sql/sql_partition.cc:
Auto merged
Dropping an user defined function may cause server crash in
case this function is still in use by another thread.
The problem was that our hash implementation didn't update
hash link list properly when hash_update() was called.
mysys/hash.c:
The following requirement wasn't met by hash_update() function
causing corruption of hash links list:
After a record was unlinked from the old chain during update, it
holds random position. By the chance this position is equal to
position for the first element in the new chain. That means
updated record is the only record in the new chain.
- BUG#11986: Stored routines and triggers can fail if the code
has a non-ascii symbol
- BUG#16291: mysqldump corrupts string-constants with non-ascii-chars
- BUG#19443: INFORMATION_SCHEMA does not support charsets properly
- BUG#21249: Character set of SP-var can be ignored
- BUG#25212: Character set of string constant is ignored (stored routines)
- BUG#25221: Character set of string constant is ignored (triggers)
There were a few general problems that caused these bugs:
1. Character set information of the original (definition) query for views,
triggers, stored routines and events was lost.
2. mysqldump output query in client character set, which can be
inappropriate to encode definition-query.
3. INFORMATION_SCHEMA used strings with mixed encodings to display object
definition;
1. No query-definition-character set.
In order to compile query into execution code, some extra data (such as
environment variables or the database character set) is used. The problem
here was that this context was not preserved. So, on the next load it can
differ from the original one, thus the result will be different.
The context contains the following data:
- client character set;
- connection collation (character set and collation);
- collation of the owner database;
The fix is to store this context and use it each time we parse (compile)
and execute the object (stored routine, trigger, ...).
2. Wrong mysqldump-output.
The original query can contain several encodings (by means of character set
introducers). The problem here was that we tried to convert original query
to the mysqldump-client character set.
Moreover, we stored queries in different character sets for different
objects (views, for one, used UTF8, triggers used original character set).
The solution is
- to store definition queries in the original character set;
- to change SHOW CREATE statement to output definition query in the
binary character set (i.e. without any conversion);
- introduce SHOW CREATE TRIGGER statement;
- to dump special statements to switch the context to the original one
before dumping and restore it afterwards.
Note, in order to preserve the database collation at the creation time,
additional ALTER DATABASE might be used (to temporary switch the database
collation back to the original value). In this case, ALTER DATABASE
privilege will be required. This is a backward-incompatible change.
3. INFORMATION_SCHEMA showed non-UTF8 strings
The fix is to generate UTF8-query during the parsing, store it in the object
and show it in the INFORMATION_SCHEMA.
Basically, the idea is to create a copy of the original query convert it to
UTF8. Character set introducers are removed and all text literals are
converted to UTF8.
This UTF8 query is intended to provide user-readable output. It must not be
used to recreate the object. Specialized SHOW CREATE statements should be
used for this.
The reason for this limitation is the following: the original query can
contain symbols from several character sets (by means of character set
introducers).
Example:
- original query:
CREATE VIEW v1 AS SELECT _cp1251 'Hello' AS c1;
- UTF8 query (for INFORMATION_SCHEMA):
CREATE VIEW v1 AS SELECT 'Hello' AS c1;
client/mysqldump.c:
Set original character set and collation before dumping definition query.
include/my_sys.h:
Move out-parameter to the end of list.
mysql-test/lib/mtr_report.pl:
Ignore server-warnings during the test case.
mysql-test/r/create.result:
Update result file.
mysql-test/r/ctype_cp932_binlog_stm.result:
Update result file.
mysql-test/r/events.result:
Update result file.
mysql-test/r/events_bugs.result:
Update result file.
mysql-test/r/events_grant.result:
Update result file.
mysql-test/r/func_in.result:
Update result file.
mysql-test/r/gis.result:
Update result file.
mysql-test/r/grant.result:
Update result file.
mysql-test/r/information_schema.result:
Update result file.
mysql-test/r/information_schema_db.result:
Update result file.
mysql-test/r/lowercase_view.result:
Update result file.
mysql-test/r/mysqldump.result:
Update result file.
mysql-test/r/ndb_sp.result:
Update result file.
mysql-test/r/ps.result:
Update result file.
mysql-test/r/rpl_replicate_do.result:
Update result file.
mysql-test/r/rpl_sp.result:
Update result file.
mysql-test/r/rpl_trigger.result:
Update result file.
mysql-test/r/rpl_view.result:
Update result file.
mysql-test/r/show_check.result:
Update result file.
mysql-test/r/skip_grants.result:
Update result file.
mysql-test/r/sp-destruct.result:
Update result file.
mysql-test/r/sp-error.result:
Update result file.
mysql-test/r/sp-security.result:
Update result file.
mysql-test/r/sp.result:
Update result file.
mysql-test/r/sql_mode.result:
Update result file.
mysql-test/r/system_mysql_db.result:
Update result file.
mysql-test/r/temp_table.result:
Update result file.
mysql-test/r/trigger-compat.result:
Update result file.
mysql-test/r/trigger-grant.result:
Update result file.
mysql-test/r/trigger.result:
Update result file.
mysql-test/r/view.result:
Update result file.
mysql-test/r/view_grant.result:
Update result file.
mysql-test/t/events.test:
Update test case (new columns added).
mysql-test/t/information_schema.test:
Update test case (new columns added).
mysql-test/t/show_check.test:
Test case for SHOW CREATE TRIGGER in prepared statements and
stored routines.
mysql-test/t/sp-destruct.test:
Update test case (new columns added).
mysql-test/t/sp.test:
Update test case (new columns added).
mysql-test/t/view.test:
Update test.
mysys/charset.c:
Move out-parameter to the end of list.
scripts/mysql_system_tables.sql:
Add new columns to mysql.proc and mysql.event.
scripts/mysql_system_tables_fix.sql:
Add new columns to mysql.proc and mysql.event.
sql/event_data_objects.cc:
Support new attributes for events.
sql/event_data_objects.h:
Support new attributes for events.
sql/event_db_repository.cc:
Support new attributes for events.
sql/event_db_repository.h:
Support new attributes for events.
sql/events.cc:
Add new columns to SHOW CREATE event resultset.
sql/mysql_priv.h:
1. Introduce Object_creation_ctx;
2. Introduce SHOW CREATE TRIGGER;
3. Introduce auxilary functions.
sql/sp.cc:
Add support for new store routines attributes.
sql/sp_head.cc:
Add support for new store routines attributes.
sql/sp_head.h:
Add support for new store routines attributes.
sql/sql_lex.cc:
Generate UTF8-body on parsing/lexing.
sql/sql_lex.h:
1. Generate UTF8-body on parsing/lexing.
2. Introduce SHOW CREATE TRIGGER.
sql/sql_parse.cc:
Introduce SHOW CREATE TRIGGER.
sql/sql_partition.cc:
Update parse_sql().
sql/sql_prepare.cc:
Update parse_sql().
sql/sql_show.cc:
Support new attributes for views
sql/sql_trigger.cc:
Support new attributes for views
sql/sql_trigger.h:
Support new attributes for views
sql/sql_view.cc:
Support new attributes for views
sql/sql_yacc.yy:
1. Add SHOW CREATE TRIGGER statement.
2. Generate UTF8-body for views, stored routines, triggers and events.
sql/table.cc:
Introduce Object_creation_ctx.
sql/table.h:
Introduce Object_creation_ctx.
sql/share/errmsg.txt:
Add new errors.
mysql-test/include/ddl_i18n.check_events.inc:
Aux file for test suite.
mysql-test/include/ddl_i18n.check_sp.inc:
Aux file for test suite.
mysql-test/include/ddl_i18n.check_triggers.inc:
Aux file for test suite.
mysql-test/include/ddl_i18n.check_views.inc:
Aux file for test suite.
mysql-test/include/have_cp1251.inc:
Aux file for test suite.
mysql-test/include/have_cp866.inc:
Aux file for test suite.
mysql-test/include/have_koi8r.inc:
Aux file for test suite.
mysql-test/include/have_utf8.inc:
Aux file for test suite.
mysql-test/r/ddl_i18n_koi8r.result:
Result file.
mysql-test/r/ddl_i18n_utf8.result:
Result file.
mysql-test/r/have_cp1251.require:
Aux file for test suite.
mysql-test/r/have_cp866.require:
Aux file for test suite.
mysql-test/r/have_koi8r.require:
Aux file for test suite.
mysql-test/r/have_utf8.require:
Aux file for test suite.
mysql-test/t/ddl_i18n_koi8r.test:
Complete koi8r test case for the CS patch.
mysql-test/t/ddl_i18n_utf8.test:
Complete utf8 test case for the CS patch.
into maint1.mysql.com:/data/localhome/tsmith/bk/maint/51
configure.in:
Auto merged
include/m_ctype.h:
Auto merged
mysql-test/Makefile.am:
Auto merged
mysql-test/t/innodb.test:
Auto merged
mysys/charset-def.c:
Auto merged
mysys/charset.c:
Auto merged
sql/log_event.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_class.cc:
Auto merged
strings/ctype-big5.c:
Auto merged
strings/ctype-gbk.c:
Auto merged
strings/ctype-sjis.c:
Auto merged
strings/ctype-uca.c:
Auto merged
strings/ctype.c:
Auto merged
mysql-test/r/innodb.result:
Manual merge
mysql-test/r/multi_update.result:
Manual merge
mysql-test/t/multi_update.test:
Manual merge
sql/sql_update.cc:
SCCS merged
mysql-test/r/sp.result:
Auto merged
mysql-test/t/query_cache.test:
Auto merged
mysql-test/t/sp.test:
Auto merged
sql/handler.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
into chilla.local:/home/mydev/mysql-5.1-axmrg
configure.in:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/sp.result:
Auto merged
mysql-test/t/merge.test:
Auto merged
mysql-test/t/show_check.test:
Auto merged
sql/mysqld.cc:
Auto merged
storage/myisam/ha_myisam.cc:
Auto merged
into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/jun14/51
configure.in:
Auto merged
BitKeeper/deleted/.del-ctype_cp932_notembedded.test~3047e508460cef42:
Auto merged
mysql-test/extra/binlog_tests/binlog.test:
Auto merged
mysql-test/extra/binlog_tests/blackhole.test:
Auto merged
mysql-test/extra/binlog_tests/ctype_cp932_binlog.test:
Auto merged
mysql-test/extra/binlog_tests/ctype_ucs_binlog.test:
Auto merged
mysql-test/extra/binlog_tests/drop_temp_table.test:
Auto merged
mysql-test/extra/binlog_tests/insert_select-binlog.test:
Auto merged
mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test:
Auto merged
mysql-test/include/mix1.inc:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/binlog_stm_binlog.result:
Auto merged
mysql-test/r/binlog_stm_mix_innodb_myisam.result:
Auto merged
mysql-test/r/have_log_bin.require:
Auto merged
mysql-test/t/flush_block_commit_notembedded.test:
Auto merged
mysql-test/t/insert_update.test:
Auto merged
mysql-test/t/mysqlbinlog-cp932.test:
Auto merged
mysql-test/t/mysqlbinlog2.test:
Auto merged
mysql-test/t/mysqldump.test:
Auto merged
mysql-test/t/ps.test:
Auto merged
mysql-test/t/sp_trans.test:
Auto merged
sql/handler.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
mysql-test/r/date_formats.result:
Use local
mysql-test/r/partition.result:
SCCS merged
mysql-test/t/date_formats.test:
Use local
mysql-test/t/ndb_basic.test:
manual merge
mysql-test/t/partition.test:
manual merge
mysql-test/t/user_var-binlog.test:
use local
The patch contains the following changes:
- Introduce auxilary functions to convenient work with character sets:
- resolve_charset();
- resolve_collation();
- get_default_db_collation();
- Introduce lex_string_set();
- Refactor Table_trigger_list::process_triggers() &
sp_head::execute_trigger() to be consistent with other code;
- Move reusable code from add_table_for_trigger() into
build_trn_path(), check_trn_exists() and load_table_name_for_trigger()
to be used in the following patch.
- Rename triggers_file_ext and trigname_file_ext into TRN_EXT and
TRG_EXT respectively.
include/my_sys.h:
Introduced auxilary functions (to be used in the following patch).
mysys/charset.c:
Introduced auxilary functions (to be used in the following patch).
sql/handler.cc:
Rename triggers_file_ext -> TRG_EXT;
Rename trigname_file_ext -> TRN_EXT.
sql/mysql_priv.h:
1. Fix typo;
2. Introduce auxilary functions (set_lex_string() will be used
in the following patch);
3. Rename triggers_file_ext -> TRG_EXT;
Rename trigname_file_ext -> TRN_EXT.
sql/sp_head.cc:
Make sp_head::execute_trigger() consistent with
sp_head::execute_function() and sp_head::execute_procedure().
sql/sp_head.h:
Make sp_head::execute_trigger() consistent with
sp_head::execute_function() and sp_head::execute_procedure().
sql/sql_db.cc:
1. Introduce auxilary function.
2. Polishing.
sql/sql_trigger.cc:
1. Move common code from add_table_for_trigger() into
- build_trn_path();
- check_trn_exists();
- load_table_name_for_trigger();
2. Polishing.
sql/sql_trigger.h:
1. Move common code from add_table_for_trigger() into
- build_trn_path();
- check_trn_exists();
- load_table_name_for_trigger();
2. Polishing.
into chilla.local:/home/mydev/mysql-5.1-axmrg
configure.in:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysys/mf_keycache.c:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
and is not described in the manual
- Adding missing initialization for utf8 collations
- Minor code clean-ups: renaming variables,
moving code into a new separate function.
- Adding test, to check that both ucs2 and utf8 user
defined collations work (ucs2_test_ci and utf8_test_ci)
- Adding Vietnamese collation as a complex user defined
collation example.
include/m_ctype.h:
Renaming variable names to match collation names (for convenience).
mysys/charset-def.c:
- Removing redundant declarations for variables declared in m_ctype.h
- Renaming variable names to match collation names (for convenience).
mysys/charset.c:
- Renaming "new" to "newcs", to avoid using C reserved word as a variable name
- Moving UCA initialization code into a separate function
- The bug fix itself: adding initialization of utf8 collations
strings/ctype-uca.c:
Renaming variable names to match collation names (for convenience).
strings/ctype.c:
Increasing buffer size to fit tailoring for languages
with complex rules (e.g. Vietnamese).
mysql-test/r/ctype_ldml.result:
Adding test case
mysql-test/std_data/Index.xml:
Adding Index.xml example with user defined collations.
mysql-test/t/ctype_ldml-master.opt:
Adding OPT file for the test case,
to use the example Index.xml file.
mysql-test/t/ctype_ldml.test:
Adding test case
- Only use the "hack for bug in NTPL" if using NTPL, by dynamically
checking the thd_lib_detected flag
mysys/my_thr_init.c:
Only start the "dummy thread hack for bug in NPTL" - if using NPTL.
If the system uses LinuxThreads it's not needed, it actually causes
the "pthread manager" to be started as root and thus all subsequent
threads will also run as root although mysqld drops root privileges,
this in turns causes mysqld to deadlock since the mysqlds main thread
running as <user> can't send signals to a process owned by root.
into xiphis.org:/home/antony/work2/mysql-5.1-engines.merge
mysql-test/mysql-test-run.pl:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
into trift2.:/MySQL/M51/push-5.1
BitKeeper/deleted/.del-CMakeLists.txt~1:
Auto merged
CMakeLists.txt:
Auto merged
mysql-test/extra/binlog_tests/ctype_cp932_binlog.test:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/t/mysqltest.test:
Auto merged
mysql-test/t/ps.test:
Auto merged
sql/sql_parse.cc:
Auto merged
into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/jun05/51
client/mysqldump.c:
Auto merged
include/m_string.h:
Auto merged
include/mysql_com.h:
Auto merged
include/violite.h:
Auto merged
libmysql/libmysql.c:
Auto merged
mysql-test/include/mix1.inc:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/innodb_mysql.result:
Auto merged
mysql-test/r/ps.result:
Auto merged
mysql-test/t/mysqltest.test:
Auto merged
mysql-test/t/ps.test:
Auto merged
mysys/my_init.c:
Auto merged
server-tools/instance-manager/mysql_connection.cc:
Auto merged
sql/field.cc:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/net_serv.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_connect.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_repl.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql-common/client.c:
Auto merged
sql/sql_yacc.yy:
Auto merged
strings/ctype-mb.c:
Auto merged
strings/ctype-ucs2.c:
Auto merged
strings/strtod.c:
Auto merged
vio/vio_priv.h:
Auto merged
vio/viosocket.c:
Auto merged
client/mysqltest.c:
SCCS merged
include/my_global.h:
SCCS merged
sql/field.h:
SCCS merged
sql/sql_table.cc:
Manual merge
strings/ctype-bin.c:
Manual merge