1
0
mirror of https://github.com/MariaDB/server.git synced 2025-11-12 10:22:39 +03:00
Commit Graph

12468 Commits

Author SHA1 Message Date
unknown
b634daa38e Merge jmiller@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/home/ndbdev/jmiller/clones/mysql-5.1-new
2006-02-16 01:06:16 +01:00
unknown
fea4742db5 fix for bug#16406 (Events: DROP DATABASE doesn't automatically drop events)
WL#1034
- This changeset also changes the executor so its quite more stable now.
  Stressing test case added that executes ~800 events per second and dropping
  hundreds of events at once using DROP DATABASE.
(with fixes after review of JimW)
(with fixes after review of Serg)


mysql-test/r/events.result:
  update results after TRIGGER_ACL was added
mysql-test/t/events.test:
  -redundant line
sql/event.cc:
  Implemented evex_db_drop_events() which drops all events
  from a specific database. Needed for SQLCOM_DROP_DATABASE
sql/event.h:
  - protect the event better (see the changes to event_executor.cc
    and event.cc). An event object could be used in a spawned thread
    before it's executed but till now the object is marked as being
    executed when the anonymous sp_head is executed. However, there are
    timeframes before and after that during which the event is not marked
    as executed and other thread may delete the object -> so we end with
    a nirvana pointer.
sql/event_executor.cc:
  - extract some of the code executed in the main thread to a function. Too long
    functions are bad for the overview.
  - prepend all information/error messages to the console with "SCHEDULER:" for
    better overview, and easied searching in the log tables.
sql/event_priv.h:
  - change the name, of evex_db_find_event_by_name() and don't
    used C++ features like function overloading
  - define consts for result returned from event_timed::spawn_now()
sql/event_timed.cc:
  - add few methods related to event execution.
    now the event spawns the worker thread and
    passes itself as parameter. This way it locks itself for exectution
    first and then spawning -> no race condition. When the worker thread
    has finished working with the reference it calls back
    event_timed::spawn_thread_finish() to unlock itself.
sql/sql_db.cc:
  - call evex_drop_db_events() on DROP DATABASE
2006-02-16 00:43:11 +01:00
unknown
36017fce30 Bug #17414 ndb schema distribution functionality does not work on mysql servers without binlog 2006-02-16 00:30:56 +01:00
unknown
b87e0993f2 Merge bk-internal:/home/bk/mysql-5.1-new
into  mysql.com:/home/jimw/my/mysql-5.1-clean
2006-02-15 15:08:20 -08:00
unknown
3e17193aa3 Bug#16795 ndb_cache_multi2
- remove timing dependent part of test, wait until condition occurs or sleep max 10 seconds


mysql-test/r/ndb_cache_multi2.result:
  Update test results
mysql-test/t/ndb_cache_multi2.test:
  Convert long sleeps to a while leep whith small sleeps and a check if condition has occured.
  This allows slower machines to sleep longer if needed.
2006-02-15 22:46:16 +01:00
unknown
8c1c10dc20 Add possibility to have a negative expression in "if" and "while" in mysqltest
client/mysqltest.c:
  Extend 'do_block' to be able to process a !<expression>. 
  Making it possible to do 'if(!$i)' and 'while(!$i)'
mysql-test/r/mysqltest.result:
  Update test results
mysql-test/t/mysqltest.test:
  Add test for if
  Add test for while with ! expr
2006-02-15 22:43:42 +01:00
unknown
256d9e530c Merge bk-internal:/home/bk/mysql-5.1-new
into  mysql.com:/home/jimw/my/mysql-5.1-clean
2006-02-15 13:11:51 -08:00
unknown
8fd74f314b merging before test + push
mysql-test/r/events.result:
  Auto merged
mysql-test/t/events.test:
  Auto merged
sql/event.h:
  Auto merged
sql/event_timed.cc:
  manual merge
