Commit graph

34458 commits

Author SHA1 Message Date
unknown
b04652e289 Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  olga.mysql.com:/home/igor/mysql-5.0-opt
2007-01-09 17:31:14 -08:00
unknown
4374848c82 support-files/MySQL-shared-compat.spec.sh : Dummy, irrelevant change - just trigger a new build.
support-files/MySQL-shared-compat.spec.sh:
  Dummy, irrelevant change - just trigger a new build.
2007-01-10 00:36:41 +01:00
unknown
f094fe551a Fixed bug#16861: User defined variable can have a wrong value if a tmp table was
used.

The Item::save_in_field() function is called from fill_record() to fill the 
new row with data while execution of the CREATE TABLE ... SELECT statement.
Item::save_in_field() calls val_xxx() methods in order to get values.
val_xxx() methods do not take into account the result field. Due to this
Item_func_set_user_var::val_xxx() methods returns values from the original
table, not from the temporary one.

The save_in_field() member function is added to the Item_func_set_user_var
class. It detects whether the result field should be used and properly updates
the value of the user variable.


sql/item_func.cc:
  Bug#16861: User defined variable can have a wrong value if a tmp table was used.
  Added the save_in_field() member function to the Item_func_set_user_var class.
sql/item_func.h:
  Bug#16861: User defined variable can have a wrong value if a tmp table was used.
  Added the save_in_field() member function to the Item_func_set_user_var class.
mysql-test/r/user_var.result:
  Extended the test case for bug#18681: User defined variable can have a wrong value if
  a tmp table was used.
mysql-test/t/user_var.test:
  Extended the test case for bug#18681: User defined variable can have a wrong value if
  a tmp table was used.
2007-01-09 23:24:56 +03:00
unknown
15bb22c0a8 Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  olga.mysql.com:/home/igor/mysql-5.0-opt


sql/item_cmpfunc.cc:
  Auto merged
2007-01-09 12:07:13 -08:00
unknown
78dff026af Bug#14171: Wrong internal default value for a BINARY field.
A BINARY field is represented by the Field_string class. The space character
is used as the filler for unused characters in such a field. But a BINARY field 
should use \x00 instead.

Field_string:reset() now detects whether the current field is a BINARY one
and if so uses the \x00 character as a default value filler.


sql/field.h:
  Bug#14171: Wrong internal default value for a BINARY field.
  Field_string:reset() now detects whether the current field is a BINARY one
  and if so uses the \x00 character as a default value filler.
mysql-test/r/type_binary.result:
  Added a test case for the bug#14171: Wrong internal default value for a BINARY field.
mysql-test/t/type_binary.test:
  Added a test case for the bug#14171: Wrong internal default value for a BINARY field.
2007-01-09 22:35:30 +03:00
unknown
f831f46ab2 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/home/evgen/bk-trees/mysql-5.0-opt
2007-01-09 22:14:11 +03:00
unknown
eca431f3f3 Merge olga.mysql.com:/home/igor/mysql-5.0-opt
into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug25027


sql/item_cmpfunc.cc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/sql_lex.cc:
  Auto merged
2007-01-09 10:26:28 -08:00
unknown
8a7c1142db Version 4.0 is in "extended maintenance" by now, and so
no future build of it will include Berkeley DB:
Remove it from the Windows VC++ project files.
2007-01-09 17:21:54 +01:00
unknown
ada9d3f2c8 Merge kpdesk.mysql.com:/home/thek/dev/test23010/my40-bug23010
into  kpdesk.mysql.com:/home/thek/dev/mysql-4.0
2007-01-09 14:37:52 +01:00
unknown
9e30f5cb30 Merge kpdesk.mysql.com:/home/thek/dev/bug23010/my41-bug23010
into  kpdesk.mysql.com:/home/thek/dev/mysql-4.1-build
2007-01-09 14:36:28 +01:00
unknown
29dcdbcbdf Merge kpdesk.mysql.com:/home/thek/dev/bug23010/my50-bug23010
into  kpdesk.mysql.com:/home/thek/dev/mysql-5.0-build
2007-01-09 14:35:16 +01:00
unknown
48451b86bd Merge bk@192.168.21.1:mysql-5.0-opt
into  mysql.com:/d2/hf/opt/my50-opt
2007-01-09 15:37:31 +04:00
unknown
72268a3b88 Merge kpdesk.mysql.com:/home/thek/dev/bug23010/my41-bug23010
into  kpdesk.mysql.com:/home/thek/dev/bug23010/my50-bug23010


mysys/mf_iocache.c:
  Auto merged
mysys/my_seek.c:
  Auto merged
