Commit graph

51107 commits

Author SHA1 Message Date
unknown
a8dd1299cc test case added for the bug #31155
mysql-test/r/gis.result:
  test result complete
mysql-test/t/gis.test:
  test case added for the bug
2007-11-20 17:04:24 +04:00
unknown
2eaa6352e9 merging 2007-11-20 15:46:33 +04:00
unknown
39da7c8ada Merge mysql.com:/home/hf/work/31868/my41-31868
into  mysql.com:/home/hf/work/31868/my50-31868


sql/sql_table.cc:
  merging
2007-11-20 14:51:40 +04:00
unknown
e3c44e3e21 Merge mysql.com:/home/hf/work/32211/my51-32211
into  mysql.com:/home/hf/work/31868/my51-31868
2007-11-20 14:48:49 +04:00
unknown
5d385571d1 Merge mysql.com:/home/hf/work/32063/my41-32063
into  mysql.com:/home/hf/work/31868/my41-31868
2007-11-20 14:47:39 +04:00
unknown
abb1afba26 Merge mysql.com:/home/hf/work/31960/my51-31960
into  mysql.com:/home/hf/work/31868/my51-31868


sql/sql_parse.cc:
  Auto merged
sql/mysql_priv.h:
  merging
2007-11-20 14:46:46 +04:00
unknown
3ae44c907e Merge bk@192.168.21.1:mysql-5.1-opt
into  mysql.com:/home/hf/work/31868/my51-31868


BitKeeper/etc/ignore:
  auto-union
libmysqld/lib_sql.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
2007-11-20 14:35:49 +04:00
unknown
0b22925cc0 BUG#30573: Ordered range scan over partitioned tables returns some rows twice
The problem: ha_partition::read_range_first() could return a record that is 
outside of the scanned range. If that record happened to be in the next 
subsequent range, it would satisfy the WHERE and appear in the output twice.
(we would get it the second time when scanning the next subsequent range)

Fix: 
Made ha_partition::read_range_first() check if the returned recod is within
the scanned range, like other read_range_first() implementations do.


mysql-test/r/partition_range.result:
  BUG#30573: Ordered range scan over partitioned tables returns some rows twice
   - Testcase
mysql-test/t/partition_range.test:
  BUG#30573: Ordered range scan over partitioned tables returns some rows twice
   - Testcase
sql/ha_partition.cc:
  BUG#30573: Ordered range scan over partitioned tables returns some rows twice
  - Make ha_partition::read_range_first() check if the returned record is 
    within the range.
2007-11-20 05:02:49 +03:00
unknown
524e1cd93d Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/work/31048-bug-5.0-opt-mysql
2007-11-19 21:28:50 +00:00
unknown
b3347a6a98 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/work/31048-bug-5.0-opt-mysql


sql/item_subselect.cc:
  Auto merged
mysql-test/r/subselect.result:
  Manual merge
mysql-test/t/subselect.test:
  Manual merge
2007-11-19 21:15:53 +00:00
unknown
1c232504a9 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/work/30384-bug-5.0-opt-mysql


sql/sql_class.h:
  Auto merged
2007-11-19 21:06:03 +00:00
unknown
4addb6b717 Bug#30384: Having SQL_BUFFER_RESULT option in the CREATE .. KEY(..) .. SELECT
led to creating corrupted index.

Corrected fix. The new method called prepare2 is added to the select_create
class. As all preparations are done by the select_create::prepare function
it doesn't do anything. Slightly changed algorithm of calling the 
start_bulk_insert function. Now it's called from the select_insert::prepare2
function when the SQL_BUFFER_RESULT flags is set.
The is_bulk_insert_mode flag is removed as it is not needed anymore.


sql/sql_class.h:
  Bug#30384: Having SQL_BUFFER_RESULT option in the CREATE .. KEY(..) .. SELECT
  led to creating corrupted index.
  Corrected fix. The new method called prepare2 is added to the select_create
  class. As all preparetions are done by the select_create::prepare function
  it doesn't do anything.
  The is_bulk_insert_mode flag is removed as it is not needed anymore.