2006-02-15 21:51:57 +01:00
unknown
2d8e733dd3 Merge mysql.com:/home/jimw/my/mysql-5.0-clean
into  mysql.com:/home/jimw/my/mysql-5.1-clean


client/mysqltest.c:
  Auto merged
libmysql/libmysql.c:
  Auto merged
mysql-test/r/mysqltest.result:
  Auto merged
mysql-test/t/mysqltest.test:
  Auto merged
tests/mysql_client_test.c:
  Auto merged
BitKeeper/deleted/.del-ndb_load.result:
  Auto merged
BitKeeper/deleted/.del-ndb_load.test:
  Auto merged
mysql-test/t/disabled.def:
  Resolve conflict
2006-02-15 12:06:20 -08:00
unknown
90717a3b1d Merge mysql.com:/home/jimw/my/mysql-5.1-16782
into  mysql.com:/home/jimw/my/mysql-5.1-clean


sql/ha_partition.cc:
  Auto merged
mysql-test/r/partition.result:
  Resolve conflicts
mysql-test/t/partition.test:
  Resolve conflicts
2006-02-15 11:39:54 -08:00
unknown
59f2e885ce Merge mysql.com:/home/jimw/my/mysql-5.1-16775
into  mysql.com:/home/jimw/my/mysql-5.1-clean


sql/ha_partition.cc:
  Auto merged
mysql-test/r/partition.result:
  Resolve conflicts
mysql-test/t/partition.test:
  Resolve conflicts
2006-02-15 11:36:45 -08:00
unknown
44a2ccc152 Bug #16782: Partitions: crash, REPLACE .. on table with PK, DUPLICATE
KEY event. Partitioning wrongly claimed to be able to handle HA_DUPP_POS
when it was supported by the underlying storage engine, which resulted
in a crash when handling REPLACE statements.


mysql-test/r/partition.result:
  Add new results
mysql-test/t/partition.test:
  Add regression test
sql/ha_partition.cc:
  Fix list of table flags that are not passed through for partitioned
  tables, and add HA_DUPP_POS to that list. Also, handle HA_EXTRA_FLUSH_CACHE
  in ha_partition::extra().
2006-02-15 11:20:57 -08:00
unknown
751ca01452 Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into lmy004.:/work/mysql-5.1-bug17289
2006-02-15 18:32:49 +01:00
unknown
de0c65dd4e Fix bug #15706 find_field_in_tables() returns field from outer select
If item->cached_table is set, find_field_in_tables() returns found field
even if it doesn't belong to current select. Because Item_field::fix_fields
doesn't expect such behaviour, reported bug occurs.

Item_field::fix_fields() was modifed to detect when find_field_in_tables() 
can return field from outer select and process such fields accordingly.
In order to ease this code which was searching and processing outed fields was
moved into separate function called Item_field::fix_outer_field().


sql/item_subselect.h:
  Fixed bug #15706: find_field_in_tables() returns field from outer select
  Item_field::fix_outer_field() was marked as friend to Item_subselect class.
sql/item.h:
  Fixed bug #15706: find_field_in_tables() returns field from outer select
  fix_outer_field() function is added to the Item_field class.
sql/item.cc:
  Fixed bug #15706: find_field_in_tables() returns field from outer select
  
  Item_ref::fix_fields() and Item_field::fix_fields() were modifed to detect when
  find_field_in_tables() can return field from outer select and process such
  fields accordingly.
  In order to ease this, code Item_field::fix_fields() which was searching and
  processing outer fields was moved into separate function called
  Item_field::fix_outer_field().
  To the Item_field::fix_field() added a loop for finding context for found field.
mysql-test/t/disabled.def:
  Fixed bug #15706: find_field_in_tables() returns field from outer select
  Enable subselect test
2006-02-15 19:45:06 +03:00
unknown
4628da295f Additional tests for nested handlers added to sp.test.
A follow-up to BUG#15011 (already fixed).


mysql-test/r/sp.result:
  Updated results for new handler tests.