2007-01-09 12:33:02 +01:00
unknown
7b95184ae3 Merge kpdesk.mysql.com:/home/thek/dev/test23010/my40-bug23010
into  kpdesk.mysql.com:/home/thek/dev/bug23010/my41-fix23010


mysys/mf_iocache.c:
  Auto merged
mysys/my_seek.c:
  Auto merged
2007-01-09 12:30:57 +01:00
unknown
d7e9fd07ef Cset exclude: thek@kpdesk.mysql.com|ChangeSet|20061106104152|07628
mysys/mf_iocache.c:
  Exclude
mysys/my_seek.c:
  Exclude
2007-01-09 12:28:46 +01:00
unknown
4b8d44ef69 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/home/evgen/bk-trees/mysql-5.0-opt


sql/filesort.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_subselect.cc:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql-common/client.c:
  Auto merged
sql-common/my_time.c:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/table.cc:
  Auto merged
strings/decimal.c:
  Auto merged
2007-01-09 13:12:35 +03:00
unknown
21311e992d Merge moonlight.home:/home/tomash/src/mysql_ab/mysql-5.0
into  moonlight.home:/home/tomash/src/mysql_ab/mysql-5.0-bug23443
2007-01-09 12:47:10 +03:00
unknown
e5c1d4784d Merge moonlight.home:/home/tomash/src/mysql_ab/mysql-4.1-runtime
into  moonlight.home:/home/tomash/src/mysql_ab/mysql-4.1-bug23443
2007-01-09 12:47:03 +03:00
unknown
2dab449fc7 Merge moonlight.home:/home/tomash/src/mysql_ab/mysql-4.0
into  moonlight.home:/home/tomash/src/mysql_ab/mysql-4.0-bug23443
2007-01-09 12:46:35 +03:00
unknown
19b95ca206 Merge moonlight.home:/home/tomash/src/mysql_ab/mysql-4.1-bug23443
into  moonlight.home:/home/tomash/src/mysql_ab/mysql-5.0-bug23443


heap/hp_write.c:
  Auto merged
sql/item_func.cc:
  Auto merged
2007-01-09 12:40:34 +03:00
unknown
beac4a6f8a Merge moonlight.home:/home/tomash/src/mysql_ab/mysql-4.0-bug23443
into  moonlight.home:/home/tomash/src/mysql_ab/mysql-4.1-bug23443


heap/hp_block.c:
  Auto merged
sql/item_func.cc:
  Auto merged
heap/hp_write.c:
  Manual merge.
2007-01-09 12:39:05 +03:00
unknown
4fe1561f98 BUG#23443: user-defined variables can consume too much memory in the
server

The problem was that when memory was exhausted HEAP engine could crash
(GROUP BY uses HEAP TABLE).  Alternatively, if SET was used, it could
report an error "You may only use constant expressions with SET" instead
of "Out of memory (Needed NNNNNN bytes)".

The solution is:
 - pass MY_WME to (some) calls to my_malloc() to get correct message.
 - fix heap_write() so that the first key is skipped during cleanup
   on ENOMEM because it wasn't inserted and doesn't have to be
   deleted.

No test case is provided because we can't test out-of-memory behaviour
in our current test framework.


heap/hp_block.c:
  If allocation fails, write an error message.
heap/hp_write.c:
  On ENOMEM, skip the first key in cleanup, as it wasn't inserted yet.
sql/item_func.cc:
  Add MY_WME so that OOM error will be reported.
2007-01-09 12:24:25 +03:00
unknown
ae9549501b Merge kahlann.erinye.com:/home/df/mysql/build/mysql-4.1-build-work-24780
into  kahlann.erinye.com:/home/df/mysql/build/mysql-5.0-build-work-24780


scripts/mysqld_multi.sh:
  Auto merged
2007-01-09 09:51:49 +01:00
unknown
81cf3b8051 BUG#24780 workaround for broken installations that depend on using /etc, but were configured differently
scripts/mysqlaccess.sh:
  also look in /etc
scripts/mysqld_multi.sh:
  also look in /etc
2007-01-09 09:32:56 +01:00
unknown
470ea99c42 Merge olga.mysql.com:/home/igor/mysql-5.0-opt
into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug24345


sql/sql_select.cc:
  Auto merged
