Commit graph

21135 commits

Author SHA1 Message Date
unknown
562763f160 Merge bk-internal.mysql.com:/home/bk/mysql-4.1-engines
into  chilla.local:/home/mydev/mysql-4.1-bug14400


mysql-test/r/myisam.result:
  Auto merged
mysql-test/t/myisam.test:
  Auto merged
myisam/mi_rkey.c:
  Bug#14400 - Query joins wrong rows from table which is subject of
              "concurrent insert"
  Manual merge
2006-09-12 11:40:24 +02:00
unknown
a5a48382d9 BUG#16282
Build gcc.o as a small library, instead of passing .cpp sources to the
linker command (causes problems with parallel make on Solaris).

This fix is for 4.1. In 5.0 and up a different fix is used.


ndb/config/common.mk.am:
  Build gcc.o as a small library, instead of passing .cpp sources to the
  linker command (causes problems with parallel make on Solaris).
ndb/config/type_ndbapitools.mk.am:
  Build gcc.o as a small library, instead of passing .cpp sources to the
  linker command (causes problems with parallel make on Solaris).
ndb/src/common/portlib/Makefile.am:
  Build gcc.o as a small library, instead of passing .cpp sources to the
  linker command (causes problems with parallel make on Solaris).
ndb/src/kernel/Makefile.am:
  Build gcc.o as a small library, instead of passing .cpp sources to the
  linker command (causes problems with parallel make on Solaris).
2006-09-11 16:49:44 +02:00
unknown
2780bad053 Merge mysql.com:/users/lthalmann/bkroot/mysql-4.1-rpl
into  mysql.com:/users/lthalmann/bk/MERGE/mysql-4.1-merge
2006-09-11 11:25:55 +02:00
unknown
f64483cb90 Bug #20924: CAST(expr as UNSIGNED) returns SIGNED value when used in various functions
- Honor unsigned_flag in the corresponding functions
- Use compare_int_signed_unsigned()/compare_int_unsigned_signed() instead of explicit comparison in GREATEST() and LEAST()


mysql-test/r/case.result:
  Added test case for bug #20924
mysql-test/r/func_if.result:
  Added test case for bug #20924
mysql-test/r/func_test.result:
  Added test case for bug #20924
mysql-test/r/user_var.result:
  Added test case for bug #20924
mysql-test/t/case.test:
  Added test case for bug #20924
mysql-test/t/func_if.test:
  Added test case for bug #20924
mysql-test/t/func_test.test:
  Added test case for bug #20924
mysql-test/t/user_var.test:
  Added test case for bug #20924
sql/item_cmpfunc.cc:
  Bug #20924: CAST(expr as UNSIGNED) returns SIGNED value when used in various functions
  
  - Moved some code out of Arg_comparator to external functions to be reused in Item_func_min_max
  - Fixed IFNULL(), IF(), CASE() and COALESCE()
sql/item_cmpfunc.h:
  Bug #20924: CAST(expr as UNSIGNED) returns SIGNED value when used in various functions
  
  - Moved some code out of Arg_comparator to external functions to be reused in Item_func_min_max
sql/item_func.cc:
  Bug #20924: CAST(expr as UNSIGNED) returns SIGNED value when used in various functions
  
  Fixed LEAST(), GREATEST() and "SET @a=..." parts
sql/item_func.h:
  Bug #20924: CAST(expr as UNSIGNED) returns SIGNED value when used in various functions
  
  Fixed "SET @a=..." part
sql/sql_class.h:
  Bug #20924: CAST(expr as UNSIGNED) returns SIGNED value when used in various functions
  
  Fixed "SET @a=..." part
2006-09-08 14:08:29 +04:00
unknown
54caf667ca Bug#21555: incorrect behavior with INSERT ... ON DUPL KEY UPDATE and VALUES
VALUES() was considered a constant. This caused replacing 
 (or pre-calculating) it using uninitialized values before the actual
 execution takes place.
 Mark it as a non-constant (still not dependent of tables) to prevent
 the pre-calculation.


mysql-test/r/insert_update.result:
  Bug#21555: incorrect behavior with INSERT ... ON DUPL KEY UPDATE and VALUES
   - test case.
   - EXPLAIN output changed due to VALUES() not being considered a constant 
     anymore
mysql-test/t/insert_update.test:
  Bug#21555: incorrect behavior with INSERT ... ON DUPL KEY UPDATE and VALUES
   - test case.
sql/item.h:
  Bug#21555: incorrect behavior with INSERT ... ON DUPL KEY UPDATE and VALUES
   - mark Item_insert_value as non-constant to prevent early calculation.
