Commit graph

38649 commits

Author SHA1 Message Date
unknown
7917c7c060 Merge pilot.mysql.com:/data/msvensson/mysql/bug32429/my50-bug32429
into  pilot.mysql.com:/data/msvensson/mysql/mysql-5.0-runtime
2007-11-26 20:08:32 +01:00
unknown
6cbb7d2f76 Bug#20830 - INSERT DELAYED does not honour SET INSERT_ID
Bug#20627 - INSERT DELAYED does not honour auto_increment_* variables
Fixed wrong variable assignment.
2007-11-26 19:16:23 +01:00
unknown
29cdc47ecd Merge polly.(none):/home/kaa/src/opt/bug28837/my50-bug29131
into  polly.(none):/home/kaa/src/opt/mysql-5.0-opt


sql/ha_myisam.cc:
  Auto merged
mysql-test/r/merge.result:
  Manual merge.
mysql-test/r/myisam.result:
  Manual merge.
mysql-test/t/merge.test:
  Manual merge.
mysql-test/t/myisam.test:
  Manual merge.
2007-11-26 19:35:08 +03:00
unknown
2823d879fc Merge kpettersson@bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into  adventure.(none):/home/thek/Development/cpp/mysql-5.0-runtime
2007-11-26 17:21:15 +01:00
unknown
b8a19c228c Bug#29592 SQL Injection issue
Remove the mysql_odbc_escape_string() function. The function
has multi-byte character escaping issues, doesn't honor the
NO_BACKSLASH_ESCAPES mode and is not used anymore by the
Connector/ODBC as of 3.51.17.


include/mysql.h:
  Remove mysql_odbc_escape_string() prototype.
include/mysql_h.ic:
  Update abi check file, mostly line changes and mysql_odbc_escape_string
  removal.
libmysql/libmysql.c:
  Remove mysql_odbc_escape_string() body.
libmysql/libmysql.def:
  Remove mysql_odbc_escape_string()
libmysqld/libmysqld.def:
  Remove mysql_odbc_escape_string()
2007-11-26 14:09:37 -02:00
unknown
67bf39f241 Fix for bug #28837: MyISAM storage engine error (134) doing delete with
self-join

When doing DELETE with self-join on a MyISAM or MERGE table, it could
happen that a record being retrieved in join_read_next_same() has
already been deleted by previous iterations. That caused the engine's
index_next_same() method to fail with HA_ERR_RECORD_DELETED error and
the whole DELETE query to be aborted with an error.

Fixed by suppressing the HA_ERR_RECORD_DELETED error in
hy_myisam::index_next_same() and ha_myisammrg::index_next_same(). Since
HA_ERR_RECORD_DELETED can only be returned by MyISAM, there is no point
in filtering this error in the SQL layer.


mysql-test/r/merge.result:
  Added a test case for bug #28837.
mysql-test/r/myisam.result:
  Added a test case for bug #28837.
mysql-test/t/merge.test:
  Added a test case for bug #28837.
mysql-test/t/myisam.test:
  Added a test case for bug #28837.
sql/ha_myisam.cc:
  Skip HA_ERR_RECORD_DELETED silently when calling mi_rnext_same().
sql/ha_myisammrg.cc:
  Skip HA_ERR_RECORD_DELETED silently when calling mi_rnext_same().
2007-11-26 18:58:54 +03:00
unknown
1836b73600 5.0 version of the fix for bug #9481: mysql_insert_id() returns 0 after
insert ... select.

The 5.0 manual page for mysql_insert_id() does not mention anything
about INSERT ... SELECT, though its current behavior is incosistent
with what the manual says about the plain INSERT.

Fixed by changing the AUTO_INCREMENT and mysql_insert_id() handling
logic in INSERT ... SELECT to be consistent with the INSERT behavior,
the manual, and the changes in 5.1 introduced by WL3146:


- mysql_insert_id() now returns the first automatically generated
AUTO_INCREMENT value that was successfully inserted by INSERT ... SELECT

-  if an INSERT ... SELECT statement is executed, and no automatically
generated value is successfully inserted, mysql_insert_id() now returns
the ID of the last inserted row.