2007-01-09 00:17:48 -08:00
unknown
e3d81238e4 Merge bk@192.168.21.1:mysql-5.0-opt
into  mysql.com:/d2/hf/opt/my50-opt
2007-01-09 11:19:17 +04:00
unknown
3a05847abb Fix for BUG#19725 "Calls to SF in other database are not replicated
correctly in some cases".
In short, calls to a stored function located in another database
than the default database, may fail to replicate if the call was made
by SET, SELECT, or DO.
Longer: when a stored function is called from a statement which does not go
to binlog ("SET @a=somedb.myfunc()", "SELECT somedb.myfunc()",
"DO somedb.myfunc()"), this crafted statement is binlogged:
"SELECT myfunc();" (accompanied with a mention of the default database
if there is one). So, if "somedb" is not the default database,
the slave would fail to find myfunc(). The fix is to specify the
function's database name in the crafted binlogged statement, like this:
"SELECT somedb.myfunc();". Test added in rpl_sp.test.


mysql-test/r/rpl_sp.result:
  Because I moved the SHOW BINLOG EVENTS down a bit, big portions of its
  output move. Also, the function's database name appears in
  SELECT statements.
mysql-test/t/rpl_sp.test:
  Adding test for BUG#19725.
  Moving the SHOW BINLOG EVENTS down, it is run at the very end to
  test everything.