2006-09-08 10:24:14 +03:00
unknown
aa840645e6 query_cache.result, func_time.test, type_date.result, func_time.result:
Corrected test case after removal of fix for bug#16377         
type_date.test:
  Corrected test case after removal of fix for bug#16377
item_cmpfunc.cc:
  Removed changes to the agg_cmp_type() made in the for bug#16377


mysql-test/t/type_date.test:
  Corrected test case after removal of fix for bug#16377
mysql-test/t/func_time.test:
  Corrected test case after removal of fix for bug#16377
mysql-test/r/type_date.result:
  Corrected test case after removal of fix for bug#16377
mysql-test/r/query_cache.result:
  Corrected test case after removal of fix for bug#16377
mysql-test/r/func_time.result:
  Corrected test case after removal of fix for bug#16377
sql/item_cmpfunc.cc:
  Removed changes to the agg_cmp_type() made in the for bug#16377
2006-09-08 00:59:34 +04:00
unknown
203d099962 Merge chilla.local:/home/mydev/mysql-4.0-bug14400
into  chilla.local:/home/mydev/mysql-4.1-bug14400


myisam/mi_rkey.c:
  Bug#14400 - Query joins wrong rows from table which is subject of
              "concurrent insert"
  Manual merge from 4.0
mysql-test/r/myisam.result:
  Bug#14400 - Query joins wrong rows from table which is subject of
              "concurrent insert"
  Manual merge from 4.0
mysql-test/t/myisam.test:
  Bug#14400 - Query joins wrong rows from table which is subject of
              "concurrent insert"
  Manual merge from 4.0
2006-09-07 16:46:20 +02:00
unknown
71314617ae Bug#14400 - Query joins wrong rows from table which is subject of
"concurrent insert"
Additional fix for full keys and test case.


myisam/mi_rkey.c:
  Bug#14400 - Query joins wrong rows from table which is subject of
              "concurrent insert"
  Additional fix for full keys.
mysql-test/r/myisam.result:
  Bug#14400 - Query joins wrong rows from table which is subject of
              "concurrent insert"
  Additional results.
mysql-test/t/myisam.test:
  Bug#14400 - Query joins wrong rows from table which is subject of
              "concurrent insert"
  Additional test case.
2006-09-07 15:39:31 +02:00
unknown
cfff435362 Merge maint1.mysql.com:/data/localhome/tsmith/bk/bfx/my41-bfx
into  maint1.mysql.com:/data/localhome/tsmith/bk/41


sql/mysqld.cc:
  Auto merged
2006-09-07 01:14:54 +02:00
unknown
7a77b3d80f Bug #21054: myisam_stats_method ignored in my.cnf and cmdline
Fix OPT_MYISAM_STATS_METHOD case, where the NULLS_EQUAL and NULLS_NOT_EQUAL methods were mixed up


sql/mysqld.cc:
  Fix OPT_MYISAM_STATS_METHOD case, bug #21054
2006-09-07 00:11:43 +02:00
unknown
ada41e2498 Bug #21250: esolve stack traces on AMD64 (backport to mysql-4.1)
sql/stacktrace.c:
  stacktrace dumps for amd64 (backport fix for bug 21250 to mysql-4.1)
sql/stacktrace.h:
  stacktrace dumps for amd64 (backport fix for bug 21250 to mysql-4.1)
2006-09-07 00:01:00 +02:00
unknown
bc09de6f6e Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-4.0-maint
2006-09-06 14:50:53 -04:00
unknown
c463d2cd7b Merge bk-internal.mysql.com:/home/bk/mysql-4.1-maint
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-4.1-maint
2006-09-06 14:44:59 -04:00
unknown
032de81438 bug #12991 (compile error --without-geometry)
myisam/mi_check.c:
  proper #ifdef-s added
2006-09-06 19:56:19 +05:00
unknown
b527a75e01 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into  rakia.(none):/home/kgeorge/mysql/autopush/B16792-4.1-opt


mysql-test/r/subselect.result:
  Auto merged
sql/sql_select.cc:
  Auto merged
2006-09-05 19:22:55 +03:00
unknown
ec2512cf18 Merge perch.ndb.mysql.com:/home/jonas/src/mysql-4.1
into  perch.ndb.mysql.com:/home/jonas/src/mysql-4.1-ndb
2006-09-05 15:05:52 +02:00
unknown
ff1d115e3a Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into  rakia.(none):/home/kgeorge/mysql/autopush/B21392-4.1-opt


