Commit graph

34188 commits

Author SHA1 Message Date
unknown
dd934da915 Bug#10418: LOAD_FILE does not behave like in manual if file does not exist
load_file() string-function should return NULL rather than throw an error if
the file doesn't exist, as per the manual.


mysql-test/t/outfile.test:
  expect NULL rather than error if file given to load_file() doesn't exist
mysql-test/t/func_str.test:
  show that load_file() will return NULL rather than throw an error
  if file doesn't exist
mysql-test/r/outfile.result:
  expect NULL rather than error if file given to load_file() doesn't exist
mysql-test/r/func_str.result:
  expect NULL rather than error if file given to load_file() doesn't exist
sql/item_strfunc.cc:
  load_file() should return NULL as per the docs if file not found,
  rather than throw an error
2006-05-08 04:37:58 +02:00
unknown
47302570e6 Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.0
into  rurik.mysql.com:/home/igor/mysql-5.0


mysql-test/r/rpl_user_variables.result:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
mysql-test/t/rpl_user_variables.test:
  Manual merge
2006-05-07 16:24:03 -07:00
unknown
5aa69d34a7 Post-merge fixes. 2006-05-07 16:14:43 -07:00
unknown
30a7094f96 Merge rurik.mysql.com:/home/igor/dev/mysql-4.1-0
into  rurik.mysql.com:/home/igor/dev/mysql-5.0-0


mysql-test/r/having.result:
  Auto merged
mysql-test/t/having.test:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
mysql-test/r/rpl_user_variables.result:
  Manual merge
mysql-test/t/rpl_user_variables.test:
  Manual merge
sql/sql_lex.cc:
  Manual merge
sql/sql_prepare.cc:
  Manual merge
sql/sql_select.cc:
  Manual merge
2006-05-07 14:06:12 -07:00
unknown
e4e67d587e Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-4.1
into  rurik.mysql.com:/home/igor/mysql-4.1
2006-05-07 11:25:33 -07:00
unknown
c438e4903c Merge aelkin@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/usr_rh9/home/elkin.rh9/MySQL/Merge/5.0-bug19136


sql/sql_select.cc:
  Auto merged
2006-05-07 20:03:08 +03:00
unknown
a910a0bf69 Bug#19136: Crashing log-bin and uninitialized user variables in a derived table
recalculating results


mysql-test/r/rpl_user_variables.result:
  fixing results
2006-05-07 19:54:57 +03:00
unknown
5b09d7a5e1 BUG#16798: Merge into 5.0: s/used_tables()/!const_item()/, added comment about its effects. 2006-05-07 19:01:49 +04:00
unknown
7139089aa5 Refactoring: Factor out common code from find_best() and best_access_path(): make
find_best() call best_access_path().
2006-05-07 18:07:08 +04:00
unknown
048469eb79 Merge mysql.com:/usr_rh9/home/elkin.rh9/4.1
into  mysql.com:/usr_rh9/home/elkin.rh9/MySQL/Merge/5.0-bug19136


sql/item_func.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
mysql-test/r/rpl_user_variables.result:
  manual merge use local
mysql-test/t/rpl_user_variables.test:
  manual merge use version 5.0's "show binlog events from 98"
2006-05-07 16:02:55 +03:00
unknown
ce6a2d32b3 Merge mysql.com:/usr_rh9/home/elkin.rh9/MySQL/BARE/4.1
into  mysql.com:/usr_rh9/home/elkin.rh9/MySQL/FIXES/4.1-bug19136_unass_user_var


sql/item_func.cc:
  Auto merged
2006-05-07 11:43:27 +03:00
unknown
375749b8af Fixed bug #14927.
A query with a group by and having clauses could return a wrong
result set if the having condition contained a constant conjunct 
evaluated to FALSE.
It happened because the pushdown condition for table with
grouping columns lost its constant conjuncts.
Pushdown conditions are always built by the function make_cond_for_table
that ignores constant conjuncts. This is apparently not correct when
constant false conjuncts are present.



mysql-test/r/having.result:
  Added a test case for bug #14927.
mysql-test/t/having.test:
  Added a test case for bug #14927.
sql/sql_lex.cc:
  Fixed bug #14927.
  Initialized fields for having conditions in  st_select_lex::init_query().