sql/sql_class.h:
  Replaced last_insert_id with autoinc_value_of_last_inserted_row to be
  consistent with 5.1 code.
sql/sql_insert.cc:
  Revised the AUTO_INCREMENT and mysql_insert_id() handling logic in
  INSERT ... SELECT to be consistent with INSERT behavior, the manual, and
  changes in 5.1 introduced by WL3146:
  
  - mysql_insert_id() now returns the first automatically generated
  AUTO_INCREMENT value that was successfully inserted;
  
  -  if an INSERT ... SELECT statement is executed, and no automatically
  generated value is successfully inserted, mysql_insert_id() now returns
  the ID of the last inserted row.
tests/mysql_client_test.c:
  Backported the test cases related to INSERT ... SELECT and
  mysql_insert_id() from WL3146 patch to 5.0.
2007-11-26 18:36:05 +03:00
unknown
5e54e5b73b Merge adventure.(none):/home/thek/Development/cpp/bug32436/my50-bug32436
into  adventure.(none):/home/thek/Development/cpp/mysql-5.0-runtime


sql/item_func.cc:
  Auto merged
2007-11-26 15:58:06 +01:00
unknown
fea1524dbf Bug #32436 KILL QUERY completely deadlocks mysqld
Sending several "KILL QUERY" statements to target a connection running
"SELECT SLEEP" could freeze the server.

The locking order in Item_func_sleep was wrong and this could lead to a
dead lock.

This patch solves the issue by resolving the locking order properly.


sql/item_func.cc:
  - Moved LOCK_user_locks critical region so that it doesn't share space with
    mysys_var->mutex region; this can lead to deadlock.
2007-11-26 15:44:05 +01:00
unknown
c81eb57b92 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B32036-5.0-opt
2007-11-26 15:57:47 +02:00
unknown
af34d3577e Bug#32357 - ndb_backup_print test fails sometimes in pushbuild
Disabled test case
2007-11-26 14:49:41 +01:00
unknown
0e758d9d7e BUG#31277 - myisamchk --unpack corrupts a table
Another try to fix a compiler warning on win64.
2007-11-26 14:48:49 +01:00
unknown
7257ed0e10 Bug #31900 Wrong confusing comment in mysql_com.h header file.
comment fixed as we truly need const_item to be 1 to mark
constant function


include/mysql_com.h:
  Bug #31900 Wrong confusing comment in mysql_com.h header file.
  
  comment fixed
2007-11-26 16:25:18 +04:00
unknown
cf84ca46ba Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B32036-5.0-opt


mysql-test/r/subselect.result:
  merge of fix for bug 32036 to 5.0-opt
mysql-test/t/subselect.test:
  merge of fix for bug 32036 to 5.0-opt
2007-11-26 14:02:02 +02:00
unknown
f3f9855d13 Bug #32036: EXISTS within a WHERE clause with a UNION
crashes MySQL 5.122
There was a difference in how UNIONs are handled
on top level and when in sub-query.
Because the rules for sub-queries were syntactically
allowing cases that are not currently supported by
the server we had crashes (this bug) or wrong results
(bug 32051).
Fixed by making the syntax rules for UNIONs match the 
ones at top level.

These rules however do not support nesting UNIONs, e.g.
(SELECT a FROM t1 UNION ALL SELECT b FROM t2) 
 UNION
(SELECT c FROM t3 UNION ALL SELECT d FROM t4)
Supports for statements with nested UNIONs will be
added in a future version.


mysql-test/r/subselect.result:
  Bug #32036: test case
mysql-test/t/subselect.test:
  Bug #32036: test case
sql/sql_yacc.yy:
  Bug #32036: Make the syntax rules for UNIONs in subqueries the same
  as for top level UNIONs.
2007-11-26 13:36:24 +02:00
unknown
8fd43262dc Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B32268-5.0-opt


sql/sql_select.cc:
  Auto merged
2007-11-26 13:35:38 +02:00
unknown
503755256d Fix for bug #32676: insert delayed crash with wrong column and function specified
Problem: using wrong local lock type value in the mysql_insert() results in a crash. 

Fix: use a proper value.


mysql-test/r/delayed.result:
  Fix for bug #32676: insert delayed crash with wrong column and function specified
    - test result.
