into polly.(none):/home/kaa/src/maint/mysql-5.1-maint
include/my_sys.h:
Auto merged
libmysql/Makefile.shared:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/opt_range.cc:
Auto merged
sql/records.cc:
Auto merged
sql/sql_array.h:
Auto merged
sql/sql_help.cc:
Auto merged
sql/sql_select.cc:
Auto merged
storage/myisam/ft_boolean_search.c:
Auto merged
storage/myisam/ft_nlq_search.c:
Auto merged
storage/myisam/myisampack.c:
Auto merged
mysys/mf_keycache.c:
Manual merge.
mysys/mf_sort.c:
Manual merge.
mysys/my_lib.c:
Manual merge.
mysys/queues.c:
Manual merge.
sql/sql_acl.cc:
Manual merge.
sql/sql_table.cc:
Manual merge.
storage/csv/ha_tina.cc:
Manual merge.
storage/myisam/sort.c:
Manual merge.
in middle of block)
libmysql/libmysql.c:
Fix syntax error - don't define new variables in the middle of a block.
Also, use size_t instead of uint to avoid unnecessary casting.
CPUs / Intel's ICC compile
The bug is a combination of two problems:
1. IA64/ICC MySQL binaries use glibc's qsort(), not the one in mysys.
2. The order relation implemented by join_tab_cmp() is not transitive,
i.e. it is possible to choose such a, b and c that (a < b) && (b < c)
but (c < a). This implies that result of a sort using the relation
implemented by join_tab_cmp() depends on the order in which
elements are compared, i.e. the result is implementation-specific. Since
choose_plan() uses qsort() to pre-sort the
join tables using join_tab_cmp() as a compare function, the results of
the sorting may vary depending on qsort() implementation.
It is neither possible nor important to implement a better ordering
algorithm in join_tab_cmp(). Therefore the only way to fix it is to
force our own qsort() to be used by renaming it to my_qsort(), so we don't depend
on linker to decide that.
This patch also "fixes" bug #20530: qsort redefinition violates the
standard.
include/my_sys.h:
Renamed qsort() and qsort2() to my_qsort() and my_qsort2(). Since
previously we relied on stdlib.h to provide a declaration for qsort(), a
separate declaration for my_qsort() is now required.
libmysql/Makefile.shared:
Added mf_qsort.c to libmysql, since my_lib.c now uses my_qsort() instead of qsort().
myisam/ft_boolean_search.c:
Replaced qsort2() with my_qsort2().
myisam/ft_nlq_search.c:
Replaced qsort2() with my_qsort2().
myisam/myisampack.c:
Replaced qsort() with my_qsort().
myisam/sort.c:
Replaced qsort2() with my_qsort2().
mysys/mf_keycache.c:
Replaced qsort() with my_qsort().
mysys/mf_qsort.c:
Renamed qsort() to my_qsort() and qsort2() to my_qsort2().
mysys/mf_sort.c:
Replaced qsort2() with my_qsort2().
mysys/my_lib.c:
Replaced qsort() with my_qsort().
mysys/queues.c:
Replaced qsort2() with my_qsort2().
sql/item_cmpfunc.cc:
Replaced qsort2() with my_qsort2().
sql/item_cmpfunc.h:
Replaced qsort2() with my_qsort2().
sql/opt_range.cc:
Replaced qsort() with my_qsort().
sql/records.cc:
Replaced qsort() with my_qsort().
sql/sql_acl.cc:
Replaced qsort() with my_qsort().
sql/sql_array.h:
Replaced qsort() with my_qsort().
sql/sql_help.cc:
Replaced qsort() with my_qsort().
sql/sql_select.cc:
Replaced qsort() with my_qsort().
sql/examples/ha_tina.cc:
Replaced qsort() with my_qsort().
sql/sql_table.cc:
Replaced qsort() with my_qsort().
into polly.(none):/home/kaa/src/maint/mysql-5.0-maint
myisam/sort.c:
Auto merged
mysql-test/r/repair.result:
Auto merged
mysql-test/t/repair.test:
Auto merged
into pilot.mysql.com:/data/msvensson/mysql/mysql-5.1-new-maint
libmysql/libmysql.c:
Auto merged
mysql-test/r/type_float.result:
Auto merged
mysql-test/t/type_float.test:
Auto merged
into mysql.com:/home/ram/work/b31154/b31154.5.1
mysql-test/r/func_gconcat.result:
Auto merged
mysql-test/t/func_gconcat.test:
Auto merged
sql/item_sum.cc:
Auto merged
into mysql.com:/home/ram/work/b30885/b30885.5.1
mysql-test/r/heap_btree.result:
Auto merged
mysql-test/t/heap_btree.test:
Auto merged
storage/heap/hp_hash.c:
the code was changed to use bitmaps instead of key length, so ul
into solace.(none):/home/mtaylor/src/mysql/mysql-5.1-new-maint
BitKeeper/deleted/.del-changelog~8457b43736642c:
Auto merged
BitKeeper/deleted/.del-copyright~3c3485ee25f7cde0:
Auto merged
BitKeeper/deleted/.del-my.cnf~c8cce985cf5872e3:
Auto merged
BitKeeper/deleted/.del-rules~2018e0de32c6d936:
Auto merged
BitKeeper/deleted/.del-README.debian~223f0edd363d08af:
Auto merged
BitKeeper/deleted/.del-aa~f8c7e976fa99167f:
Auto merged
BitKeeper/deleted/.del-ab~1145a71fc2a5dbb8:
Auto merged
BitKeeper/deleted/.del-ac~66b41066a435209:
Auto merged
BitKeeper/deleted/.del-ad~9296238d4d7d5bb3:
Auto merged
BitKeeper/deleted/.del-ae~c54b032746985759:
Auto merged
BitKeeper/deleted/.del-az~45092291b7eff90a:
Auto merged
BitKeeper/deleted/.del-control~a2146883b4ed7c94:
Auto merged
BitKeeper/deleted/.del-gomi~bcec57fe6195deee:
Auto merged
BitKeeper/deleted/.del-libmysqlclient10.dirs~24c90ade3a371b6f:
Auto merged
BitKeeper/deleted/.del-libmysqlclient10.postinst~5829f4e4a7c0206b:
Auto merged
BitKeeper/deleted/.del-libmysqlclient9.dirs~4420713260a0eb40:
Auto merged
BitKeeper/deleted/.del-libmysqlclient9.postinst~80ad5f1e4633a219:
Auto merged
BitKeeper/deleted/.del-move~6b750ba06050bc92:
Auto merged
BitKeeper/deleted/.del-mysql-bench.dirs~3407d505223bf583:
Auto merged
BitKeeper/deleted/.del-mysql-client.dirs~3f347d1649db13e1:
Auto merged
BitKeeper/deleted/.del-mysql-dev.dirs~c6cacea9b3289f33:
Auto merged
BitKeeper/deleted/.del-mysql-doc.dirs~a468f79189ff27ad:
Auto merged
BitKeeper/deleted/.del-mysql-max-debug.dirs~58d766ce6caffa2b:
Auto merged
BitKeeper/deleted/.del-mysql-max-debug.postinst~36f2faba601ed8a:
Auto merged
BitKeeper/deleted/.del-mysql-max-debug.postrm~26bdf891820d3671:
Auto merged
BitKeeper/deleted/.del-mysql-max-shared.dirs~38f36e6773ac0e79:
Auto merged
BitKeeper/deleted/.del-mysql-max-shared.postinst~3406aa3bae283fe0:
Auto merged
BitKeeper/deleted/.del-mysql-max-shared.postrm~92193bedc2b75355:
Auto merged
BitKeeper/deleted/.del-mysql-max.dirs~be29c2b464db6050:
Auto merged
BitKeeper/deleted/.del-mysql-max.postinst~cc8a0b3de02b23e0:
Auto merged
BitKeeper/deleted/.del-mysql-max.postrm~66c355bd3081578b:
Auto merged
BitKeeper/deleted/.del-mysql-server-debug.dirs~7b6329c9df635ce4:
Auto merged
BitKeeper/deleted/.del-mysql-server-debug.postinst~12af8ffb8a145fae:
Auto merged
BitKeeper/deleted/.del-mysql-server-debug.postrm~ae113145ebc34ac8:
Auto merged
BitKeeper/deleted/.del-mysql-server-shared.dirs~cb56821f47811c7c:
Auto merged
BitKeeper/deleted/.del-mysql-server-shared.postinst~c6fee24788b634a7:
Auto merged
BitKeeper/deleted/.del-mysql-server-shared.postrm~f3d7f9c6bfb3ca9b:
Auto merged
BitKeeper/deleted/.del-mysql-server.conffiles~566a6664d16909f0:
Auto merged
BitKeeper/deleted/.del-mysql-server.dirs~b12380a091807c5e:
Auto merged
BitKeeper/deleted/.del-mysql-server.postinst~d72bf57a84001364:
Auto merged
BitKeeper/deleted/.del-mysql-server.postrm~68a988229b41c3bb:
Auto merged
BitKeeper/deleted/.del-mysql-server.prerm~4445eacc70e74899:
Auto merged
BitKeeper/deleted/.del-shlibs~3fe34471c220623c:
Auto merged
BitKeeper/deleted/.del-ta~ec794c5d9d922b6c:
Auto merged
BitKeeper/deleted/.del-tb~8844e8c985e40d4e:
Auto merged
(compiler issue ?)
Problem:
Improper compile-time flags on AIX prevented use of files > 2 GB. This
resulted in Max_data_length being truncated to 2 GB by MyISAM code.
Solution:
Reverted large-file changes from the fix for bug10776. We need to define
_LARGE_FILES on AIX to have support for files > 2 GB.
Since _LARGE_FILE_API is incompatible with _LARGE_FILES and may be
automatically defined by including standards.h, we also need a
workaround to avoid this conflict.
config/ac-macros/large_file.m4:
Reverted large-file changes from the fix for bug10776. We need to define
_LARGE_FILES on AIX to have support for files > 2 GB.
include/my_global.h:
_LARGE_FILE_API is defined in standards.h that is automatically included
by at least some C++ compilers on AIX. Since it is also incompatible
with _LARGE_FILES which is required for POSIX IO calls to be
largefile-safe, the only workaround is to explicitely #undef
_LARGE_FILE_API.
into sin.intern.azundris.com:/home/tnurnberg/30951/51-30951
mysql-test/r/func_sapdb.result:
Auto merged
mysql-test/t/func_sapdb.test:
Auto merged
sql-common/my_time.c:
Auto merged
makedate() will fold years below 100 into the 1970-2069 range. CS removes code
that also wrongly folded years between 100 and 200 into that range, which should
be left unchanged. Backport from 5.1.
mysql-test/r/func_sapdb.result:
Show that makedate() works correctly for 100 <= year < 200.
mysql-test/t/func_sapdb.test:
Show that makedate() works correctly for 100 <= year < 200.
sql-common/my_time.c:
Remove unnecessary date magic. Syncs behaviour with 5.1+
and manual.
Options to mysqld were not processed correctly because switch statement
was missing some "break"s. CS adds them.
No test case; would require .opt file and server restart. Manually tested.
sql/mysqld.cc:
Add missing "break"s to switch() in mysqld to fix option processing.
into solace.(none):/home/mtaylor/src/mysql/mysql-5.1-new-maint
BitKeeper/deleted/.del-changelog:
Auto merged
BitKeeper/deleted/.del-libmysqlclientSLIB-dev.files.in:
Auto merged
BitKeeper/deleted/.del-mysql-client-BASE.files.in:
Auto merged
BitKeeper/deleted/.del-mysql-server-BASE.files.in:
Auto merged
configure.in:
Auto merged
BitKeeper/deleted/.del-mysql-test-BASE.files.in:
Auto merged
BitKeeper/deleted/.del-rules:
Auto merged
Makefile.am:
Merged in removal of debian dir from 5.0-maint
Problem: GROUP_CONCAT(DISTINCT BIT_FIELD...) uses a tree to store keys;
which are constructed using a temporary table fields,
see Item_func_group_concat::setup().
As a) we don't store null bits in the tree where the bit fields store parts
of their data and b) there's no method to properly compare two table records
we've got problem.
Fix: convert BIT fields to INT in the temporary table used.
mysql-test/r/func_gconcat.result:
Fix for bug #31154: field.h:1649: virtual int Field_bit::cmp(const uchar*, const uchar*): Assertion
- test result.
mysql-test/t/func_gconcat.test:
Fix for bug #31154: field.h:1649: virtual int Field_bit::cmp(const uchar*, const uchar*): Assertion
- test case.
sql/item_sum.cc:
Fix for bug #31154: field.h:1649: virtual int Field_bit::cmp(const uchar*, const uchar*): Assertion
- force the create_tmp_table() to convert BIT columns to INT
in order to be able to compare records containing BIT fields.
myisam_sort_buffer_size.
An incorrect length of the sort buffer was used when calculating the
maximum number of keys. When myisam_sort_buffer_size is small enough,
this could result in the number of keys < number of
BUFFPEK structures which in turn led to use of uninitialized BUFFPEKs.
Fixed by correcting the buffer length calculation.
myisam/sort.c:
Use a correct buffer length when calculating the maximum number of keys.
Assert that for each BUFFPEK structure there is at least one
corresponding key. Otherwise we would fail earlier and not reach
merge_buffers().
mysql-test/r/repair.result:
Added a test case for bug #31174.
mysql-test/t/repair.test:
Added a test case for bug #31174.
into ramayana.hindu.god:/home/tsmith/m/bk/maint/51
configure.in:
Auto merged
mysql-test/Makefile.am:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
scripts/Makefile.am:
Auto merged
scripts/mysql_system_tables_data.sql:
Auto merged
scripts/mysqld_safe.sh:
Auto merged
sql/sql_select.cc:
Auto merged
storage/innobase/handler/ha_innodb.cc:
Auto merged