sql/sql_insert.cc:
  Bug#30384: Having SQL_BUFFER_RESULT option in the CREATE .. KEY(..) .. SELECT
  led to creating corrupted index. Slightly changed algorithm of calling the
  start_bulk_insert function. Now it's called from the select_insert::prepare2
  function when the SQL_BUFFER_RESULT flags is set.
  Corrected fix. The is_bulk_insert_mode flag is removed as it is not needed
  anymore.
2007-11-19 21:05:17 +00:00
unknown
13105534fa Bug#31048: Many nested subqueries may cause server crash.
This bug is actually two. The first one manifests itself on an EXPLAIN
SELECT query with nested subqueries that employs the filesort algorithm.
The whole SELECT under explain is marked as UNCACHEABLE_EXPLAIN to preserve
some temporary structures for explain. As a side-effect of this values of
nested subqueries weren't cached and subqueries were re-evaluated many
times. Each time buffer for filesort was allocated but wasn't freed because
freeing occurs at the end of topmost SELECT. Thus all available memory was
eaten up step by step and OOM event occur.
The second bug manifests itself on SELECT queries with conditions where
a subquery result is compared with a key field and the subquery itself also
has such condition. When a long chain of such nested subqueries is present
the stack overrun occur. This happens because at some point the range optimizer
temporary puts the PARAM structure on the stack. Its size if about 8K and
the stack is exhausted very fast.

Now the subselect_single_select_engine::exec function allows subquery result
caching when the UNCACHEABLE_EXPLAIN flag is set.
Now the SQL_SELECT::test_quick_select function calls the check_stack_overrun
function for stack checking purposes to prevent server crash.


mysql-test/t/subselect.test:
  Added a test case for the bug#31048: Many nested subqueries may cause server crash.
mysql-test/r/subselect.result:
  Added a test case for the bug#31048: Many nested subqueries may cause server crash.
sql/opt_range.cc:
  Bug#31048: Many nested subqueries may cause server crash.
  Now the SQL_SELECT::test_quick_select function calls the check_stack_overrun
  function for stack checking purposes to preven server crash.
sql/item_subselect.cc:
  Bug31048: Many nested subqueries may cause server crash.
  Now the subselect_single_select_engine::exec function allows subquery result
  caching when the UNCACHEABLE_EXPLAIN flag is set.
2007-11-19 20:00:25 +00:00
unknown
ea73989828 Fixed bug #32282: TEXT silently truncates when value is exactly 65536
bytes length.

The server has been modified to report warnings on truncation to
65536 bytes as usual.



sql/sql_string.cc:
  Fixed bug #32282.
  The well_formed_copy_nchars function returned an incorrect value
  of copied bytes of the truncated input string: extra length of
  the first truncated character added to the *from_end_pos pointer.
  That has been fixed.
mysql-test/r/type_blob.result:
  Added test case for bug #32282.
mysql-test/t/type_blob.test:
  Added test case for bug #32282.
2007-11-19 21:34:21 +04:00
unknown
c4d0901d00 Fix for bug #32221: bug25714, mytest, mysql_client_test complaints and
crashes.

MySQL distributions contain a number of programs that are used only by
the MySQL test suite internally, i.e. they are not indended to be
invoked directly by a user. As a result, such programs are not
documented, do not have any built-in help or proper error reporting,
which may confuse users.

This patch fixes the problem with the following changes:
- mytest, libmysqltest and all references to them were removed from the
distribution since they are not used anymore
- bug25714 now displays an error message when run with incorrect
arguments or with the --help option
- mysql_client_test now does not call abort() in case of errors,
instead it does a clean exit() with a proper error status.


BitKeeper/deleted/.del-mytest.c:
  Delete: libmysql/mytest.c
BitKeeper/deleted/.del-myTest-package.dsp:
  Delete: VC++Files/libmysqltest/myTest-package.dsp
BitKeeper/deleted/.del-myTest-package_ia64.dsp:
  Delete: VC++Files/libmysqltest/myTest-package_ia64.dsp
BitKeeper/deleted/.del-myTest.dsp~4a8c480769193952:
  Delete: VC++Files/libmysqltest/myTest.dsp
BitKeeper/deleted/.del-myTest.vcproj:
  Delete: VC++Files/libmysqltest/myTest.vcproj