sql/sql_parse.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2006-09-05 13:12:30 +03:00
unknown
1431966d02 Bug #21392: multi-table delete with alias table name fails with
1003: Incorrect table name
in multi-table DELETE the set of tables to delete from actually 
references then tables in the other list, e.g:
DELETE alias_of_t1 FROM t1 alias_of_t1 WHERE ....
is a valid statement.
So we must turn off table name syntactical validity check for alias_of_t1 
because it's not a table name (even if it looks like one).
In order to do that we add a special flag (TL_OPTION_ALIAS) to 
disable the name checking for the aliases in multi-table DELETE.


mysql-test/r/delete.result:
  Bug #21392: multi-table delete with alias table name fails with
              1003: Incorrect table name
   - test case
mysql-test/t/delete.test:
  Bug #21392: multi-table delete with alias table name fails with
              1003: Incorrect table name
   - test case
sql/mysql_priv.h:
  Bug #21392: multi-table delete with alias table name fails with
              1003: Incorrect table name
   - add a special flag to disable the name checking for the aliases
     in multi-table DELETE
sql/sql_parse.cc:
  Bug #21392: multi-table delete with alias table name fails with
              1003: Incorrect table name
   - add a special flag to disable the name checking for the aliases
     in multi-table DELETE
sql/sql_yacc.yy:
  Bug #21392: multi-table delete with alias table name fails with
              1003: Incorrect table name
   - add a special flag to disable the name checking for the aliases
     in multi-table DELETE
2006-09-04 18:40:30 +03:00
unknown
e44024d473 bug #12620 (UTF-8 indexing causes ER_NO_KEYFILE error)
The problem is that on some Mac OS X-es the file writing/reading
call with zero bytes to read/write returns error.
So here i try to eliminate that kinds of calls.


myisam/mi_check.c:
  zero length copying avoided
mysys/my_chsize.c:
  no file operations if it's not necessary
2006-09-04 19:47:24 +05:00
unknown
1039540807 BUG#21787: COUNT(*) + ORDER BY + LIMIT returns wrong result
Fix an error in the bug fix.


sql/sql_select.cc:
  Use a local variable to iterate over group items, since
  'group' is used later in a condition.
2006-09-04 16:53:03 +03:00
unknown
19dc0e4173 Merge perch.ndb.mysql.com:/home/jonas/src/41-work
into  perch.ndb.mysql.com:/home/jonas/src/mysql-4.1-ndb


sql/log.cc:
  Auto merged
2006-09-04 14:45:13 +02:00
unknown
d2d605e4ea bug#21965 - replication
fix deadlock if master switches log file in parallell with "show master logs"
  


sql/log.cc:
  add raw_get_current_log which dont take log mutex
sql/sql_class.h:
  add raw_get_current_log which dont take log mutex
sql/sql_repl.cc:
  Fix lock order i.e first log_lock then index_lock
2006-09-04 13:43:34 +02:00
unknown
43eeeac033 Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-4.1-maint
into  salvation.intern.azundris.com:/home/tnurnberg/21913/my41-21913


mysql-test/r/func_time.result:
  manual merge
mysql-test/t/func_time.test:
  manual merge
2006-09-04 09:28:39 +02:00
unknown
52f3977eef Bug#21913: DATE_FORMAT() Crashes mysql server if I use it through mysql-connector-j driver.
Variable character_set_results can legally be NULL (for "no conversion.")
This could result in a NULL deref that crashed the server.  Fixed.

(Although ran some additional precursory tests to see whether I could break
anything else, but no breakage so far.)


mysql-test/r/func_time.result:
  Bug#21913: DATE_FORMAT() Crashes mysql server if I use it through mysql-connector-j driver.
  
  Prove DATE_FORMAT() no longer crashes the server when character_set_results is
  NULL (which is a legal value and means, "no conversion").
mysql-test/t/func_time.test:
  Bug#21913: DATE_FORMAT() Crashes mysql server if I use it through mysql-connector-j driver.
  
  Prove DATE_FORMAT() no longer crashes the server when character_set_results is
  NULL (which is a legal value and means, "no conversion").
sql/sql_string.cc:
  Bug#21913: DATE_FORMAT() Crashes mysql server if I use it through mysql-connector-j driver.
  
  Avoid NULL deref in my_charset_same() -- if !to_cs, we won't need to compare
  because it is magic for, "no conversion."
2006-09-04 09:13:40 +02:00
unknown
b133be170a Merge lamia.home:/home/timka/mysql/src/4.1-virgin
into  lamia.home:/home/timka/mysql/src/4.1-bug-21787


sql/sql_select.cc:
  Auto merged