mysql-test/t/sp.test:
  Additional tests for nested handlers.
2006-02-15 17:28:34 +01:00
unknown
85d0e38396 Bug#17386 binlog interchangably contains engine= and type=
- Update result file and enable test


mysql-test/r/binlog_row_mix_innodb_myisam.result:
  Update resultfile, when switching from type to engine, the log position needs to be increased by two after that statement.
mysql-test/t/disabled.def:
  Enable test
2006-02-15 17:19:40 +01:00
unknown
2557f80fd1 fix for bug#16410 (Events: CREATE EVENT is legal in a CREATE TRIGGER statement)
WL#1034 (Internal CRON)
(post-post-review updates)



mysql-test/r/events.result:
  update results file
mysql-test/t/events.test:
  add test for Bug #16410  Events: CREATE EVENT is legal in a CREATE TRIGGER statement
sql/sp_head.cc:
  CREATE/ALTER/DROP event mean explicit commit, so they are not allowed in
  a FUNCTION/TRIGGER. Fixes bug#16410
sql/sql_parse.cc:
  - end active transaction for CREATE/ALTER/DROP EVENT because
    they are DDL statements.
2006-02-15 17:12:27 +01:00
unknown
79258e4480 Bug#17261 Passing a variable from a stored procedure to UDF crashes mysqld
- Pass "buffers[i]" to val_str() in udf_handler::fix_fields insteead of NULL.
 - Add testcase for UDF that will load and run the udf_example functions 
   if available


sql/item_func.cc:
  Instead of passing a NULL pointer into val_str, use the "buffers" array to provide a temp string buffer.
sql/udf_example.cc:
  Spelling error"on"->"one"
mysql-test/include/have_udf.inc:
  New BitKeeper file ``mysql-test/include/have_udf.inc''
mysql-test/r/have_udf.require:
  New BitKeeper file ``mysql-test/r/have_udf.require''
mysql-test/r/udf.result:
  New BitKeeper file ``mysql-test/r/udf.result''
mysql-test/t/udf.test:
  New BitKeeper file ``mysql-test/t/udf.test''
2006-02-15 17:11:24 +01:00
unknown
098ae02afa Merge baker@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  zim.tangent.org:/home/brian/mysql/archive-5.1
2006-02-15 06:16:10 -08:00
unknown
2dbded803f Merge jmiller@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/home/ndbdev/jmiller/clones/mysql-5.1-new


mysql-test/r/rpl_trigger.result:
  Auto merged
mysql-test/t/disabled.def:
  Auto merged
mysql-test/t/rpl_trigger.test:
  Auto merged
2006-02-15 14:36:31 +01:00
unknown
79765df944 Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into lmy004.:/work/mysql-5.1-bug17289
2006-02-15 14:35:19 +01:00
unknown
48b224fa18 Bug#17360 sp-code test case broken
- Change 94 to 95 according to Pem's instructions in bug report.


mysql-test/r/sp-code.result:
  Update from 94 to 95 according to Pem's instructions
mysql-test/t/disabled.def:
  Enable sp-code test case
2006-02-15 14:12:36 +01:00
unknown
9b9f940608 Second submission of this test case. First one was lost and test had to be recreated from first bk commit. Test current produces core due to Bug #17045
mysql-test/t/ndb_dd_backuprestore.test:
  Recovered new CDD test
mysql-test/r/ndb_dd_backuprestore.result:
  Results will need to be recreated once bug #17045 is patched
mysql-test/t/disabled.def:
  Added ndb_dd_backuprestore
2006-02-15 14:08:48 +01:00
unknown
73bf3f02fb Test updates
mysql-test/t/rpl_ndb_delete_nowhere.test:
  new wrapper for NDB engine
mysql-test/r/rpl_ndb_delete_nowhere.result:
  new reults file
mysql-test/t/disabled.def:
  Added test to be diabled
mysql-test/t/rpl_delete_no_where.test:
  Fix typo