sql/sql_lex.h:
  Fixed bug #14927.
  Added a field to restore having condititions for execution in SP and PS.
sql/sql_prepare.cc:
  Fixed bug #14927.
  Added code to restore havinf conditions for execution in SP and PS.
sql/sql_select.cc:
  Fixed bug #14927.
  Performed evaluation of constant expressions in having clauses.
  If the having condition contains a constant conjunct that is always false
  an empty result set is returned after the optimization phase.
  In this case the corresponding EXPLAIN command now returns 
  "Impossible HAVING" in the last column.
2006-05-06 23:48:13 -07:00
unknown
c23774128a Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/psergey/mysql-5.0-bug16798-merge
2006-05-06 22:24:39 +04:00
unknown
427bcfb440 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/psergey/mysql-4.1-bug16798
2006-05-06 22:15:27 +04:00
unknown
86383668bb Merge joreland@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new


storage/ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
  Auto merged
2006-05-06 18:41:42 +02:00
unknown
c27793a3da Merge mysql.com:/home/tomash/src/mysql_ab/tmp_merge
into  mysql.com:/home/tomash/src/mysql_ab/mysql-5.0-merge


mysql-test/r/func_misc.result:
  Auto merged
mysql-test/t/func_misc.test:
  Auto merged
2006-05-06 19:45:24 +04:00
unknown
253c61336b Merge mysql.com:/home/tomash/src/mysql_ab/mysql-4.1
into  mysql.com:/home/tomash/src/mysql_ab/mysql-4.1-bug16501
2006-05-06 18:45:07 +04:00
unknown
322ed9ccf4 Merge mysql.com:/home/mydev/mysql-4.0
into  mysql.com:/home/mydev/mysql-4.0-bug10405
2006-05-06 16:42:59 +02:00
unknown
f36a42f7db Merge mysql.com:/home/tomash/src/mysql_ab/mysql-4.1
into  mysql.com:/home/tomash/src/mysql_ab/mysql-4.1-bug16501
2006-05-06 18:40:56 +04:00
unknown
a60bd69777 Fix race condition in the test for bug#16501.
mysql-test/r/func_misc.result:
  Update the result.
2006-05-06 18:24:41 +04:00
unknown
02f77d9f71 Merge mysql.com:/home/mydev/mysql-4.1
into  mysql.com:/home/mydev/mysql-4.1-bug10405
2006-05-06 15:27:23 +02:00
unknown
db590c1897 auto-set MYSQL_PLUGIN_DIRECTORY for plug.in files
storage/archive/plug.in:
  MYSQL_PLUGIN_DIRECTORY for plug.in files is set automagically
storage/example/plug.in:
  MYSQL_PLUGIN_DIRECTORY for plug.in files is set automagically
2006-05-06 07:43:18 -04:00
unknown
f9112ce6ba Merge mysql.com:/home/mydev/mysql-5.0
into  mysql.com:/home/mydev/mysql-5.0-bug10405
2006-05-06 13:35:48 +02:00
unknown
f4d209b015 Partial fix for BUG#14106: IM: im_life_cycle and im_utils
tests fail on FreeBSD.

The patch contains of the following:
  - make Instance Manager, running in the daemon mode, dump
    the pid of angel-process in the special file;
  - default value of angel-pid-file-name is 'mysqlmanager.angel.pid';
  - if ordinary (IM) pid-file-name is specified in the configuration,
    angel-pid-file-name is updated according to the following
    rule: extension of the basename of pid-file-name is replaced by
    '.angel.pid.
    For example:
    - pid-file-name: /tmp/im.pid
      => angel-pid-file-name: /tmp/im.angel.pid
    - pid-file-name: /tmp/im.txt
      => angel-pid-file-name: /tmp/im.angel.pid
    - pid-file-name: /tmp/5.0/im
      => angel-pid-file-name: /tmp/5.0/im.angel.pid
  - add support for configuration option to customize angel
    pid file name;
  - fix test suite to use angel pid to kill Instance Manager
    by all means if something went wrong.

Background
----------

The problem is that on some OSes (FreeBSD for one) Instance
Manager does not get SIGTERM, so can not shutdown gracefully.
Test suite wasn't able to cope with it, so this leads to the
mess in test results.