2006-09-01 17:21:49 +03:00
unknown
b017caefbd Fix for BUG#21787: COUNT(*) + ORDER BY + LIMIT returns wrong result
The problem was due to a prior fix for BUG 9676, which limited
the rows stored in a temporary table to the LIMIT clause. This
optimization is not applicable to non-group queries with aggregate
functions. The fix disables the optimization in this case.


mysql-test/r/limit.result:
  Test case for BUG#21787
mysql-test/t/limit.test:
  Test case for BUG#21787
sql/sql_select.cc:
  If there is an aggregate function in a non-group query,
  materialize all rows in the temporary table no matter if
  there is a LIMIT clause. This is necessary, since the
  aggregate functions must be computed over all result rows,
  not just the first LIMIT rows.
2006-09-01 15:07:04 +03:00
unknown
49e2267ebd Backport from 5.0
- Dont test "encrypt" in ctype_ucs


mysql-test/r/ctype_ucs.result:
  Don't test "encrypt" function in ctype_ucs.test
mysql-test/t/ctype_ucs.test:
  Don't test "encrypt" function in ctype_ucs.test
2006-09-01 11:21:12 +02:00
unknown
beb24fbdeb Merge perch.ndb.mysql.com:/home/jonas/src/mysql-4.1
into  perch.ndb.mysql.com:/home/jonas/src/mysql-4.1-ndb
2006-09-01 10:32:12 +02:00
unknown
6453d413da Merge bk-internal:/home/bk/mysql-4.1-maint
into  shellback.(none):/home/msvensson/mysql/mysql-4.1-maint
2006-09-01 10:26:01 +02:00
unknown
1bb1679c19 Add target to make "mtr", shortcut for running test suite
BitKeeper/etc/ignore:
  Added mysql-test/mtr to the ignore list
2006-09-01 10:21:08 +02:00
unknown
f6aec93d79 Merge bk-internal:/home/bk/mysql-4.1-maint
into  rama.(none):/home/jimw/my/mysql-4.1-21288
2006-08-31 21:23:25 -07:00
unknown
f60c6b1ea3 Merge zippy.cornsilk.net:/home/cmiller/work/mysql/bug04053/my40-bug04053
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-4.0-maint
2006-08-31 12:46:15 -04:00
unknown
3cb03194fd Merge zippy.cornsilk.net:/home/cmiller/work/mysql/bug04053/my41-bug04053
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-4.1-maint
2006-08-31 12:45:49 -04:00
unknown
757401a889 Merge zippy.cornsilk.net:/home/cmiller/work/mysql/no-strange-literals/my41-no-strange-literals
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-4.1-maint


tests/mysql_client_test.c:
  Auto merged
2006-08-31 11:30:14 -04:00
unknown
22da915b62 Bitkeeper's Tk interface uses UTF8 by default, so mixing charsets in a
single file is a bad practice.  


tests/mysql_client_test.c:
  Replace literal characters which don't make sense in UTF8 with ubiquitously-
  understood numbers.
2006-08-31 11:14:04 -04:00
unknown
9c09d53312 BUG#18822 LOAD DATA FROM MASTER corrupts data
there is a bunch of dups. It has been decided to declare this feature as
deprecated.
  


sql/sql_yacc.yy:
  deprecation macro
2006-08-31 02:00:40 +03:00
unknown
0f342b6ada Merge maint2.mysql.com:/data/localhome/tsmith/bk/g41
into  maint2.mysql.com:/data/localhome/tsmith/bk/41
2006-08-31 00:23:15 +02:00
unknown
f468d0004f Merge maint2.mysql.com:/data/localhome/tsmith/bk/bfx/41
into  maint2.mysql.com:/data/localhome/tsmith/bk/41


BUILD/SETUP.sh:
  Auto merged
2006-08-30 23:49:21 +02:00
unknown
8fb0f8a249 Merge zippy.cornsilk.net:/home/cmiller/work/mysql/bug04053/my40-bug04053
into  zippy.cornsilk.net:/home/cmiller/work/mysql/bug04053/my41-bug04053


mysys/my_read.c:
  Auto merged
2006-08-30 17:33:28 -04:00
unknown
626abc5205 Bug#4053: too many of "error 1236: 'binlog truncated in the middle of \
event' from master"

Since there is no repeatable test case, and this is obviously wrong, this is
the most conservative change that might possibly work.  

The syscall  read()  wasn't checked for a negative return value for an
interrupted read.  The kernel  sys_read()  returns -EINTR, and the "library" 
layer maps that to return value of -1 and sets  errno  to EINTR.  It's 
impossible (on Linux) for  read()  to set errno EINTR without the return 
value being -1 .