mysql-test/t/rpl_EE_err.test:
  Updated wrapper
mysql-test/extra/rpl_tests/rpl_trig004.test:
  Updated
mysql-test/t/rpl_row_trig004.test:
  Updated
mysql-test/r/rpl_row_trig004.result:
  Updated
mysql-test/t/rpl_ndb_trig004.test:
  New wrapper for ndb
mysql-test/r/rpl_ndb_trig004.result:
  New result
2006-02-15 14:02:47 +01:00
unknown
7f02b0a01b Fixed BUG#16887: Cursor causes server segfault
The problem was a code generation bug: cpop instructions were not generated
  when using ITERATE back to an outer block from a context with a declared
  cursor; this would make it push a new cursor without popping in-between,
  eventually overrunning the cursor stack with a crash as the result.
  Fixed the calculation of how many cursors to pop (in sp_pcontext.cc:
  diff_cursors()), and also corrected diff_cursors() and diff_handlers()
  to when doing a "leave"; don't include the last context we're leaving
  (we are then jumping to the appropriate pop instructions).


mysql-test/r/sp.result:
  Updated result for new test case (BUG#16887)
mysql-test/t/sp.test:
  New test case for BUG#16887
sql/sp_pcontext.cc:
  Added new parameter to sp_pcontext::diff_handlers() and diff_cursors():
  They can either include (for iterate jumps) or exclude (for leave jumps)
  the outer context.
  Fixed bug in diff_cursors(); it was just plain wrong and would return
  zero in some situations when it shouldn't.
sql/sp_pcontext.h:
  Added new parameter to sp_pcontext::diff_handlers() and diff_cursors():
  They can either include (for iterate jumps) or exclude (for leave jumps)
  the outer context.
sql/sql_yacc.yy:
  Added parameter to diff_handlers/diff_cursors depending on if it's an
  iterate or leave jump.
  For "leave", we don't have to include the last context we're leaving since
  we will jump to the appropriate pop instructions.
2006-02-15 12:11:29 +01:00
unknown
02091fd59b Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0
2006-02-15 12:02:20 +01:00
unknown
aa796cab7d Fix for bug#16907 Partitions: crash, SELECT goes into last partition, UNIQUE INDEX
In presense of subpartitioning use get_part_partition_id() to calculate part_id
2006-02-15 14:34:51 +04:00
unknown
c49c9645e9 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0
2006-02-15 10:53:25 +01:00
unknown
76374fe564 Fix for bug#16901 Partitions: crash, SELECT, column of part. function=first column of primary key
use part_info->no_subparts to calculate partition range in case of subpartitions


mysql-test/r/partition.result:
  Fix for bug#16901 Partitions: crash, SELECT, column of part. function=first column of primary key
    test case
mysql-test/t/partition.test:
  Fix for bug#16901 Partitions: crash, SELECT, column of part. function=first column of primary key
    test case
2006-02-15 13:42:43 +04:00
unknown
dac63fb8d2 This patch adds a new field to the meta file for tracking flushes (this is being kept to later do stats and determine how often the compression buffer is being foiled). This should keep things all nice an compatible between versions.
Also added a flush table test as well. Found one possible bug in OPTIMIZE TABLE which has never been reported, but I think it would be possible on a file system that ran out of disk.


mysql-test/r/archive.result:
  New results
mysql-test/t/archive.test:
  Added test for flush tables, which will also let me confirm DELAYED INSERT.
sql/ha_archive.cc:
  Adding new stat
sql/ha_archive.h:
  Just extending SHARE
2006-02-15 00:59:24 -08:00
unknown
67c719fa74 Merge mysql.com:/home/elkin/MySQL/BARE/5.1-new
into  mysql.com:/home/elkin/MySQL/MERGE/5.1-new
2006-02-15 03:24:07 +02:00
unknown
843ad8bbab Merge baker@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  zim.tangent.org:/home/brian/mysql/cleanup-5.1
2006-02-14 16:20:06 -08:00
unknown
7562e49043 Merge aelkin@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/usr_rh9/home/elkin.rh9/MySQL/Merge/5.1-new
2006-02-14 22:02:42 +02:00
unknown
ee1b893f99 manual merge
mysql-test/t/events.test:
  Auto merged
2006-02-14 20:27:42 +01:00
unknown
99526f2efb post-merge fixes of bug 16548
mysql-test/r/events.result:
  post-merge fixes
mysql-test/t/events.test:
  post-merge fixes
sql/event.cc:
  post-merge fixes
sql/share/errmsg.txt:
  post-merge fixes
sql/table.cc:
  post-merge fixes
2006-02-14 20:10:51 +01:00
unknown
65c9d74275 Merge aelkin@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/usr_rh9/home/elkin.rh9/MySQL/Merge/5.1-new
2006-02-14 20:51:08 +02:00
unknown
85305ce79c Merge mysql.com:/usr_rh9/home/elkin.rh9/MySQL/Merge/5.0
into  mysql.com:/usr_rh9/home/elkin.rh9/MySQL/Merge/5.1-new


BitKeeper/deleted/.del-ctype_ucs_binlog.result~280d136b1a0bcf17:
  Auto merged
mysql-test/r/user_var-binlog.result:
  Auto merged
mysql-test/t/mysql.test:
  Auto merged
mysql-test/t/mysqlbinlog.test:
  Auto merged
mysql-test/t/rpl_trigger.test:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
mysql-test/r/rpl_stm_charset.result:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
mysql-test/r/rpl_timezone.result:
  manual merge use local. Result file has to be refined according to changes brought in
  to the test.
2006-02-14 20:48:34 +02:00
unknown
3c310141ba Added --silent option andd just test results via select. This will keep down the appearance of non deterministic responses.
This is for bug#17384


mysql-test/r/mysqldump.result:
  Changed result
mysql-test/t/disabled.def:
  Re-enable after fixing bugs
mysql-test/t/mysqldump.test:
  Added silent option
2006-02-14 10:46:46 -08:00
unknown
1161b5213d Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into lmy004.:/work/mysql-5.1-bug17289


mysql-test/r/events.result:
  Auto merged
mysql-test/t/events.test:
  Auto merged
sql/event.h:
  Auto merged
sql/event_executor.cc:
  Auto merged
sql/event_timed.cc:
  Auto merged
2006-02-14 19:44:10 +01:00
unknown
7b9223fcc1 Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into lmy004.:/work/mysql-5.1-bug16548
2006-02-14 19:33:18 +01:00
unknown
86c920ba77 Merge mysql.com:/usr_rh9/home/elkin.rh9/MySQL/BARE/mysql-5.0
into  mysql.com:/usr_rh9/home/elkin.rh9/MySQL/Merge/5.0
2006-02-14 20:19:00 +02:00
unknown
b79df79b95 Merge aelkin@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/usr_rh9/home/elkin.rh9/MySQL/BARE/mysql-5.0
2006-02-14 20:15:17 +02:00
unknown
b07392692c Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into lmy004.:/work/mysql-5.1-bug17289
2006-02-14 17:54:03 +01:00
unknown
56d00512c6 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0
into moonbone.local:/work/16272-bug-5.0-mysql
2006-02-14 19:46:35 +03:00
unknown
6753b5fded disabled a bunch of tests with reference to bugreporsts to cleanup push-build 2006-02-14 17:40:05 +01:00
unknown
a3a5288449 Merge neptunus.(none):/home/msvensson/mysql/bug17233/my50-bug17233
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0
2006-02-14 17:25:44 +01:00
unknown
4b114615cf Enable ndb_load test case
mysql-test/t/disabled.def:
  Enable test case
2006-02-14 17:21:18 +01:00
unknown
1a9c96c58c Change from std_data to std_data_ln 2006-02-14 17:15:24 +01:00
unknown
752cadd453 manual merge
mysql-test/r/events.result:
  Auto merged
mysql-test/t/events.test:
  Auto merged
sql/event.h:
  Auto merged
sql/event_executor.cc:
  Auto merged
sql/event_timed.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_acl.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/table.cc:
  Auto merged
sql/table.h:
  Auto merged
2006-02-14 17:05:36 +01:00
unknown
8d4f74be2d - final fixes for bug#16431 (Events: An event which alters itself disappears)
- fix for bug#16423 (Events: SHOW CREATE EVENT doesn't work)
- this Changeset commits makes CREATE/UPDATE/DELETE EVENT real DDL statements
  by committing the currently open transaction before they are executed.
- this Changeset also fixes a trailing space problem since the very early days
  of the internal cron
- adds sophisticated checking of whether mysql.event was tampered accidentally
  or with purpose by an user.
- adds a lot of inline function documentation - documents everything left
  uncodumented
- INTERVAL_XXXX to XXX in I_S.EVENTS.INTERVAL_FIELD

WL#1034 (Internal CRON)


mysql-test/r/events.result:
  update result
mysql-test/t/events.test:
  add test cases for SHOW CREATE EVENT
  add test cases where the structure of mysql.event is changed and error reporting in this case
sql/event.cc:
  - do a lot more checking on mysql.event whether it's valid
    introduced generic function table_check_intact() which can be used also
    for checking whether a system table (mysql.*) has been tampered by user
    and report an error in this case. The checking is quite strict, thus
    maybe some mechanism can be added later that loosens this like some
    session variable, for instance, i_am_aware_that_i_can_damage_my_data
    so the table will be opened nevertheless we think that it's not valid.
  - add evex_show_create_event(THD *thd, sp_name *spn, LEX_STRING definer)
  - document a loooot. not a single function left undocumented.
sql/event.h:
  - add evex_show_create_event(THD *thd, sp_name *spn, LEX_STRING definer)
  - change get_show_create_event() to get_create_event()
  - add TABLE_FIELD_W_TYPE used by table_check_intact()
  - add event_timed::sql_mode so it can be used by show create event. currently
    always 0, will be fixed by a patch for another bug. At least makes the code
    of show create event complete.
sql/event_executor.cc:
  - add evex_check_system_tables() that checks on boot and event
    main thread startup that mysql.db and mysql.user tables are correct.
  - document everything!
sql/event_priv.h:
  remove a line
sql/event_timed.cc:
  - implement SHOW CREATE EVENT
  - document undocumented functions!
sql/share/errmsg.txt:
  - fix an error message and add two new
sql/sql_acl.cc:
  - add mysql.db table definition to use by table_check_intact()
  - exchange some of the positions by numbers from mysql.db to enum names (see sql_acl.h)
sql/sql_acl.h:
  - define the structure of mysql.db table
sql/sql_parse.cc:
  - handle SQLCOM_SHOW_CREATE_EVENT
  - end the current transaction becase CREATE/UPDATE/DELETE EVENT is a DDL
    statement
sql/sql_show.cc:
  - remove interval_type_to_name
  - use common function event_reconstruct_interval_expression()
    that reconstructs the expression given at create/alter, to some
    extent - interval of 2:62 MINUTE_SECOND will be reconstructed as
    interval of 3:02 MINUTE_SECOND!
sql/sql_yacc.yy:
  init the definer of event_timed also when doing SHOW CREATE EVENT
  because it's needed for checking into mysql.event
sql/table.cc:
  - remove stale code. only mysql.event should be a 'system_table'
  - add table_check_intact() to check the consistency of a table.
    mostly usable with mysql.xxx tables.
sql/table.h:
  - export TABLE_FIELD_W_TYPE and table_check_intact() which are used for 
    checking the structure of a table. mostly usable for mysql.xxx tables.
2006-02-14 16:20:48 +01:00