The problem should be split into two:
  - fix signal handling;
  - fix test suite.

This patch fixes test suite so that it will be able to kill
uncooperative Instance Manager. In order to achieve this,
test suite needs to know PID of IM Angel process.


mysql-test/lib/mtr_process.pl:
  Added a function to send a signal to a process.
mysql-test/mysql-test-run.pl:
  Changed procedure of stopping Instance Manager.
  1. Try to stop IM normally (by sending SIGTERM);
  2. If one of IM-related processes is still alive,
  kill them all by SIGKILL and complain in the log.
server-tools/instance-manager/manager.cc:
  Made create_pid_file() available for the whole project.
server-tools/instance-manager/manager.h:
  Made create_pid_file() available for the whole project.
server-tools/instance-manager/mysqlmanager.cc:
  Dump PID of angel process into file.
server-tools/instance-manager/options.cc:
  Added an option to allow to customize angel pid file name.
server-tools/instance-manager/options.h:
  Added an option to allow to customize angel pid file name.
2006-05-06 13:57:56 +04:00
unknown
59ff52747d Fix for bug #17260 "Multiple invocations of triggers or stored functions
hog memory".

During each invocation of stored function or trigger some objects which
lifetime is one function call (e.g. sp_rcontext) were allocated on
arena/memroot of calling statement. This led to consumption of fixed amount
of memory for each function/trigger invocation and so statements which
involve lot of them were hogging memory. This in its return led to OOM
crashes or freezes.

This fix introduces new memroot and arena for objects which lifetime is
whole duration of function call. So all memory consumed by such objects
is freed at the end of function call.


sql/sp_head.cc:
  sp_head::execute_function():
    Introduced new memroot and arena for objects which lifetime is whole
    duration of function call (e.g. sp_rcontext, sp_cursor). We can't
    use caller's arena/memroot for those objects because in this case 
    some fixed amount of memory will be consumed for each function/trigger
    invocation and so statements which involve lot of them will hog memory.
    Got rid of param_values array to avoid excessive juggling with arenas.
2006-05-06 13:51:35 +04:00
unknown
447d5a0fac Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/psergey/mysql-4.1-bug16798
2006-05-06 13:48:20 +04:00
unknown
3f54cb9cc6 Merge mysql.com:/home/psergey/mysql-4.1-bug16798
into mysql.com:/home/psergey/mysql-5.0-bug16798-merge


sql/sql_select.cc:
  Auto merged
2006-05-06 13:19:09 +04:00
unknown
c13144722a BUG#16798: Inapplicable ref_or_null query plan and bad query result on random occasions
The bug was as follows: When merge_key_fields() encounters "t.key=X OR t.key=Y" it will 
try to join them into ref_or_null access via "t.key=X OR NULL". In order to make this 
inference it checks if Y<=>NULL, ignoring the fact that value of Y may be not yet known.

The fix is that the check if Y<=>NULL is made only if value of Y is known (i.e. it is a
constant).
TODO: When merging to 5.0, replace used_tables() with const_item() everywhere in merge_key_fields().


mysql-test/r/innodb_mysql.result:
  Testcase for BUG16798
mysql-test/t/innodb_mysql.test:
  Testcase for BUG16798
sql/sql_select.cc:
  BUG#16798: Inapplicable ref_or_null query plan and bad query result on random occasions 
  In merge_key_fields() don't call val->is_null() if the value of val is not known.
2006-05-06 13:15:00 +04:00
unknown
11fe300394 Merge mysql.com:/home/mydev/mysql-5.1
into  mysql.com:/home/mydev/mysql-5.1-bug10405


storage/myisam/mi_check.c:
  Auto merged
2006-05-06 09:49:16 +02:00
unknown
8052fafd31 Reapply fix for bug#16372 (Server crashes when test 'conc_sys' is running)
after merge.

Concurrent read and update of privilege structures (like simultaneous
run of SHOW GRANTS and ADD USER) could result in server crash.

Ensure that proper locking of ACL structures is done.

No test case is provided because this bug can't be reproduced
deterministically.