mysql-test/t/delayed.test:
  Fix for bug #32676: insert delayed crash with wrong column and function specified
    - test case.
sql/sql_insert.cc:
  Fix for bug #32676: insert delayed crash with wrong column and function specified
    - the local lock_type var assigment displaced just after the line 
      where the table_list->lock_type is filnally defined in the mysql_insert() 
      to avoid using its old value.
2007-11-26 13:29:26 +04: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 #31588)
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
f53f88680c Merge stella.local:/home2/mydev/mysql-5.0-ateam
into  stella.local:/home2/mydev/mysql-5.0-axmrg
2007-11-25 14:14:52 +01:00
unknown
d5ab58861b Merge mysql.com:/home/hf/work/30284/my41-30284
into  mysql.com:/home/hf/work/30284/my50-30284


mysql-test/r/gis.result:
  merging
mysql-test/t/gis.test:
  merging
2007-11-24 15:05:24 +04:00
unknown
c58de28410 Merge bk@192.168.21.1:mysql-5.0-opt
into  mysql.com:/home/hf/work/30284/my50-30284


mysql-test/r/gis.result:
  merging
mysql-test/t/gis.test:
  merging
2007-11-24 15:02:29 +04:00
unknown
6facf554bd Merge bk@192.168.21.1:mysql-4.1-opt
into  mysql.com:/home/hf/work/30284/my41-30284


mysql-test/r/gis.result:
  merging
mysql-test/t/gis.test:
  merging
2007-11-24 14:59:48 +04:00
unknown
e4dc9a8e6e merging fix
mysql-test/r/gis.result:
  result fixed
mysql-test/t/gis.test:
  test fixed
2007-11-24 14:57:09 +04:00
unknown
d04f74b775 Merge mysql.com:/home/hf/work/30284/my41-30284
into  mysql.com:/home/hf/work/30284/my50-30284


myisam/mi_check.c:
  Auto merged
mysql-test/t/gis.test:
  Auto merged
mysql-test/r/gis.result:
  SCCS merged
2007-11-24 14:47:32 +04:00
unknown
10c1aa796a Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B32400-5.0-opt


tests/mysql_client_test.c:
  Auto merged
mysql-test/r/subselect.result:
  SCCS merged
mysql-test/t/subselect.test:
  SCCS merged
2007-11-23 15:30:16 +02:00
unknown
3f91e01f1d Merge mysql.com:/home/ram/work/mysql-5.0-engines
into  mysql.com:/home/ram/work/b32560/b32560.5.0
2007-11-23 17:24:54 +04:00
unknown
1f57bfb8d1 Fix for bug #32560: crash with interval function and count(*)
Problem: INTERVAL function implementation doesn't handle NULL range values.

Fix: skip NULL ranges looking for a proper one.


mysql-test/r/func_set.result:
  Fix for bug #32560: crash with interval function and count(*)
    - test result.
mysql-test/t/func_set.test:
  Fix for bug #32560: crash with interval function and count(*)
    - test case.
sql/item_cmpfunc.cc:
  Fix for bug #32560: crash with interval function and count(*)
    - skip NULL ranges calculating INTERVAL(...).
2007-11-23 16:30:06 +04:00
unknown
1be2f0fa2b Merge stella.local:/home2/mydev/mysql-5.0-ateam
into  stella.local:/home2/mydev/mysql-5.0-axmrg
2007-11-23 13:09:01 +01:00
unknown
7ae4cfaf37 Bug#32654: rpl_view.test fails randomly
Disabled test case
2007-11-23 13:03:38 +01:00
unknown
a5761be26a Bug#32653 - rpl_log.test fails randomly
Disabled test case
2007-11-23 12:54:05 +01:00
unknown
4d9f4895c6 BUG#31277 - myisamchk --unpack corrupts a table
Fixed a compiler warning on win64. Backport from 5.1.
2007-11-23 12:52:29 +01:00
unknown
e5a17f5c30 Bug#32651 - grant_cache.test fails
Disabled test case
2007-11-23 12:06:55 +01:00
unknown
8c1b544b6e Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/kent/bk/docs-cleanup/mysql-5.0-build
2007-11-23 10:22:19 +01:00
unknown
50f5ba451f Merge mysql.com:/home/ram/work/mysql-5.0-engines
into  mysql.com:/home/ram/work/b32558/b32558.5.0
2007-11-23 13:04:13 +04:00
unknown
a197c4e95d opt_range.cc:
Fix for the bug#31048 for 64bit platforms.
subselect.test, subselect.result:
  Corrected text case for the bug#31048.


