Commit graph

34,429 commits

Author SHA1 Message Date
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
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
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
unknown
42a7506d28 merging
mysql-test/r/flush_block_commit_notembedded.result:
  result fixed
2007-01-03 03:35:57 +04:00
unknown
11e53d8b76 mysql_upgrade disabled in embedded server
mysql-test/t/mysql_upgrade.test:
  test disabled in embedded server
2007-01-03 03:33:26 +04:00
unknown
3bd21c8414 Merge mysql.com:/d2/hf/common/my41-common
into  mysql.com:/d2/hf/common/my50-common


libmysqld/lib_sql.cc:
  merging
2007-01-03 02:43:27 +04:00
unknown
c81140f5a1 warning count for embedded prepared statements added
libmysqld/lib_sql.cc:
  reading warning count added
2007-01-03 02:41:14 +04:00
unknown
e9f6b35391 Bug#23950: misplaced code in mysqld.cc, main()
We should initialize before anything else.


sql/mysqld.cc:
  Move MY_INIT to the top of main().
2007-01-02 12:56:48 -05:00
unknown
d4a874f64b Merge bk@192.168.21.1:mysql-5.0
into  mysql.com:/d2/hf/common/my50-common
2007-01-02 18:00:30 +04:00
unknown
1c48d72376 Merge mysql.com:/d2/hf/common/my41-common
into  mysql.com:/d2/hf/common/my50-common


libmysqld/lib_sql.cc:
  merging
2007-01-02 17:54:38 +04:00
unknown
c79aeba1bd merging fix 2007-01-02 17:53:55 +04:00
unknown
8b8f1890fb merging fix 2007-01-02 17:51:32 +04:00
unknown
6de3acece2 Merge mysql.com:/d2/hf/common/my41-common
into  mysql.com:/d2/hf/common/my50-common


mysql-test/t/mysqladmin.test:
  Auto merged
sql/item_func.cc:
  Auto merged
libmysqld/lib_sql.cc:
  merging
mysql-test/t/distinct.test:
  merging
sql/sql_prepare.cc:
  SCCS merged
2007-01-02 17:50:55 +04:00
unknown
4a12418583 embedded-server related fixes
libmysqld/lib_sql.cc:
  error message moved to 'stmt'
mysql-test/t/distinct.test:
  temporary disabled in embedded server
mysql-test/t/mysqladmin.test:
  disabled in embedded server
sql/sql_prepare.cc:
  superfluous #ifndef removed
2007-01-02 17:46:20 +04:00
unknown
fa1b99b935 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-02 11:09:10 +01:00
unknown
5c0f5324ea 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-02 11:06:32 +01:00
unknown
2e99ee900a view.result:
Temporary work around for bug#25359


mysql-test/r/view.result:
  Temporary work around for bug#25359
2007-01-02 11:01:48 +01:00
unknown
0f09b9ce7f Merge mysql.com:/home/kent/bk/tmp/mysql-4.1-build
into  mysql.com:/home/kent/bk/tmp/mysql-5.0-build


innobase/buf/buf0buf.c:
  Auto merged
innobase/dict/dict0dict.c:
  Auto merged
innobase/fil/fil0fil.c:
  Auto merged
innobase/ha/ha0ha.c:
  Auto merged
innobase/include/hash0hash.h:
  Auto merged
innobase/lock/lock0lock.c:
  Auto merged
innobase/log/log0recv.c:
  Auto merged
2007-01-01 10:51:44 +01:00
unknown
19a33e08f2 Many files:
Renamed hash_create() not to clash with imap using embedded server (bug#13859)


innobase/buf/buf0buf.c:
  Renamed hash_create() not to clash with imap using embedded server (bug#13859)
innobase/dict/dict0dict.c:
  Renamed hash_create() not to clash with imap using embedded server (bug#13859)
innobase/fil/fil0fil.c:
  Renamed hash_create() not to clash with imap using embedded server (bug#13859)
innobase/ha/ha0ha.c:
  Renamed hash_create() not to clash with imap using embedded server (bug#13859)
innobase/ha/hash0hash.c:
  Renamed hash_create() not to clash with imap using embedded server (bug#13859)
innobase/include/hash0hash.h:
  Renamed hash_create() not to clash with imap using embedded server (bug#13859)
innobase/lock/lock0lock.c:
  Renamed hash_create() not to clash with imap using embedded server (bug#13859)
innobase/log/log0recv.c:
  Renamed hash_create() not to clash with imap using embedded server (bug#13859)
innobase/thr/thr0loc.c:
  Renamed hash_create() not to clash with imap using embedded server (bug#13859)
2007-01-01 10:50:39 +01:00
unknown
690404db2e mysqld.cc, configure.in:
Don't use thread priority by default on Mac OS X (bug#18526)


configure.in:
  Don't use thread priority by default on Mac OS X (bug#18526)
sql/mysqld.cc:
  Don't use thread priority by default on Mac OS X (bug#18526)
2007-01-01 09:54:41 +01:00
unknown
6c2883fc2e configure.in:
Build "mysqld_error.h" even if configured --withouth-server (bug#21265)


configure.in:
  Build "mysqld_error.h" even if configured --withouth-server (bug#21265)
2007-01-01 08:49:17 +01:00
unknown
4a090b1842 Merge mysql.com:/home/kent/bk/tmp/mysql-4.1-build
into  mysql.com:/home/kent/bk/tmp/mysql-5.0-build


configure.in:
  Auto merged
2007-01-01 07:23:43 +01:00
unknown
190a79c7f0 configure.in:
Don't build server when configured --without-server (bug#23973)


configure.in:
  Don't build server when configured --without-server (bug#23973)
2007-01-01 07:22:57 +01:00
unknown
ec08ea7058 Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/kent/bk/tmp/mysql-5.0-build
2007-01-01 05:35:10 +01:00
unknown
efe0db3f70 Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/home/kent/bk/tmp/mysql-4.1-build
2007-01-01 05:34:17 +01:00
unknown
e809f9133e Merge mysql.com:/home/kent/bk/tmp/mysql-4.1-build
into  mysql.com:/home/kent/bk/tmp/mysql-5.0-build


BUILD/check-cpu:
  Auto merged
scripts/mysql_secure_installation.sh:
  Auto merged
2007-01-01 05:31:23 +01:00