Commit graph

51066 commits

Author SHA1 Message Date
unknown
5ce7cdbe54 Bug#31752: check strmake() bounds
strmake() called with wrong parameters:
5.1-specific fixes.


sql/sql_db.cc:
  fix off-by-one buffer-length
2007-11-26 09:38:42 +01:00
unknown
d7d7b10b53 Merge mysql.com:/misc/mysql/31752_/50-31752_
into  mysql.com:/misc/mysql/31752_/51-31752_


client/mysql.cc:
  Auto merged
sql/log.cc:
  Auto merged
sql/repl_failsafe.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sp.cc:
  manual merge
strings/strmake.c:
  SCCS merged
sql/unireg.cc:
  SCCS merged
2007-11-26 09:19:30 +01:00
unknown
1c72446ef6 Bug#31752: check strmake() bounds
strmake() called with wrong parameters:
5.0-specific fixes.


client/mysql.cc:
  In debug-mode, strmake() fills unused part of buffer with
  a test-pattern. This overwrites our previous extra '\0'
  (from previous bzero()).
sql/sp.cc:
  off-by-one buffer-size.
2007-11-26 09:13:23 +01:00
unknown
fe280afa26 Merge mysql.com:/misc/mysql/31752_/41-31752_
into  mysql.com:/misc/mysql/31752_/50-31752_


sql/log.cc:
  Auto merged
sql/repl_failsafe.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
strings/strmake.c:
  Auto merged
sql/sql_show.cc:
  manually merged
sql/unireg.cc:
  manual merge
2007-11-26 09:00:41 +01:00
unknown
a905ac34b5 Bug#31752: check strmake() bounds
strmake() calls are easy to get wrong. Add checks in extra
debug mode to identify possible exploits.

Remove some dead code.

Remove some off-by-one errors identified with new checks.


sql/log.cc:
  fix off-by-one buffer-length argument to prevent stack smashing
sql/repl_failsafe.cc:
  fix off-by-one buffer-length argument to prevent stack smashing
sql/set_var.cc:
  fix off-by-one buffer-length argument to prevent stack smashing
  (already approved, backports )
sql/sql_show.cc:
  misdimensioned buffers: functions further down the callstack
  expect bufsize of FN_REFLEN
sql/unireg.cc:
  When EXTRA_DEBUG is enabled, strmake() will write funny patterns to
  buffers it operates on to identify possibly overflows. This leads to
  badness in mysql_create_frm(), so we explicitly put any unused bytes
  (back) into a defined state. Not a bug-fix, but part of the strmake()
  bug detector.
strings/strmake.c:
  strmake() takes maximum string length rather than buffer-length
  (string length + 1 to accomodate \0 terminator) as argument.
  Since this is easy to get wrong, add extra debug code to identify
  off-by-ones so we can prevent stack smashing.
  
  Alternative "BAD_STRING_COMPILER" removed after checking
  with Monty.
2007-11-26 08:20:40 +01:00
unknown
7ba06230a7 Merge polly.(none):/home/kaa/src/opt/bug32080/my51-bug26215
into  polly.(none):/home/kaa/src/opt/mysql-5.1-opt


mysql-test/lib/mtr_report.pl:
  Auto merged
2007-11-23 14:59:56 +03:00
unknown
e7501cd9bc Fix for bug : Excessive warnings on Solaris: setrlimit could not
change the size of core files.

Suppress the 'setrlimit could not change the size of the core files'
warning in mysql-test-run. We do not want core files on some of the
PushBuild hosts, and PushBuild itself does not set --core-files, so
that warning is expected.


mysql-test/lib/mtr_report.pl:
  Suppress the 'setrlimit could not change the size of the core files'
  warning in mysql-test-run. We do not want core files on some of the
  PushBuild machines, and PushBuild itself does not set --core-files, so
  that warning is expected.
2007-11-23 13:13:37 +03:00
unknown
a44d52b8f4 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B31171-5.1-opt
2007-11-22 17:35:02 +02:00
unknown
1fde17d4e0 Merge polly.(none):/home/kaa/src/opt/bug32221/my51-bug31445
into  polly.(none):/home/kaa/src/opt/mysql-5.1-opt
2007-11-22 17:26:10 +03:00
unknown
109015fc6d Merge polly.(none):/home/kaa/src/opt/bug32221/my50-bug31445
into  polly.(none):/home/kaa/src/opt/bug32221/my51-bug31445


scripts/make_win_bin_dist:
  Manual merge.