BitKeeper/deleted/.del-myTest_ia64.dsp:
  Delete: VC++Files/libmysqltest/myTest_ia64.dsp
BitKeeper/deleted/.del-mytest.c~9a99338689e5de8:
  Delete: VC++Files/libmysqltest/mytest.c
BitKeeper/deleted/.del-mytest.dsw~2324698861155335:
  Delete: VC++Files/libmysqltest/mytest.dsw
VC++Files/copy_mysql_files.bat:
  Removed references to libmysqltest.
libmysql/CMakeLists.txt:
  Removed rules for myTest.
libmysql/Makefile.am:
  Removed mytest.c from EXTRA_DIST.
tests/bug25714.c:
  Display a meaningful error message when run incorrectly or with the --help option.
tests/mysql_client_test.c:
  In case of error, don't cause abnormal program termination, do a clean exit() with an error status.
2007-11-19 18:59:25 +03:00
unknown
83e7133071 Merge polly.(none):/home/kaa/src/opt/mysql-5.0-opt
into  polly.(none):/home/kaa/src/opt/mysql-5.1-opt


client/mysql.cc:
  Auto merged
2007-11-19 16:19:49 +03:00
unknown
6a9cc21eb7 Merge polly.(none):/home/kaa/src/opt/bug32376/my51-bug26215
into  polly.(none):/home/kaa/src/opt/mysql-5.1-opt


client/mysql.cc:
  Auto merged
2007-11-19 16:16:44 +03:00
unknown
ac0612f559 Merge polly.(none):/home/kaa/src/opt/bug32376/my50-bug26215
into  polly.(none):/home/kaa/src/opt/mysql-5.0-opt


client/mysql.cc:
  Auto merged
2007-11-19 16:14:05 +03:00
unknown
43f41d1867 Merge polly.(none):/home/kaa/src/opt/bug32376/my50-bug26215
into  polly.(none):/home/kaa/src/opt/bug32376/my51-bug26215


client/mysql.cc:
  Manual merge.
2007-11-19 15:57:50 +03:00
unknown
1f7678fe52 Changed the help text for --comments to make it clear which option
disables the option explicitely.
Changed the option location in code so that --help will show it in
lexical option order.

This is for bug #26215: mysql command line client should not strip
comments from SQL statements


client/mysql.cc:
  Changed the help text for --comments to make it clear which option
  disables the option explicitely.
  Changed the option location in code so that --help will show it in
  lexical option order.
2007-11-19 15:27:44 +03:00
unknown
b15802298b Bug#32158 Crash in open_table_from_share, on mysql_unpack_partition errors
added check for the result of mysql_unpack_partition()


sql/table.cc:
  added check for the result of mysql_unpack_partition()
2007-11-19 12:42:25 +04:00
unknown
da1efa3387 Bug #30284 spatial key corruption.
SPATIAL key is fine actually, but the chk_key() function
mistakenly returns error. It tries to compare checksums
of btree and SPATIAL keys while the checksum for the SPATIAL isn't
calculated (always 0). Same thing with FULLTEXT keys is handled
using full_text_keys counter, so fixed by counting both
SPATIAL and FULLTEXT keys in that counter.


myisam/mi_check.c:
  Bug #30284 spatial key corruption
  
  full_text_keys counts both FULL_TEXT and SPATIAL keys
mysql-test/r/gis.result:
  Bug #30284 spatial key corruption
  
  test result
mysql-test/t/gis.test:
  Bug #30284 spatial key corruption.
  
  test case
2007-11-19 11:03:03 +04:00
unknown
d6f10342b1 test fixed 2007-11-18 17:33:12 +04:00
unknown
e316f813d9 Merge gleb.loc:/work/bk/PA/5.0-opt-32335
into  gleb.loc:/work/bk/5.1-opt


mysql-test/r/select.result:
  Auto merged
mysql-test/t/select.test:
  Auto merged
sql/item_cmpfunc.cc:
  Merge with 5.0-opt.