sql/sp_head.cc:
  When binlogging a "SELECT myfunc()" (when a stored function is executed
  inside a statement which does not go to the binlog (like a SET,
  SELECT, DO), we need to write "SELECT db_of_myfunc().myfunc()",
  because the function may be in a database which is not the default
  database.
2007-01-08 22:01:06 +01:00
unknown
e6e7d0cf45 Changes necessary to build version 4.0.28:
- "make_binary_distribution" accepts a dummy "--platform=" argument.

- "MySQL-shared-compat.spec" uses a "version40" define symbol internally.


scripts/make_binary_distribution.sh:
  Newer versions of the release build tools call this with a "--platform=" argument
  which we seem not to need in 4.0, but which makes the tool crash (happened on SCO).
  
  Rather than add another version check into the build tools, just accept a "--platform="
  argument and ignore it, just give a message.
support-files/MySQL-shared-compat.spec.sh:
  The current version of "Do-shared-compat" needs two digits to identify the release families
  (to differ between 4.0 and 4.1), so the variable "version4" must get renamed to "version40".
2007-01-08 18:33:55 +01:00
unknown
c9149b9c48 Merge kahlann.erinye.com:/home/df/mysql/build/mysql-4.1-build
into  kahlann.erinye.com:/home/df/mysql/build/mysql-4.1-build-work
2007-01-07 11:57:33 +01:00
unknown
6bd8dc73f8 Merge kahlann.erinye.com:/home/df/mysql/build/mysql-5.0-build
into  kahlann.erinye.com:/home/df/mysql/build/mysql-5.0-build-work
2007-01-07 11:56:05 +01:00
unknown
455ef162ae Merge dfischer@bk-internal.mysql.com:/home/bk/mysql-5.0-build
into  kahlann.erinye.com:/home/df/mysql/build/mysql-5.0-build
2007-01-07 11:55:04 +01:00
unknown
6f3343eeb9 Merge mysql.com:/home/kent/bk/tmp/mysql-4.1-build
into  mysql.com:/home/kent/bk/tmp/mysql-5.0-build


scripts/make_binary_distribution.sh:
  Auto merged
2007-01-05 16:57:23 +01:00
unknown
7fb6aa34a0 mysql.spec.sh, make_binary_distribution.sh:
Add CFLAGS to gcc call with --print-libgcc-file, to make sure the
  correct "libgcc.a" path is returned for the 32/64 bit architecture


scripts/make_binary_distribution.sh:
  Add CFLAGS to gcc call with --print-libgcc-file, to make sure the
  correct "libgcc.a" path is returned for the 32/64 bit architecture
support-files/mysql.spec.sh:
  Add CFLAGS to gcc call with --print-libgcc-file, to make sure the
  correct "libgcc.a" path is returned for the 32/64 bit architecture
2007-01-05 16:53:03 +01:00
unknown
42e31f7a45 Bug #15881: cast problems
The optimizer removes expressions from GROUP BY/DISTINCT
  if they happen to participate in a <expression> = <const>
  predicates of the WHERE clause (the idea being that if
  it's always equal to a constant it can't have multiple 
  values).
  However for predicates where the expression and the 
  constant item are of different result type this is not
  valid (e.g. a string column compared to 0).
  Fixed by additional check of the result types of the 
  expression and the constant and if they differ the 
  expression don't get removed from the group by list.


mysql-test/r/distinct.result:
  Bug #15881: cast problems
    - test case
mysql-test/t/distinct.test:
  Bug #15881: cast problems
    - test case
sql/sql_select.cc:
  Bug #15881: cast problems
    - can't use <expr>=<const> to remove GROUP BY/DISTINCT cols
      if they're not of the same type.
2007-01-05 14:02:50 +02:00
unknown
bf3561ea92 Merge kahlann.erinye.com:/home/df/mysql/build/mysql-4.1-build
into  kahlann.erinye.com:/home/df/mysql/build/mysql-4.1-build-work
2007-01-05 10:00:46 +01:00
unknown
cbfbbcb482 Merge kahlann.erinye.com:/home/df/mysql/build/mysql-5.0-build
into  kahlann.erinye.com:/home/df/mysql/build/mysql-5.0-build-work
2007-01-05 09:58:47 +01:00
unknown
2c037ebb48 Merge dfischer@bk-internal.mysql.com:/home/bk/mysql-5.0-build
into  kahlann.erinye.com:/home/df/mysql/build/mysql-5.0-build
2007-01-05 09:57:18 +01:00
unknown
268bce8f0d Merge tiger.mmj.dk:/Users/mmj/bktrees/mysql-4.1-build
into  tiger.mmj.dk:/Users/mmj/bktrees/mysql-5.0-build


include/my_global.h:
  Auto merged
2007-01-04 23:20:04 +01:00
unknown
679402dab6 my_global.h:
Patch from Alfredo for TARGET_FAT_BINARY


include/my_global.h:
  Patch from Alfredo for TARGET_FAT_BINARY
2007-01-04 23:18:04 +01:00
unknown
600efe0681 Merge mjorgensen@bk-internal.mysql.com:/home/bk/mysql-5.0
into  tiger.mmj.dk:/Users/mmj/bktrees/mysql-5.0-build
2007-01-04 22:33:34 +01:00
unknown
c9f42a9bfa my_global.h:
Add patch from Alfredo for TARGET_FAT_BINARY


include/my_global.h:
  Add patch from Alfredo for TARGET_FAT_BINARY
2007-01-04 22:22:25 +01:00
unknown
1398ad127e Merge bk@192.168.21.1:mysql-5.0-opt
into  mysql.com:/d2/hf/opt/my50-opt
2007-01-04 16:06:09 +04:00
unknown
6e1d68415f Merge mysql.com:/d2/hf/opt/my41-opt
into  mysql.com:/d2/hf/opt/my50-opt
2007-01-04 16:05:20 +04:00
unknown
42010cde4a Fixed bug #24345.
This bug appeared after the patch for bug 21390 that had added some code
to handle outer joins with no matches after substitution of a const
table in an efficient way. That code as it is cannot be applied to the case
of nested outer join operations. Being applied to the queries with
nested outer joins the code can cause crashes or wrong result sets.
The fix blocks row substitution for const inner tables of an outer join
if the inner operand is not a single table.  


mysql-test/r/join_nested.result:
  Added a test case for bug #24345.
mysql-test/t/join_nested.test:
  Added a test case for bug #24345.
2007-01-03 12:16:03 -08:00
unknown
5001bd06a7 Bug#6298 (LIMIT #, -1 no longer works to set start with no end limit)
With MySQL 3.23 and 4.0, the syntax 'LIMIT N, -1' is accepted, and returns
all the rows located after row N. This behavior, however, is not the
intended result, and defeats the purpose of LIMIT, which is to constrain
the size of a result set.

With MySQL 4.1 and later, this construct is correctly detected as a syntax
error.

This fix does not change the production code, and only adds a new test case
to improve test coverage in this area, to enforce in the test suite the
intended behavior.


mysql-test/r/select.result:
  Enforce that LIMIT N, -1 is illegal.
mysql-test/t/select.test:
  Enforce that LIMIT N, -1 is illegal.
2007-01-03 11:47:01 -07:00
unknown
5df7d39e52 Merge bk-internal:/home/bk/mysql-5.0-opt
into  rakia.gmz:/home/kgeorge/mysql/work/B15439-5.0-opt


sql/sql_udf.cc:
  Auto merged
2007-01-03 18:29:39 +02:00
unknown
ea5557aade sql_udf.cc:
Addendum to the fix for bug#15439 : valgrind pb failed


sql/sql_udf.cc:
  Addendum to the fix for bug#15439 : valgrind pb failed
2007-01-03 18:26:39 +02:00
unknown
0152471f5a Raise version number after cloning 4.0.28 2007-01-03 12:08:59 +01:00
unknown
8e0eea0d33 Merge mysql.com:/d2/hf/common/my41-common
into  mysql.com:/d2/hf/opt/my41-opt
2007-01-03 11:17:00 +04:00
unknown
6a4fbf09be Merge mysql.com:/d2/hf/common/my50-common
into  mysql.com:/d2/hf/opt/my50-opt


myisam/mi_check.c:
  Auto merged
sql/item_subselect.cc:
  Auto merged
sql/item_subselect.h:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_udf.cc:
  Auto merged
2007-01-03 11:13:01 +04:00