sql/sql_acl.cc:
  Ensure that access to ACL data is protected by acl_cache->lock mutex.
  Use system_charset_info for host names consistently.
  Remove check_acl_user().  Use find_acl_user() instead.
sql/sql_acl.h:
  Remove check_acl_user() declaration.
sql/sql_parse.cc:
  Use is_acl_user() instead of check_acl_user().
2006-05-06 11:25:59 +04:00
unknown
77b7a71dd4 Merge mysql.com:/home/tomash/src/mysql_ab/tmp_merge
into  mysql.com:/home/tomash/src/mysql_ab/mysql-5.0-merge


mysql-test/r/func_misc.result:
  Manual merge of the fix for bug#16501.
mysql-test/t/func_misc.test:
  Manual merge of the fix for bug#16501.
sql/item_func.cc:
  Manual merge of the fix for bug#16501.
sql/sql_acl.cc:
  For the fix of bug#16372, use local version, since the fix for 5.0 is
  different, and will go in separate ChangeSet.
2006-05-06 11:18:42 +04:00
unknown
5e5f38ac3f Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/tomash/src/mysql_ab/mysql-5.0-real
2006-05-06 10:09:56 +04:00
unknown
9f606932f7 Fix race condition of concurrent RENAME and SHOW TABLES which caused
random test failures.


mysql-test/t/rename.test:
  Fix race condition and add cleanup code.
2006-05-06 09:41:24 +04:00
unknown
2ad7a70f9e Bug #19492 --binlog-do-db option cuases tables create issues for ndb master
- ndb system tables not created because of filter, moved chack of filter
2006-05-06 01:25:44 +02:00
unknown
8e8d8e8acf Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/home/my/mysql-5.1


mysql-test/mysql-test-run.pl:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
2006-05-05 20:09:20 +03:00
unknown
3995b06b40 Don't use row level logging on optimize or repair table.
(Fixes core dump in rpl_failed_optimize.test)
Ensure we end active transcations if we do an admin command (like optimize, repair etc)


mysql-test/extra/rpl_tests/rpl_failed_optimize.test:
  Added extra test + drop of table at end of test
mysql-test/lib/mtr_report.pl:
  Fail if mysqld asserts or prints stack
mysql-test/mysql-test-run.sh:
  Fail if mysqld asserts or prints stack
