1
0
mirror of https://github.com/MariaDB/server.git synced 2025-11-09 11:41:36 +03:00
Commit Graph

12468 Commits

Author SHA1 Message Date
unknown
39e48fb293 Merge dator5.(none):/home/pappa/bug20767
into  dator5.(none):/home/pappa/push_tree_w28


sql/ha_partition.cc:
  Auto merged
sql/ha_partition.h:
  Auto merged
2006-07-15 03:41:41 -04:00
unknown
dd72905716 BUG#20389: Crash when using index scan in reverse order
mysql-test/r/partition_order.result:
  Changed a test case to handle ordered index scan reverse order as well
mysql-test/t/partition_order.test:
  Changed a test case to handle ordered index scan reverse order as well
sql/ha_myisam.cc:
  More debug info
sql/ha_partition.cc:
  Introduced partition_index_read_last to ensure we use index_read_last in those
  cases towards underlying handler.
  Ensured that index_read with HA_READ_PREFIX_LAST, HA_READ_PREFIX_LAST_OR_PREV and
  HA_READ_BEFORE_KEY uses ordered index scan in reverse order.
sql/ha_partition.h:
  Introduced partition_index_read_last to ensure we use index_read_last in those
  cases towards underlying handler.
  Ensured that index_read with HA_READ_PREFIX_LAST, HA_READ_PREFIX_LAST_OR_PREV and
  HA_READ_BEFORE_KEY uses ordered index scan in reverse order.
2006-07-15 03:38:34 -04:00
unknown
109615048d Fixed bug #20869.
The bug caused a crash of the server if a subquery with
ORDER BY DESC used the range access method.
The bug happened because the method QUICK_SELECT_DESC::reset
was not reworked after MRR interface had been introduced.


mysql-test/r/subselect.result:
  Added a test case for bug #20869.
mysql-test/t/subselect.test:
  Added a test case for bug #20869.
2006-07-15 00:28:21 -07:00
unknown
690101ad88 Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  siva.hindu.god:/usr/home/tim/m/bk/merge-51
(which is mysql-5.1-new-maint team tree)


include/my_base.h:
  Auto merged
mysql-test/extra/rpl_tests/rpl_loaddata.test:
  Auto merged
mysql-test/lib/mtr_cases.pl:
  Auto merged
mysql-test/r/rpl_loaddata.result:
  Auto merged
mysql-test/r/sp-security.result:
  Auto merged
mysql-test/t/sp-security.test:
  Auto merged
mysql-test/lib/mtr_report.pl:
  merge of mysql-5.1 -> mysql-5.1-new-maint
mysql-test/mysql-test-run.pl:
  merge of mysql-5.1 -> mysql-5.1-new-maint
2006-07-15 00:33:24 -06:00
unknown
203d46bb38 Fixed bug #20519.
The bug was due to a loss happened during a refactoring made
on May 30 2005 that modified the function JOIN::reinit.
As a result of it for any subquery the value of offset_limit_cnt
was not restored for the following executions. Yet the first 
execution of the subquery made it equal to 0.
The fix restores this value in the function JOIN::reinit.  


mysql-test/r/subselect.result:
  Added a test case fir bug #20519.
mysql-test/t/subselect.test:
  Added a test case fir bug #20519.
2006-07-14 19:28:58 -07:00
unknown
5677612aea Merge bodhi.local:/opt/local/work/tmp_merge
into  bodhi.local:/opt/local/work/mysql-5.1-runtime-merge-5.0


mysql-test/r/func_sapdb.result:
  Auto merged
mysql-test/r/func_time.result:
  Auto merged
mysql-test/r/sp-vars.result:
  Auto merged
mysql-test/t/func_sapdb.test:
  Auto merged
mysql-test/t/func_time.test:
  Auto merged
sql/field_conv.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
mysql-test/r/information_schema.result:
  Use local
mysql-test/t/information_schema.test:
  Manual merge.
sql/sql_lex.h:
  Manual merge.
2006-07-15 01:04:51 +04:00
unknown
906cd90d93 Merge mysql.com:/home/psergey/tmp_merge-2
into  mysql.com:/home/psergey/mysql-5.1-merge-2