mysql-test/t/subselect.test:
  Corrected text case for the bug#31048.
mysql-test/r/subselect.result:
  Corrected text case for the bug#31048.
sql/opt_range.cc:
  Fix for the bug#31048 for 64bit platforms.
2007-11-23 00:16:17 +03:00
unknown
fff22e0903 Merge mkindahl@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl
into  capulet.kindahl.net:/home/bk/mysql-5.0-rpl
2007-11-22 21:59:36 +01:00
unknown
0270449126 Merge gleb.loc:/work/bk/PA/5.0-opt-32556
into  gleb.loc:/work/bk/5.0-opt
2007-11-22 22:03:36 +04:00
unknown
c6f0c29acb Makefile.am, configure.in:
Include "manual.chm" in source TAR if it exists


configure.in:
  Include "manual.chm" in source TAR if it exists
Docs/Makefile.am:
  Include "manual.chm" in source TAR if it exists
2007-11-22 17:48:40 +01:00
unknown
3d550b757d Merge polly.(none):/home/kaa/src/opt/bug32221/my50-bug31445
into  polly.(none):/home/kaa/src/opt/mysql-5.0-opt
2007-11-22 17:24:08 +03:00
unknown
ae5ec36bcb Fixed build failures on Windows introduced by the patch for bug #32221.
We do not have any executables in libmysql/release/ anymore.
2007-11-22 17:13:12 +03:00
unknown
4a4f68937f Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb
into  mysql.com:/home/marty/MySQL/mysql-5.0-ndb
2007-11-22 14:49:40 +01:00
unknown
a8b4bc8165 Merge endora.local:/Users/davi/mysql/bugs/32528-5.0
into  endora.local:/Users/davi/mysql/mysql-5.0-runtime
2007-11-22 10:20:12 -02:00
unknown
719e64e4a5 Bug#32528 Global read lock with a low priority write lock causes a server crash
FLUSH TABLES WITH READ LOCK fails to properly detect write locked
tables when running under low priority updates.

The problem is that when trying to aspire a global read lock, the
reload_acl_and_cache() function fails to properly check if the thread
has a low priority write lock, which later my cause a server crash or
deadlock.

The solution is to simple check if the thread has any type of the
possible exclusive write locks.


mysql-test/r/flush.result:
  Add test case result for Bug#32528
mysql-test/t/flush.test:
  Add test case for Bug#32528
sql/sql_parse.cc:
  Although it should not matter under LOCK TABLES, use TL_WRITE_ALLOW_WRITE
  to emphasize that it should fail in case of any write lock.
2007-11-22 10:18:19 -02:00
unknown
10e1f245c4 Merge polly.(none):/home/kaa/src/opt/bug32221/my50-bug31445
into  polly.(none):/home/kaa/src/opt/mysql-5.0-opt


tests/mysql_client_test.c:
  Auto merged
2007-11-22 14:53:41 +03:00
unknown
a11256f49a Merge lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.0-base
into  lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.0-rt-merge


sql/mysqld.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2007-11-21 18:35:02 -07:00
unknown
d295bfaa76 Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0
into  dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl-merge


client/mysql.cc:
  Auto merged
mysql-test/r/ctype_ucs.result:
  Auto merged
mysql-test/t/ctype_uca.test:
  Auto merged
mysql-test/t/ctype_ucs.test:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
2007-11-21 21:11:57 +01:00
unknown
93e0508eb0 Merge stella.local:/home2/mydev/mysql-4.1-axmrg
into  stella.local:/home2/mydev/mysql-5.0-axmrg
2007-11-21 20:31:47 +01:00
unknown
e2df3c2983 Merge stella.local:/home2/mydev/mysql-5.0-amain
into  stella.local:/home2/mydev/mysql-5.0-axmrg
2007-11-21 20:30:07 +01:00