2007-11-22 17:17:32 +03:00
unknown
ae5ec36bcb Fixed build failures on Windows introduced by the patch for bug .
We do not have any executables in libmysql/release/ anymore.
2007-11-22 17:13:12 +03:00
unknown
37fbdb585b Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B31171-5.1-opt
2007-11-22 15:32:08 +02:00
unknown
bac4f3e6ee Merge polly.(none):/home/kaa/src/opt/bug32221/my51-bug31445
into  polly.(none):/home/kaa/src/opt/mysql-5.1-opt


tests/mysql_client_test.c:
  Auto merged
2007-11-22 14:56:01 +03:00
unknown
0515b14020 Merge polly.(none):/home/kaa/src/opt/bug32221/my50-bug31445
into  polly.(none):/home/kaa/src/opt/bug32221/my51-bug31445


BitKeeper/deleted/.del-myTest.dsp~4a8c480769193952:
  Auto merged
BitKeeper/deleted/.del-mytest.c~9a99338689e5de8:
  Auto merged
BitKeeper/deleted/.del-mytest.dsw~2324698861155335:
  Auto merged
libmysql/Makefile.am:
  Auto merged
tests/bug25714.c:
  Auto merged
tests/mysql_client_test.c:
  Auto merged
BitKeeper/deleted/.del-copy_mysql_files.bat~f6878eeb80173de9:
  Auto merged
BitKeeper/deleted/.del-mytest_1.c:
  Merge rename: BitKeeper/deleted/.del-mytest.c -> BitKeeper/deleted/.del-mytest_1.c
BitKeeper/deleted/.del-myTest-package.dsp~ec9faf3287cbe2b9:
  Auto merged
BitKeeper/deleted/.del-myTest-package_ia64.dsp~e423b69f2c624850:
  Auto merged
BitKeeper/deleted/.del-myTest.vcproj~dba5adc4fad3c06:
  Auto merged
BitKeeper/deleted/.del-myTest_ia64.dsp~b17572b217d092e6:
  Auto merged
libmysql/CMakeLists.txt:
  Manual merge.
2007-11-22 14:39:07 +03:00
unknown
0cbad91f07 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B31171-5.1-opt
2007-11-22 12:07:13 +02:00
unknown
0b489d3fd3 Bug : test alter_table, fulltext2, ps, sp fail,
"Table is already up to date" vs. "OK"

On MacOSX 10.5 when you cast something to "bool"
(the built in C type) it takes values 0 or 1 
instead of 0-255 as it seems to be on older compilers.
Fixed by removing the typecast (not needed).
No test case needed : there are tests that test it.


storage/myisam/mi_open.c:
  Bug : don't typecast when not needed
2007-11-21 18:52:38 +02:00
unknown
16f15dba44 merge of bug 30788 to 5.1-opt 2007-11-21 15:56:45 +02:00
unknown
4b9106764d Merge magare.gmz:/home/kgeorge/mysql/work/B30788-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/work/B30788-5.1-opt


mysql-test/r/subselect3.result:
  Auto merged
sql/item.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
mysql-test/r/subselect.result:
  merge of bug 30788 to 5.1-opt
mysql-test/t/subselect.test:
  merge of bug 30788 to 5.1-opt
2007-11-21 13:19:50 +02:00
unknown
e9832ceeac Bug : Inconsistent retrieval of char/varchar
Index lookup does not always guarantee that we can
simply remove the relevant conditions from the WHERE
clause. Reasons can be e.g. conversion errors, 
partial indexes etc. 
The optimizer was removing these parts of the WHERE 
condition without any further checking.
This leads to "false positives" when using indexes.
Fixed by checking the index reference conditions
(using WHERE) when using indexes with sub-queries.


mysql-test/r/subselect.result:
  Bug : 
   - using where
   - test case
mysql-test/r/subselect3.result:
  Bug : using where
mysql-test/t/subselect.test:
  Bug : test case
sql/item.h:
  Bug : 
   - Declare eq() method of Item_cache descendants : this is used in
   test_if_ref()
   - preserve the field that is being cached for type comparisions
sql/sql_select.cc:
  Bug : Don't remove the WHERE when using index lookup 
  with subqueries.
2007-11-21 11:40:05 +02:00
unknown
70e228763b Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  mysql.com:/home/psergey/mysql-5.1-bug30573
2007-11-20 17:26:15 +03:00
unknown
2eaa6352e9 merging 2007-11-20 15:46:33 +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
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
c4d0901d00 Fix for bug : 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 : 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
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 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  Test 'windows' and 'windows_shm' failed for embedded server
  
  Let loading libraries in the embedded server
libmysqld/CMakeLists.txt:
  Bug  Test 'windows' and 'windows_shm' failed for embedded server
  
  let loading libraries in the embedded server
mysql-test/t/windows.test:
  Bug  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 .
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 .
  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 .
mysql-test/r/select.result:
  Added test case for bug .
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 : 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 .
mysql-test/t/explain.test:
  Added a test case for bug .
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