2007-11-18 16:54:47 +04:00
unknown
fe54b274db Bug #32211 Test 'windows' and 'windows_shm' failed for embedded server
failing 'INSTALL PLUGIN' statement doesn't work in embedded server
as we disable library loading there.
Fixed by enabling loading libraries (#define HAVE_DLOPEN), what also
makes UDF working in the embedded server.


include/mysql_embed.h:
  Bug #32211 Test 'windows' and 'windows_shm' failed for embedded server
  
  Let loading libraries in the embedded server
libmysqld/CMakeLists.txt:
  Bug #32211 Test 'windows' and 'windows_shm' failed for embedded server
  
  let loading libraries in the embedded server
mysql-test/t/windows.test:
  Bug #32211 Test 'windows' and 'windows_shm' failed for embedded server
  
  make sure proc_1() doesn't exists before we start
2007-11-18 00:32:06 +04:00
unknown
f978c7cd86 Merge gleb.loc:/work/bk/5.0-opt-32335
into  gleb.loc:/work/bk/5.0-opt
2007-11-18 00:08:41 +04:00
unknown
99054db64c Fixed bug #32335.
Comparison of a BIGINT NOT NULL column with a constant arithmetic
expression that evaluates to NULL caused error 1048: "Column '...'
cannot be null".

Made convert_constant_item() check if the constant expression is NULL
before attempting to store it in a field. Attempts to store NULL in a
NOT NULL field caused query errors.


sql/item_cmpfunc.cc:
  Fixed bug #32335.
  1. Made convert_constant_item() check if the constant expression is NULL
     before attempting to store it in a field. Attempts to store NULL in
     a NOT NULL field caused query errors.
  
  2. Also minor bug has been fixed: the thd->count_cuted_fields value
     was not restored in case of successful conversion.
mysql-test/t/select.test:
  Added test case for bug #32335.
mysql-test/r/select.result:
  Added test case for bug #32335.
2007-11-18 00:02:55 +04:00
unknown
6bb3c8ee47 Merge mysql.com:/home/hf/work/31158/my50-31158
into  mysql.com:/home/hf/work/31158/my51-31158


sql/field.cc:
  Auto merged
2007-11-17 20:28:10 +04:00
unknown
71232b16d4 Merge mysql.com:/home/hf/work/31158/my41-31158
into  mysql.com:/home/hf/work/31158/my50-31158
2007-11-17 20:27:13 +04:00
unknown
d28ae94e2a Merge bk@192.168.21.1:mysql-4.1-opt
into  mysql.com:/home/hf/work/31158/my41-31158
2007-11-17 20:24:22 +04:00
unknown
dd07707b0c Merge bk@192.168.21.1:mysql-5.0-opt
into  mysql.com:/home/hf/work/31158/my50-31158


sql/field.cc:
  Auto merged
2007-11-17 20:23:15 +04:00
unknown
12cc8e12bb Merge bk@192.168.21.1:mysql-5.1-opt
into  mysql.com:/home/hf/work/31158/my51-31158


sql/field.cc:
  Auto merged
2007-11-17 17:16:32 +04:00
unknown
e42a22309d Merge mysql.com:/home/hf/work/31158/my50-31158
into  mysql.com:/home/hf/work/31158/my51-31158


mysql-test/t/gis.test:
  Auto merged
sql/field.cc:
  Auto merged
sql/field.h:
  Auto merged
sql/item_geofunc.cc:
  Auto merged
mysql-test/r/gis.result:
  merging
2007-11-17 17:12:18 +04:00
unknown
8a8d634b23 merging 2007-11-17 17:11:05 +04:00
unknown
75b8713b48 Merge mysql.com:/home/hf/work/31158/my41-31158
into  mysql.com:/home/hf/work/31158/my50-31158


mysql-test/t/gis.test:
  Auto merged
sql/field.h:
  Auto merged
sql/item_geofunc.cc:
  Auto merged
mysql-test/r/gis.result:
  merging
sql/field.cc:
  merging
2007-11-17 16:48:57 +04:00
unknown
13c64257d9 Merge polly.(none):/home/kaa/src/opt/mysql-5.0-opt
into  polly.(none):/home/kaa/src/opt/mysql-5.1-opt


sql/sql_select.cc:
  Auto merged
2007-11-16 14:33:21 +03:00
unknown
e70ca8b69b Merge polly.(none):/home/kaa/src/opt/bug32241/my51-bug29131
into  polly.(none):/home/kaa/src/opt/mysql-5.1-opt


sql/sql_select.cc:
  Auto merged
2007-11-16 14:30:25 +03:00
unknown
4b48eb6f1e Merge polly.(none):/home/kaa/src/opt/bug32241/my50-bug29131
into  polly.(none):/home/kaa/src/opt/mysql-5.0-opt


sql/sql_select.cc:
  Auto merged
2007-11-16 14:24:06 +03:00
unknown
96f7e948d8 Merge polly.(none):/home/kaa/src/opt/bug32241/my50-bug29131
into  polly.(none):/home/kaa/src/opt/bug32241/my51-bug29131


mysql-test/r/explain.result:
  Auto merged
mysql-test/t/explain.test:
  Auto merged
sql/sql_select.cc:
  Auto merged
2007-11-16 14:00:57 +03:00
unknown
1c1dd1f25c Fix for bug #32241: memory corruption due to large index map in 'Range
checked for each record'

The problem was in incorrectly calculated length of the buffer used to
store a hexadecimal representation of an index map in
select_describe(). This could result in buffer overrun and stack
corruption under some circumstances.

Fixed by correcting the calculation.


mysql-test/r/explain.result:
  Added a test case for bug #32241.
mysql-test/t/explain.test:
  Added a test case for bug #32241.
sql/sql_select.cc:
  Corrected the buffer length calculation. Count one hex digit as 4 bits,
  not 8.
2007-11-16 13:58:09 +03:00
unknown
21d98b7ae1 Merge mysql.com:/home/gluh/MySQL/Merge/5.0-opt
into  mysql.com:/home/gluh/MySQL/Merge/5.1-opt


mysql-test/r/type_date.result:
  Auto merged
mysql-test/t/type_date.test:
  Auto merged
2007-11-16 14:54:35 +04:00
unknown
0372747a3e Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt
2007-11-16 14:53:54 +04:00
unknown
cb7d8d9df0 Merge mysql.com:/home/gluh/MySQL/Merge/5.0-opt
into  mysql.com:/home/gluh/MySQL/Merge/5.1-opt


sql/handler.cc:
  use local
storage/blackhole/ha_blackhole.cc:
  use local
storage/blackhole/ha_blackhole.h:
  ul
2007-11-16 14:49:59 +04:00
unknown
0cfa3267fb Bug#30294 blackhole engine causes 100% with 2 alter table statements running
Implement neccessary shared lock structure for table locks.
This is the backport of bug26241 fix.


sql/ha_blackhole.cc:
  Implement neccessary shared lock structure for table locks.
sql/ha_blackhole.h:
  Declare shared structure for table locks
sql/handler.cc:
  added BLACKHOLE_DB case
2007-11-16 14:46:36 +04:00
unknown
1dd0df1f5a Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B31928-5.1-opt
2007-11-15 17:32:25 +02:00
unknown
dbd0f06981 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B31928-5.0-opt


mysql-test/r/type_date.result:
  Auto merged
mysql-test/t/type_date.test:
  Auto merged
2007-11-15 17:30:08 +02:00
unknown
d70fe65b96 merge of bug 31928 to 5.1-opt 2007-11-15 14:12:59 +02:00
unknown
f4f7e1f42c Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  mysql.com:/misc/mysql/31700/51-31700


mysql-test/r/log_tables.result:
  Auto merged
2007-11-15 12:31:40 +01:00
unknown
dc7bc68f7f Bug#31700: thd->examined_row_count not incremented for 'const' type queries
tests adjusted for Windows


mysql-test/r/log_tables.result:
  Be more conservative in tests (for Windows)
mysql-test/t/log_tables.test:
  Be more conservative in tests (for Windows)
2007-11-15 12:30:35 +01:00
unknown
a9315a65e1 Merge magare.gmz:/home/kgeorge/mysql/work/B31928-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/work/B31928-5.1-opt


mysql-test/t/type_date.test:
  Auto merged
sql/sql_select.h:
  Auto merged
mysql-test/r/type_date.result:
  merge of bug 31928 to 5.1-opt
2007-11-15 12:00:08 +02:00