mysql-test/r/exampledb.result:
  Cleanup of events_tests (as this caused a lot of problems if it didn't work)
mysql-test/r/innodb.result:
  Extra test to see that we can do an optimize table on an active transaction
mysql-test/r/rpl_failed_optimize.result:
  Added extra test + drop of table at end of test
mysql-test/t/exampledb.test:
  Cleanup of events_tests (as this caused a lot of problems if it didn't work)
mysql-test/t/innodb.test:
  Extra test to see that we can do an optimize table on an active transaction
sql/handler.cc:
  Don't use row level logging on optimize or repair table.
sql/log.cc:
  Simplify code (no logic changes)
sql/mysql_priv.h:
  Added prototype
sql/sql_base.cc:
  Better name for define
sql/sql_class.cc:
  Indentation fix
sql/sql_parse.cc:
  Make end_active_trans() global
sql/sql_table.cc:
  Ensure we end active transcations if we do an admin command (like optimize, repair etc)
2006-05-05 20:08:40 +03:00
unknown
dac68ff719 Merge jmiller@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/home/ndbdev/jmiller/clones/mysql-5.1-new
2006-05-05 16:54:24 +02:00
unknown
2a6a3ad279 do not install ndb slave if no slaves
fixed memleak in ndbcluster_end


mysql-test/mysql-test-run.pl:
  do not install ndb slave if no slaves
sql/ha_ndbcluster.cc:
  fixed memleak in ndbcluster_end
2006-05-05 15:34:46 +02:00
unknown
4bc3ba7854 Bug #18798: mysqld cores on update in ha_ndbcluster call if cluster has failed before, added extra check that transaction is started 2006-05-05 14:25:57 +02:00
unknown
0757e68d67 Merge jamppa@bk-internal.mysql.com:/home/bk/mysql-5.0
into  hundin.mysql.fi:/home/jani/mysql-5.0merge_4_1_2nd
2006-05-05 14:25:33 +03:00
unknown
d1b6779ade Fixed wrong merge 2006-05-05 13:10:42 +03:00
unknown
5f3bc525e3 Merge jamppa@bk-internal.mysql.com:/home/bk/mysql-5.0
into  hundin.mysql.fi:/home/jani/mysql-5.0merge_4_1_2nd
2006-05-05 12:46:15 +03:00
unknown
e9399dc286 Merge mysql.com:/space/pekka/ndb/version/my50
into  mysql.com:/space/pekka/ndb/version/my50-work
2006-05-05 11:18:30 +02:00
unknown
e44823ff7f Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/home/my/mysql-5.1


sql/ha_ndbcluster.cc:
  Auto merged
mysql-test/t/disabled.def:
  Manual merge
2006-05-05 11:38:05 +03:00
unknown
c3398d13de Import from yaSSL
extra/yassl/include/openssl/ssl.h:
  Import patch yassl.diff
extra/yassl/testsuite/test.hpp:
  Import patch yassl.diff
2006-05-05 10:35:12 +02:00
unknown
30c4210d70 Import from yaSSL
extra/yassl/examples/client/client.cpp:
  Import patch yassl.diff
extra/yassl/examples/echoclient/echoclient.cpp:
  Import patch yassl.diff
extra/yassl/examples/echoserver/echoserver.cpp:
  Import patch yassl.diff
extra/yassl/examples/server/server.cpp:
  Import patch yassl.diff
extra/yassl/include/openssl/ssl.h:
  Import patch yassl.diff
extra/yassl/include/yassl_types.hpp:
  Import patch yassl.diff
extra/yassl/src/make.bat:
  Import patch yassl.diff
extra/yassl/src/ssl.cpp:
  Import patch yassl.diff
extra/yassl/src/yassl_imp.cpp:
  Import patch yassl.diff
extra/yassl/src/yassl_int.cpp:
  Import patch yassl.diff
extra/yassl/taocrypt/benchmark/make.bat:
  Import patch yassl.diff
extra/yassl/taocrypt/src/make.bat:
  Import patch yassl.diff
extra/yassl/taocrypt/test/make.bat:
  Import patch yassl.diff
extra/yassl/testsuite/make.bat:
  Import patch yassl.diff
extra/yassl/testsuite/testsuite.cpp:
  Import patch yassl.diff
2006-05-05 10:33:04 +02:00
unknown
4ab4631b06 Bug#19136: Crashing log-bin and uninitialized user variables in a derived table
The reason of the bug is in that `get_var_with_binlog' performs missed
assingment of
the variables as side-effect. Doing that it eventually calls
`free_underlaid_joins' to pass as an argument `thd->lex->select_lex' of the lex
which belongs to the user query, not 
to one which is emulated i.e SET @var1:=NULL.


`get_var_with_binlog' is refined to supply a temporary lex to sql_set_variables's stack.


mysql-test/r/rpl_user_variables.result:
  results changed
mysql-test/t/rpl_user_variables.test:
  a problematic query to be binlogged is added
sql/item_func.cc:
  BUG#19136: Crashing log-bin and uninitialized user variables
  
  The reason of the bug is in that how `get_var_with_binlog' performs missed
  assingment of the variables: `free_underlaid_joins' gets as an argument `thd->lex->select_lex'
  which belongs to the user query, not to one which is emulated i.e SET @var1:=NULL.
  
  `get_var_with_binlog' is refined to supply a temporary lex to sql_set_variables's stack.
2006-05-05 11:21:21 +03:00
unknown
8515e8f0ae Merge mysql.com:/home/tomash/src/mysql_ab/mysql-4.1
into  mysql.com:/home/tomash/src/mysql_ab/mysql-4.1-bug16372
2006-05-05 11:43:55 +04:00
unknown
286ee9aa22 Merge mysql.com:/home/mydev/mysql-5.1
into  mysql.com:/home/mydev/mysql-5.1-bug10405
2006-05-05 09:42:20 +02:00
unknown
c29fc77ced Merge mysql.com:/home/tomash/src/mysql_ab/mysql-4.1
into  mysql.com:/home/tomash/src/mysql_ab/mysql-4.1-bug16372
2006-05-05 11:35:49 +04:00