So, if we're checking for EINTR behavior, we should not require that the
return value be zero.


mysys/my_read.c:
  The read() syscall should check for negative one, since that (usually) signals
  errors (like being interrupted) and zero (usually) signals end-of-file .
2006-08-30 17:28:34 -04:00
unknown
077b649aef Remove ^Z from ctype_ucs.test data, to avoid problems testing on Windows 2006-08-30 22:39:23 +02:00
unknown
71583c893a portability fix in BUILD/* for solaris 2006-08-30 21:24:09 +02:00
unknown
4321eb12fa Merge maint2.mysql.com:/data/localhome/tsmith/bk/bfx/40
into  maint2.mysql.com:/data/localhome/tsmith/bk/bfx/41


BUILD/SETUP.sh:
  SCCS merged
2006-08-30 20:04:33 +02:00
unknown
ddb9f8668f Bug#20393 User name truncation in mysql client
Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte


include/mysql_com.h:
  Bug#20393 User name truncation in mysql client
  Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte
  added new constants NAME_BYTE_LEN, USERNAME_BYTE_LENGTH, SYSTEM_CHARSET_MBMAXLEN
mysql-test/r/ctype_utf8.result:
  Bug#20393 User name truncation in mysql client
  Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte
  test case
mysql-test/t/ctype_utf8.test:
  Bug#20393 User name truncation in mysql client
  Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte
  test case
sql-common/client.c:
  Bug#20393 User name truncation in mysql client
  Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte
  increased buffers for user name & db
sql/sql_acl.cc:
  Bug#20393 User name truncation in mysql client
  Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte
  check that user name is not longer than USERNAME_LENGTH symbols
sql/sql_parse.cc:
  Bug#20393 User name truncation in mysql client
  Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte
  increased buffers for user name & db
sql/table.cc:
  Bug#20393 User name truncation in mysql client
  Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte
  check that db name is not longer than NAME_LEN symbols
2006-08-30 15:56:17 +05:00
unknown
a32f6b8941 Merge chilla.local:/home/mydev/mysql-4.0-bug14400
into  chilla.local:/home/mydev/mysql-4.1-bug14400


myisam/mi_rkey.c:
  Bug#14400 - Query joins wrong rows from table which is
              subject of "concurrent insert"
  Manual merge from 4.0.
mysql-test/r/myisam.result:
  Bug#14400 - Query joins wrong rows from table which is
              subject of "concurrent insert"
  Manual merge from 4.0.
mysql-test/t/myisam.test:
  Bug#14400 - Query joins wrong rows from table which is
              subject of "concurrent insert"
  Manual merge from 4.0.
2006-08-29 21:08:40 +02:00
unknown
7d600f7131 Bug#14400 - Query joins wrong rows from table which is
subject of "concurrent insert"
Better fix by Monty: "The previous bug fix didn't work
when using partial keys."


mysql-test/r/myisam.result:
  Bug#14400 - Query joins wrong rows from table which is
              subject of "concurrent insert"
  Added test result
mysql-test/t/myisam.test:
  Bug#14400 - Query joins wrong rows from table which is
              subject of "concurrent insert"
  Added test case
2006-08-29 20:45:04 +02:00
unknown
eaeb3d4f2c Merge bk-internal.mysql.com:/home/bk/mysql-4.1-runtime
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-4.1-bug21096


sql/sql_table.cc:
  Auto merged
2006-08-29 17:00:46 +04:00
unknown
4ed1ce6f58 BUG#21096: locking issue ; temporary table conflicts.
The problem was that during DROP TEMPORARY TABLE we tried to acquire
the name lock, though temporary tables belongs to one connection, and
no race is possible.

The solution is to not use table name locking while executing
DROP TEMPORARY TABLE.


mysql-test/r/temp_table.result:
  Add result for bug#21096: locking issue ; temporary table conflicts.
mysql-test/t/temp_table.test:
  Add test case for bug#21096: locking issue ; temporary table conflicts.
sql/sql_table.cc:
  Do not use table name locking while executing DROP TEMPORARY TABLE.
2006-08-29 16:59:20 +04:00
unknown
c3508e602f Fix for bug #21142: Malformed insert causes a segmentation fault.
- possible stack overflow fixed.


client/mysql.cc:
  Fix for bug #21142: Malformed insert causes a segmentation fault.
    - as 'line' may be longer than 'buff' we must take into account its length.
2006-08-29 14:38:02 +05:00
unknown
f1c83e7266 Merge bk-internal.mysql.com:/home/bk/mysql-4.1-maint
into  maint2.mysql.com:/data/localhome/tsmith/bk/41
2006-08-29 03:58:38 +02:00