mysql-test/r/range.result:
  Auto merged
mysql-test/t/range.test:
  Auto merged
sql/opt_range.cc:
  Auto merged
2006-07-14 19:10:54 +04:00
unknown
2e3ed9c127 Merge igreenhoe@bk-internal.mysql.com:/home/bk/mysql-5.0
into  anubis.greendragongames.com:/home/greenman/workspace-mysql/mysql/merge-4.1_2_5.0


client/mysqldump.c:
  Auto merged
mysql-test/r/mysqldump.result:
  Auto merged
2006-07-14 06:52:25 -07:00
unknown
e7ea49dc0d Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/usr/home/ram/work/4.1.b15195
2006-07-14 16:58:51 +05:00
unknown
39f9adfa84 --{skip-}merge option added which allows the user to disable merge engine and
to avoid the potential security problem.
(see bug #15195: Security Breach with MERGE table)
2006-07-14 16:26:58 +05:00
unknown
3d35522f9d Bug#21014: Segmentation fault of mysqldump on view
mysqldump did not select the correct database before trying to dump
views from it. this resulted in an empty result set, which in turn
startled mysql-dump into a core-dump.  this only happened for views,
not for tables, and was only visible with multiple databases that
weren't by sheer luck in the order mysqldump required, anyway. this
fixes by selecting the correct database before dumping views; it also
catches the empty set-condition if it should occur for other reasons.


client/mysqldump.c:
  Bug#21014: Segmentation fault of mysqldump on view
  
  failsafe: if "select ... from information_schema.views" returns an
  empty set, don't deref NULL; throw an error instead.
  
  fix: select the correct database not only before dumping tables, but
  before dumping views, as well.
mysql-test/r/mysqldump.result:
  Bug#21014: Segmentation fault of mysqldump on view
  
  show that mysqldump selects the correct database before trying to dump
  views from it.
mysql-test/t/mysqldump.test:
  Bug#21014: Segmentation fault of mysqldump on view
  
  show that mysqldump selects the correct database before trying to dump
  views from it.
2006-07-14 12:50:00 +02:00
unknown
e71cf7c457 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into  rakia.(none):/home/kgeorge/mysql/autopush/B17212-4.1-opt
2006-07-14 12:49:14 +03:00
unknown
4f580b3e43 Merge macbook.gmz:/Users/kgeorge/mysql/work/B17212-4.1-opt
into  macbook.gmz:/Users/kgeorge/mysql/work/B17212-5.0-opt


mysql-test/r/innodb_mysql.result:
  Merge 4.1->5.0 for bug #17212
mysql-test/t/innodb_mysql.test:
  Merge 4.1->5.0 for bug #17212
sql/sql_select.cc:
  Merge 4.1->5.0 for bug #17212
2006-07-14 11:20:52 +03:00
unknown
1e44259440 Fixed bug #19714.
DESCRIBE returned the type BIGINT for a column of a view if the column
was specified by an expression over values of the type INT.
    
E.g. for the view defined as follows:
  CREATE VIEW v1 SELECT COALESCE(f1,f2) FROM t1
DESCRIBE returned type BIGINT for the only column of the view if f1,f2 are
columns of the INT type.
At the same time DESCRIBE returned type INT for the only column of the table
defined by the statement:
  CREATE TABLE t2 SELECT COALESCE(f1,f2) FROM t1.
    
This inconsistency was removed by the patch.

Now the code chooses between INT/BIGINT depending on the
precision of the aggregated column type.
 
Thus both DESCRIBE commands above returns type INT for v1 and t2.
 


mysql-test/r/analyse.result:
  Adjusted the results after having fixed bug #19714.
mysql-test/r/bigint.result:
  Adjusted the results after having fixed bug #19714.
mysql-test/r/create.result:
  Adjusted the results after having fixed bug #19714.
mysql-test/r/olap.result:
  Adjusted the results after having fixed bug #19714.
mysql-test/r/ps_2myisam.result:
  Adjusted the results after having fixed bug #19714.
mysql-test/r/ps_3innodb.result:
  Adjusted the results after having fixed bug #19714.
mysql-test/r/ps_4heap.result:
  Adjusted the results after having fixed bug #19714.
mysql-test/r/ps_5merge.result:
  Adjusted the results after having fixed bug #19714.
mysql-test/r/ps_6bdb.result:
  Adjusted the results after having fixed bug #19714.
mysql-test/r/ps_7ndb.result:
  Adjusted the results after having fixed bug #19714.
mysql-test/r/sp.result:
  Adjusted the results after having fixed bug #19714.
mysql-test/r/subselect.result:
  Adjusted the results after having fixed bug #19714.
mysql-test/r/type_ranges.result:
  Adjusted the results after having fixed bug #19714.
mysql-test/r/view.result:
  Added a test case for bug #19714.
mysql-test/t/view.test:
  Added a test case for bug #19714.
2006-07-13 20:48:26 -07:00
unknown
35bfad1e3d 4.1 -> 5.0 merge
client/mysql.cc:
  Auto merged
client/sql_string.h:
  Auto merged
configure.in:
  Auto merged
myisam/mi_create.c:
  Auto merged
mysql-test/r/date_formats.result:
  Auto merged
mysql-test/t/date_formats.test:
  Auto merged
ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp:
  Auto merged
ndb/src/mgmsrv/ConfigInfo.cpp:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_string.h:
  Auto merged
sql/table.cc:
  Auto merged
2006-07-13 16:35:25 -07:00
unknown
1b6962a484 Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/tnurnberg/work/mysql-5.0-21014
2006-07-14 01:26:19 +02:00
unknown
f27e9254ec Bug#21014: Segmentation fault of mysqldump on view
mysqldump did not select the correct database before trying to dump
views from it. this resulted in an empty result set, which in turn
startled mysql-dump into a core-dump.  this only happened for views,
not for tables, and was only visible with multiple databases that
weren't by sheer luck in the order mysqldump required, anyway. this
fixes by selecting the correct database before dumping views; it also
catches the empty set-condition if it should occur for other reasons.


client/mysqldump.c:
  Bug#21014: Segmentation fault of mysqldump on view
  
  failsafe: if "select ... from information_schema.views" returns an
  empty set, don't deref NULL; throw an error instead.
  
  fix: select the correct database not only before dumping tables, but
  before dumping views, as well.
mysql-test/r/mysqldump.result:
  Bug#21014: Segmentation fault of mysqldump on view
  
  show that mysqldump selects the correct database before trying to dump
  views from it.
mysql-test/t/mysqldump.test:
  Bug#21014: Segmentation fault of mysqldump on view
  
  show that mysqldump selects the correct database before trying to dump
  views from it.
2006-07-14 01:25:13 +02:00
unknown
5392be95ec Merge bk-internal.mysql.com:/home/bk/mysql-4.1-maint
into  zippy.(none):/home/cmiller/work/mysql/m41-maint--07AB5
2006-07-13 13:03:36 -04:00
unknown
80eae1a3c9 Merge moonbone.local:/work/16302-bug-4.1-opt-mysql
into  moonbone.local:/work/tmp_merge-5.0-opt-mysql


sql/item_subselect.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
mysql-test/r/subselect.result:
  Manual merge
mysql-test/t/subselect.test:
  Manual merge
2006-07-13 18:18:20 +04:00
unknown
805c33a5e1 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0
into  moonbone.local:/work/tmp_merge-5.0-opt-mysql


mysql-test/r/rpl_insert_id.result:
  Auto merged
mysql-test/t/rpl_insert_id.test:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/item_strfunc.h:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2006-07-13 18:16:16 +04:00
unknown
f783a15aad Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/home/evgen/bk-trees/mysql-5.0-opt


sql/item.h:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
2006-07-13 18:03:43 +04:00
unknown
51dddb3ad1 Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug18630


sql/item_func.cc:
  Auto merged
sql/item_func.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_trigger.cc:
  Auto merged
2006-07-13 17:21:44 +04:00
unknown
06bf59ad33 Bug#18630: Arguments of suid routine calculated in wrong security
context.

Routine arguments were evaluated in the security context of the routine
itself, not in the caller's context.

The bug is fixed the following way:

  - Item_func_sp::find_and_check_access() has been split into two
    functions: Item_func_sp::find_and_check_access() itself only
    finds the function and check that the caller have EXECUTE privilege
    on it.  New function set_routine_security_ctx() changes security
    context for SUID routines and checks that definer have EXECUTE
    privilege too.

  - new function sp_head::execute_trigger() is called from
    Table_triggers_list::process_triggers() instead of
    sp_head::execute_function(), and is effectively just as the
    sp_head::execute_function() is, with all non-trigger related code
    removed, and added trigger-specific security context switch.

  - call to Item_func_sp::find_and_check_access() stays outside
    of sp_head::execute_function(), and there is a code in
    sql_parse.cc before the call to sp_head::execute_procedure() that
    checks that the caller have EXECUTE privilege, but both
    sp_head::execute_function() and sp_head::execute_procedure() call
    set_routine_security_ctx() after evaluating their parameters,
    and restore the context after the body is executed.


mysql-test/r/sp-security.result:
  Add test case for bug#18630: Arguments of suid routine calculated
  in wrong security context.
mysql-test/t/sp-security.test:
  Add result for bug#18630: Arguments of suid routine calculated
  in wrong security context.
sql/item_func.cc:
  Do not change security context before executing the function, as it
  will be changed after argument evaluation.
  Do not change security context in Item_func_sp::find_and_check_access().
sql/item_func.h:
  Change prototype for Item_func_sp::find_and_check_access().
sql/sp_head.cc:
  Add set_routine_security_ctx() function.
  Add sp_head::execute_trigger() method.
  Change security context in sp_head::execute_trigger(), and in
  sp_head::execute_function() and sp_head::execute_procedure()
  after argument evaluation.
  Move pop_all_cursors() call to sp_head::execute().
sql/sp_head.h:
  Add declaration for sp_head::execute_trigger() and
  set_routine_security_ctx().
sql/sql_parse.cc:
  Do not change security context before executing the procedure, as it
  will be changed after argument evaluation.
sql/sql_trigger.cc:
  Call new sp_head::execute_trigger() instead of
  sp_head::execute_function(), which is responsible to switch
  security context.
2006-07-13 17:12:31 +04:00
unknown
b974fa85a3 Merge bk@192.168.21.1:mysql-5.0-kt
into  mysql.com:/home/hf/work/mysql-5.0.clean


sql-common/client.c:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
2006-07-13 14:25:58 +05:00
unknown
31caa8c433 WL #3337 (Events new architecture)
Final stroke, events should be loaded from disk on server startup.
Also check the validity of their bodies if possible during loading.


sql/event_data_objects.cc:
  Remove Event_job_data::free_sp(), move the code to the destructor
  Change the way we change the security context
  Steal some code from sql_parse.cc
sql/event_data_objects.h:
  Remove free_sp()
  Make compile() public, to be used when booting for verifying the integrity of mysql.event
sql/event_queue.cc:
  Make the queue load events from disk on server boot.
  Compile and thus check for integrity the events.
sql/event_queue.h:
  shift methods around. add queue_loaded boolean.
sql/event_scheduler.cc:
  Rename init_event_thread() to pre_init_event_thread()
  and make it more generic.
  Add post_init_event_thread()
  Export these two as well as deinit_event_thread().
  Now it is quite easy to write code to spawn a new event thread
  whenever needed.
sql/event_scheduler.h:
  export pre_init_event_thread(), post_init_event_thread() and deinit_event_thread()
  to simplify writing of thread functions.
sql/events.cc:
  Events::init() returns only one error code, then make it bool
sql/events.h:
  Events::init() returns only one error code, then make it bool
sql/mysqld.cc:
  Check the return code of Events::init()
sql/sp_head.cc:
  Add trace info
sql/sql_class.cc:
  Reorganize thd::change_security_context() to load main_security_ctx
sql/sql_class.h:
  Reorganize thd::change_security_context() to load main_security_ctx
sql/sql_lex.cc:
  Initialize lex->spname
sql/sql_yacc.yy:
  Add a comment
2006-07-13 10:59:58 +02:00
unknown
d013f9e53a Merge bodhi.local:/opt/local/work/tmp_merge
into  bodhi.local:/opt/local/work/mysql-5.1-runtime-merge-5.0


include/my_sys.h:
  Auto merged
mysql-test/r/auto_increment.result:
  Auto merged
mysql-test/r/func_math.result:
  Auto merged
mysql-test/r/func_system.result:
  Auto merged
mysql-test/r/func_time.result:
  Auto merged
mysql-test/r/information_schema.result:
  Auto merged
mysql-test/r/query_cache.result:
  Auto merged
mysql-test/r/subselect.result:
  Auto merged
mysql-test/r/trigger.result:
  Auto merged
mysql-test/r/type_blob.result:
  Auto merged
mysql-test/r/variables.result:
  Auto merged
mysql-test/r/view.result:
  Auto merged
mysql-test/t/trigger.test:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/log.cc:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_trigger.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
  Auto merged
storage/ndb/src/mgmsrv/ConfigInfo.cpp:
  Auto merged
sql/slave.h:
  SCCS merged
mysql-test/r/show_check.result:
  Manual merge.
mysql-test/t/show_check.test:
  Manual merge.
sql/log_event.cc:
  Manual merge.
sql/share/errmsg.txt:
  Manual merge.
sql/sql_class.h:
  Manual merge.
sql/sql_db.cc:
  Manual merge.
2006-07-13 11:43:52 +04:00
unknown
7621597785 Bug#20432: mysql client interprets commands in comments
do not look for client-specific commands while inside a multi-line comment.
we will allow multi-comments pretty much anywhere within SQL-statements,
but client-specific commands (help, use, print, ...) must be the first token
in the input.


client/mysql.cc:
  Bug#20432: mysql client interprets commands in comments
mysql-test/r/mysql_client.result:
  Bug#20432: mysql client interprets commands in comments
  test client-side parsing of comments and client-specific commands
mysql-test/t/mysql_client.test:
  Bug#20432: mysql client interprets commands in comments
  test client-side parsing of comments and client-specific commands
2006-07-13 09:04:06 +02:00
unknown
cb3a82a0fc BUG#20852: Using update with full table scan causes mysqld to enter an eternal loop
mysql-test/r/partition_innodb.result:
  New test case
mysql-test/t/partition_innodb.test:
  New test case
sql/ha_partition.cc:
  Two more handler interface variables not taken care of
2006-07-12 20:38:17 -04:00
unknown
abbf7ad014 Bug #17608: String literals lost during INSERT query on FEDERATED table
The Federated storage engine used Field methods that had arbitrary limits on
  the amount of data they could process, which caused problems with data
  over that limit (4K). By removing those Field methods and just using
  features of the String class, we can avoid this problem.


mysql-test/r/federated.result:
  Add new results
mysql-test/t/federated.test:
  Add new regression test
sql/field.cc:
  Remove unnecessary methods
sql/field.h:
  Remove unnecessary methods
sql/ha_federated.cc:
  Remove use of quote_data, use String::print() to get escaping of strings,
  and don't bother with needs_quotes, just always quote values.
2006-07-12 16:33:29 -07:00
unknown
2fc276d54f Bug #17903: cast to char results in binary
The character set was not being properly initialized in CAST() with
  a type like "CHAR(2) BINARY", which resulted in incorrect results or
  even a crash.


mysql-test/r/cast.result:
  Add new results
mysql-test/t/cast.test:
  Add new regression test
sql/sql_yacc.yy:
  Make sure Lex->charset is set to NULL when nothing follows BINARY
  in type declaration.
2006-07-12 13:22:38 -07:00
unknown
26f0d13d01 Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  bodhi.local:/opt/local/work/mysql-5.1-runtime-merge


sql/ha_ndbcluster.cc:
  Auto merged
sql/ha_partition.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_load.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_trigger.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/table.cc:
  Auto merged
mysql-test/r/federated.result:
  Manual merge.
mysql-test/t/federated.test:
  Manual merge.
sql/sql_insert.cc:
  Manual merge.
2006-07-13 00:18:59 +04:00
unknown
812c9cc84a Bug #12673: Instance Manager: allows to stop the instance many times
The instance manager was not actually checking whether an instance
  was actually running before trying to stop it. Now it checks first.


mysql-test/r/im_life_cycle.result:
  Add new results
mysql-test/t/im_life_cycle.imtest:
  Add new regression test
server-tools/instance-manager/instance.cc:
  Fix Instance::stop() to report ER_INSTANCE_IS_NOT_STARTED when that is
  the case. Also removed unnecessary goto.
server-tools/instance-manager/messages.cc:
  Fix messages with missing spaces
2006-07-12 12:30:22 -07:00
unknown
f60d9a3eee Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  bodhi.local:/opt/local/work/mysql-5.0-runtime
2006-07-12 22:16:50 +04:00
unknown
840840bda0 Merge mronstrom@bk-internal.mysql.com:/home/bk/bugs/bug18198
into  dator5.(none):/home/pappa/bug18198


mysql-test/r/partition.result:
  Auto merged
mysql-test/t/partition.test:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/item_strfunc.h:
  Auto merged
sql/sql_partition.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/partition_info.cc:
  manual merge
sql/partition_info.h:
  manual merge
sql/sql_table.cc:
  manual merge
2006-07-12 11:33:22 -04:00
unknown
fe4ed2440d Merge dl145k.mysql.com:/data0/mkindahl/bkroot/mysql-5.1
into  dl145k.mysql.com:/data0/mkindahl/bk/mysql-5.1-new-rpl


sql/ha_federated.cc:
  Auto merged
2006-07-12 10:07:07 +02:00
unknown
a08a6f9f57 Merge dl145k.mysql.com:/data0/mkindahl/bkroot/mysql-5.0
into  dl145k.mysql.com:/data0/mkindahl/bk/mysql-5.0-rpl


ndb/include/kernel/GlobalSignalNumbers.h:
  Auto merged
ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
  Auto merged
ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
  Auto merged
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
  Auto merged
ndb/src/ndbapi/ndberror.c:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/handler.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
2006-07-12 10:05:55 +02:00
unknown
4144543006 Bug #17212 results not sorted correctly by ORDER BY when using index
* don't use join cache when the incoming data set is already ordered
    for ORDER BY
    This choice must be made because join cache will effectively
    reverse the join order and the results will be sorted by the index
    of the table that uses join cache.


mysql-test/r/innodb_mysql.result:
  Bug #17212 results not sorted correctly by ORDER BY when using index
    * Test suite for the bug
mysql-test/t/innodb_mysql.test:
  Bug #17212 results not sorted correctly by ORDER BY when using index
    * Test suite for the bug
sql/sql_select.cc:
  Bug #17212 results not sorted correctly by ORDER BY when using index
    * don't use join cache when the incoming data set is already sorted
2006-07-12 10:57:38 +03:00
unknown
97a3d52682 Fix for bug #19370: DateTime datatype in MySQL has two bugs in it
mysql-test/r/date_formats.result:
  Fix for bug #19370: DateTime datatype in MySQL has two bugs in it
    - results adjusted
mysql-test/r/strict.result:
  Fix for bug #19370: DateTime datatype in MySQL has two bugs in it
    - results adjusted
mysql-test/r/type_datetime.result:
  Fix for bug #19370: DateTime datatype in MySQL has two bugs in it
    - results adjusted
mysql-test/t/strict.test:
  Fix for bug #19370: DateTime datatype in MySQL has two bugs in it
    - tests adjusted
sql-common/my_time.c:
  Fix for bug #19370: DateTime datatype in MySQL has two bugs in it
    - Regardless of the title of the bug the only real bug is that it
      doesn't make sense to have only some invalid parts in a date.
      E.g. a valid day among invalid years or months is totally ambiguous 
      and we should refuse to guess what it means.
  
      To fix it, we add a check that both the year is zero and either day
      or month are zero (year and (day or month)), and if they are then  we
      reject such dates. Doing so should adequately fix the reported problem.
2006-07-12 11:38:11 +05:00
unknown
e2c448fb5c Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into  moonbone.local:/work/16302-bug-4.1-opt-mysql


mysql-test/r/subselect.result:
  SCCS merged
mysql-test/t/subselect.test:
  SCCS merged
2006-07-12 06:12:59 +04:00
unknown
e52940aa7f Merge bk-internal:/home/bk/mysql-5.0-engines
into  rama.(none):/home/jimw/my/mysql-5.0-17766
2006-07-11 17:29:36 -07:00
unknown
97cdd9df8a Bug #17766: The server accepts to create MERGE tables which cannot work
Changed the error reporting (and a crash) when inserting data into a
 MERGE table that has no underlying tables or no INSERT_METHOD specified
 by reporting that it is read-only.


include/my_base.h:
  Add new handler error
mysql-test/r/merge.result:
  Update results
mysql-test/t/merge.test:
  Add new regression test
sql/ha_myisammrg.cc:
  When trying to insert into a MERGE table with no underlying tables
  or no INSERT_METHOD, report that it is read-only.
sql/handler.cc:
  Handle new error message
2006-07-11 17:28:50 -07:00
unknown
03dbc2190d Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into  moonbone.local:/work/18503-bug-4.1-mysql


sql/sql_select.cc:
  Auto merged
2006-07-12 02:52:29 +04:00
unknown
d2bbf288a9 Fixed bug#18503: Queries with a quantified subquery returning empty set
may return a wrong result.

An Item_sum_hybrid object has the was_values flag which indicates whether any
values were added to the sum function. By default it is set to true and reset
to false on any no_rows_in_result() call. This method is called only in
return_zero_rows() function. An ALL/ANY subquery can be optimized by MIN/MAX
optimization. The was_values flag is used to indicate whether the subquery
has returned at least one row. This bug occurs because return_zero_rows() is
called only when we know that the select will return zero rows before
starting any scans but often such information is not known.
In the reported case the return_zero_rows() function is not called and
the was_values flag is not reset to false and yet the subquery return no rows
Item_func_not_all and Item_func_nop_all functions return a wrong
comparison result.

The end_send_group() function now calls no_rows_in_result() for each item
in the fields_list if there is no rows were found for the (sub)query.


mysql-test/t/subselect.test:
  Added test case for bug#18503: Queries with a quantified subquery returning empty set may return a wrong result.
mysql-test/r/subselect.result:
  Added test case for bug#18503: Queries with a quantified subquery returning empty set may return a wrong result.
sql/sql_select.cc:
  Fixed bug#18503: Queries with a quantified subquery returning empty set may return a wrong result.
  
  The end_send_group() function now calls no_rows_in_result() for each item
  in the fields_list if there is no matching rows were found.
2006-07-12 01:52:18 +04:00
unknown
3ff08ab8cb Post-merge fixes for Bug#19399 "Stored Procedures 'Lost Connection'
when dropping/creating tables"


mysql-test/r/ps.result:
  A post-merge fix.
mysql-test/t/ps.test:
  A post-merge fix: all 5.0 tests should go after 4.1 tests.
sql/sql_lex.cc:
  auxilliary -> auxiliary
sql/sql_prepare.cc:
  auxilliary -> auxiliary
sql/table.cc:
  Update st_table_list::reinit_before_use in 5.0 to include 5.0-specific
  cleanups.
sql/table.h:
  st_table_list::reinit_before_use is public.
2006-07-11 23:39:51 +04:00
unknown
26ddd5cb0c Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  zippy.(none):/home/cmiller/work/mysql/m41-maint--07AB5


mysql-test/r/date_formats.result:
  Auto merged
mysql-test/t/date_formats.test:
  Auto merged
2006-07-11 14:25:42 -04:00
unknown
d8b447a1b6 Merge bodhi.local:/opt/local/work/tmp_merge
into  bodhi.local:/opt/local/work/mysql-5.0-runtime-merge-41


ndb/src/mgmsrv/ConfigInfo.cpp:
  Auto merged
sql/table.cc:
  Auto merged
mysql-test/r/ps.result:
  Manual merge: use local.
mysql-test/t/ps.test:
  Manual merge: remove duplicate test cases from ps.test.
sql/sql_lex.cc:
  Manual merge.
sql/sql_prepare.cc:
  Manual merge.
sql/table.h:
  Manual merge.
2006-07-11 21:19:57 +04:00
unknown
ed001f18a4 Bug#20729: Bad date_format() call makes mysql server crash
The problem is that the author used the wrong function to send a warning to the 
user about truncation of data.  push_warning() takes a constant string and 
push_warning_printf() takes a format and variable arguments to fill it.

Since the string we were complaining about contains percent characters, the 
printf() code interprets the "%Y" et c. that the user sends.  That's wrong, and
often causes a crash, especially if the date mentions seconds, "%s".

A alternate fix would be to use  push_warning_printf(..., "%s", warn_buff) .


mysql-test/r/date_formats.result:
  Test that an invalid date doesn't crash the server.  We should get a warning back 
  instead of a dead socket.
mysql-test/t/date_formats.test:
  Test that an invalid date doesn't crash the server.  We should get a warning back 
  instead of a dead socket.
sql/time.cc:
  Don't try to use warn_buf as the start of a varible arguement list to send 
  to a warning-formatted my_vsnprintf() .
2006-07-11 13:06:29 -04:00
unknown
42a8e2c942 WL#3337 (Event scheduler new architecture)
More small fixes to the API : use LEX_STRING instead of LEX_STRING* and if error
then return bool(true) instead of error code.
Merged functions. Reduced usage of sp_name.
Fixed a lot of function documentation errors.
Added function documentation wherever needed.
Removed some unused defines and error codes.

Next to come is batch rename of Event_scheduler_ng to Event_scheduler.


mysql-test/r/events.result:
  update result
mysql-test/r/events_logs_tests.result:
  update result
mysql-test/t/events.test:
  more test coverage
mysql-test/t/events_logs_tests.test:
  fix test
sql/event_data_objects.cc:
  Cosmetics.
  Fix function documentation whenever needed.
  Move Event_job_data::compile() next to Event_job_data::execute()
sql/event_data_objects.h:
  Remove unneeded error codes and defines
  Move function declarations at the end of the header
sql/event_db_repository.cc:
  Fix function documentation.
  Event_db_repository::update_event() now uses LEX_STRING *-s instead of
  sp_name . Lower coupling.
sql/event_db_repository.h:
  Event_db_repository::update_event() now uses LEX_STRING *-s instead of
  sp_name . Lower coupling.
  find_event -> find_named_event
  find_event_by_name is not used externally, merge with load_named_event()
sql/event_queue.cc:
  LEX_STRING* to LEX_STRING
  Fix comments.
  Fix and add function documentation.
  Remove Event_queue::events_count() as it is unused
  Change get_top_for_execution_if_time() to return status code as return value
  and the object is in out parameter.
sql/event_queue.h:
  LEX_STRING* to LEX_STRING
  Fix comments.
  Fix and add function documentation.
  Remove Event_queue::events_count() as it is unused
  Change get_top_for_execution_if_time() to return status code as return value
  and the object is in out parameter.
  Try to detect also lock attemptions for deadlocks.
sql/event_scheduler_ng.cc:
  Always execute on thd->mem_root
  Fix according to changed API of Event_queue::get_top_for_execution_if_time()
sql/events.cc:
  Fix function documentation.
  Fix code after API changes of internal Event module classes.
sql/events.h:
  sp_name -> LEX_STRINGs
sql/sql_parse.cc:
  Fix according to changed API of Events::show_create_event()
sql/sql_yacc.yy:
  Don't pass NULL as third parameter to sp_head::init_strings()
2006-07-11 18:28:15 +02:00
unknown
bf01313ccf Merge moonbone.local:/work/allany-4.1-mysql
into  moonbone.local:/work/16302-bug-4.1-opt-mysql
2006-07-11 17:48:33 +04:00
unknown
7642d18146 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into  moonbone.local:/home/evgen/bk-trees/mysql-4.1-opt


sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
2006-07-11 17:35:36 +04:00