Commit graph

14868 commits

Author SHA1 Message Date
unknown
c86dcfd9e3 Invalidate table including all it's indexes from binlog thread 2006-02-17 09:44:12 +01:00
unknown
53cf5e6000 Merging 5.0->5.1
include/myisam.h:
  Auto merged
sql/handler.h:
  Auto merged
sql/lex.h:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
include/my_base.h:
  merging
scripts/Makefile.am:
  merging
sql/handler.cc:
  merging
sql/share/errmsg.txt:
  merging
sql/sql_yacc.yy:
  merging
2006-02-17 11:26:03 +04:00
unknown
96b4449370 Merge bk@192.168.21.1:mysql-5.0
into mysql.com:/home/hf/work/mysql-5.0.w2645


sql/sql_table.cc:
  Auto merged
2006-02-17 10:56:54 +04:00
unknown
bf84040458 WL#2645 (CHECK TABLE FOR UPGRADE)
necessary implementation in the server
mysql_upgrade script added


client/mysqlcheck.c:
  --check-upgrade option added
include/my_base.h:
  errcode added
include/myisam.h:
  option added
scripts/Makefile.am:
  mysql_upgrade script added
sql/handler.cc:
  checks for old types/bugs added
sql/handler.h:
  declarations regarding checks for upgrade
sql/lex.h:
  sym added
sql/share/errmsg.txt:
  error message added
sql/slave.cc:
  now ha_repair is for public use
sql/sql_table.cc:
  upgrade in ha_repair implemented
sql/sql_yacc.yy:
  CHECK ... FOR UPGRADE added to syntax
2006-02-17 10:52:32 +04:00
unknown
fc5f022ee1 BUG# 15408 Partitions: subpartition names are not unique
THis patch goes along with 1.2098.23.1 to form the complete patch


libmysqld/Makefile.am:
  added partition_info.cpp   to libmysqld sources
sql/ha_ndbcluster.cc:
  using the new member versions of these
sql/sql_partition.cc:
  using the member version of is_sub_partitioned
2006-02-16 15:02:44 -06:00
unknown
7a7c1f7983 Merge
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
mysql-test/t/disabled.def:
  SCCS merged
2006-02-16 21:11:38 +03:00
unknown
4b30ed55bd moved prune_partition_set decl from handler.h to sql_partition.h during merge
cleaned up some files from the partition code move


sql/Makefile.am:
  break the long line onto the next line
sql/partition_info.cpp:
  remove some old comments left behind
sql/sql_partition.h:
  Moved from handler.h during merge
2006-02-16 12:01:14 -06:00
unknown
8270eb50e4 Merge reggie@192.168.0.9:/home/reggie/work/mysql-5.1-bug15408
into  big_geek.:C:/Work/mysql/mysql-5.1-bug15408


sql/ha_partition.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/sql_partition.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/handler.h:
  merging changes into my partition code reorg
2006-02-16 11:07:21 -06:00
unknown
d047fe77b7 BUG#15408: Partitions: subpartition names are not unique
Also, moved some of the code out of handler.h and into partition specific files for better 
separation.
Also, moved some of the C funcs into partition_info as formal C++ methods


mysql-test/r/partition_mgm_err.result:
  result block for test of bug # 15408
mysql-test/t/partition_mgm_err.test:
  test for duplicate subpartition names
sql/Makefile.am:
  adding sql_partition.h, partition_info.cpp, partition_info.h, and partition_element.h to the makefile
sql/ha_partition.cc:
  using the new members of partition_info
sql/ha_partition.h:
  using the new members of partition_info
sql/handler.h:
  moved this code into sql_partition.h
sql/mysql_priv.h:
  including sql_partition.h also now
sql/opt_range.cc:
  using the new members of partition_info
sql/sql_partition.cc:
  moved some of the functions out and into the partition_info class
  using the new members of partition_info
sql/sql_show.cc:
  using the new members of partition_info
win/cmakefiles/sql:
  added partition_info.cpp to the sql cmake file
sql/partition_element.h:
  New BitKeeper file ``sql/partition_element.h''
sql/partition_info.h:
  New BitKeeper file ``sql/partition_info.h''
sql/sql_partition.h:
  New BitKeeper file ``sql/sql_partition.h''
2006-02-16 10:38:33 -06:00
unknown
ed8b745909 Merge pnousiainen@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/space/pekka/ndb/version/my51
2006-02-16 17:27:47 +01:00
unknown
22b4ced45e Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  poseidon.ndb.mysql.com:/home/tomas/mysql-5.1-new
2006-02-16 17:27:46 +01:00
unknown
931f4d74bb Bug #17459 Cluster row based replication not setup if backup is ongoing
- also accept setting up binlog for tables in stateBackup
2006-02-16 17:25:28 +01:00
unknown
0deff29c05 Bug #17169: Partitions: out of memory if add partition and unique.
When creating a new partition, a bogus memory allocation problem was
reported.


mysql-test/r/partition.result:
  Add new results
mysql-test/t/partition.test:
  Add new regression test
sql/sql_table.cc:
  Fix inverted tests that caused mysql_copy_key_list() to not work at all,
  remove a forward declaration for a function that does not exist, and fix
  a debug message.
2006-02-16 08:15:36 -08:00
unknown
f39aca3f86 fix for bug#17543 Creating Event crash the server
this problem affects only debug builds


mysql-test/r/events.result:
  update results
mysql-test/t/events.test:
  tests for bug#17543 Creating Event crash the server
sql/event_timed.cc:
  the delimiter between DO and the body could be not only a space
  but any other recognized white space, so use proper macro.
2006-02-16 16:11:02 +01:00
unknown
e0cbeea11f ndb - wl#3023 : pass tables per GCI to injector at epoch start
sql/ha_ndbcluster_binlog.cc:
  use_table at beginning of epoch
storage/ndb/include/ndbapi/Ndb.hpp:
  getGCIEventOperations: return distinct event ops at epoch start
storage/ndb/src/ndbapi/Ndb.cpp:
  getGCIEventOperations: return distinct event ops at epoch start
storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp:
  getGCIEventOperations: return distinct event ops at epoch start
storage/ndb/src/ndbapi/NdbEventOperationImpl.hpp:
  getGCIEventOperations: return distinct event ops at epoch start
2006-02-16 14:54:30 +01:00
unknown
b1249dd8d7 Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into lmy004.:/work/mysql-5.1-bug16406


sql/sql_show.cc:
  Auto merged
2006-02-16 14:53:36 +01:00
unknown
42f8c2d2ea Merge aivanov@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/home/alexi/dev/mysql-5.1-wl3148


sql/sql_show.cc:
  Auto merged
sql/table.h:
  Auto merged
2006-02-16 16:53:34 +03:00
unknown
99ea15c93f The patch adds PROCESSLIST information schema
mysql-test/r/information_schema.result:
  Fixing results after PROCESSLIST information schema is added.
mysql-test/r/information_schema_db.result:
  Fixing results after PROCESSLIST information schema is added.
mysql-test/t/information_schema.test:
  Test case to check PROCESSLIST information schema.
    (Note that selecting other fields from PROCESSLIST
    can make the test unstable).
sql/sql_show.cc:
  Code for PROCESSLIST information schema
sql/table.h:
  Added for PROCESSLIST informarion schema
2006-02-16 16:45:05 +03:00
unknown
50c1d251e8 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into  mysql.com:/home/dlenev/src/mysql-5.0-bg16593


sql/sql_base.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
2006-02-16 16:22:53 +03:00
unknown
e1c8d9c9b4 Fix for bug #16593 "Deadlock or crash in stress test for case where
trigger starts trigger".

In short, the deadlock/crash happened when execution of statement, which used
stored functions or activated triggers, coincided with alteration of the
tables used by these functions or triggers (in highly concurrent environment).

Bug was caused by the incorrect handling of tables from prelocked set in
open_tables() functions in situations when refresh happened. This fix replaces
old smart but not very robust way of handling tables after refresh (which was
closing only old tables), with new one which simply closes all tables opened so
far and restarts open_tables().
Also fixed handling of temporary tables in close_tables_for_reopen().

No test case present since bug manifests itself only in concurrent environment.


sql/mysql_priv.h:
  In order to handle correctly case when table list completely consists from tables
  from prelocked set close_tables_for_reopen() have to accept table list as in/out
  parameter.
sql/sql_base.cc:
  open_tables():
    Removed part of comment  which was out of date.
    Changed handling of case when refresh happens during opening of tables, now
    instead of having code which decides for each table if it should be closed
    we simply close all tables. Old code also incorrectly handled tables from
    prelocked set in this situation which resulted in bug #16593 "Deadlock or
    crash in stress test for case where triggers starting trigger".
  close_tables_for_reopen():
    Now we correctly handle the case when table list completely consists from
    tables from prelocked set. Also now we simply close all tables instead
    leaving temporary tables non-closed (such approach allows easily handle
    correctly tables from prelocked set).
sql/sql_prepare.cc:
  In order to handle correctly case when table list completely consists from tables
  from prelocked set close_tables_for_reopen() have to accept table list as in/out
  parameter.
sql/sql_update.cc:
  In order to handle correctly case when table list completely consists from tables
  from prelocked set close_tables_for_reopen() have to accept table list as in/out
  parameter.
2006-02-16 16:19:24 +03:00
unknown
c80a0d7171 fix bug in show events which shows
| INTERVAL_VALUE | INTERVAL_FIELD |
| 20             | 20 MINUTE      |
the second one should be without the value


mysql-test/r/events.result:
  update test result to be as they should be
sql/event_timed.cc:
  manually append the name of the interval because it's no more appended
  by reconstruct_value
2006-02-16 13:11:16 +01:00
unknown
b4b64a5be6 Merge neptunus.(none):/home/msvensson/mysql/bug2845/my50-bug2845
into  neptunus.(none):/home/msvensson/mysql/bug2845/my51-bug2845


mysql-test/t/wait_timeout.test:
  Auto merged
2006-02-16 12:10:40 +01:00
unknown
d430e2474f Bug#2845 client fails to reconnect if using TCP/IP
- Detect that connection to server has been broken in "net_clear". Since 
  net_clear is always called before we send command to server, we can be sure
  that server has not received the command.


mysql-test/r/wait_timeout.result:
  Update test result
mysql-test/t/wait_timeout-master.opt:
  Decrease wait_timeout value to avoid unneccessary sleeps
mysql-test/t/wait_timeout.test:
  Test that same error message is returned when disconnected regardless of connection is socket or TCP
  Decrease sleep times
sql/net_serv.cc:
  Make "net_clear" detect if connection with server has been broken by 
  performing a select. If the select returns that there are data to read but
  no data can be read, that means the connection is broken. Signal disconnected
  to "write" functions by setting error to 2.
2006-02-16 12:02:38 +01:00
unknown
12e660e8df Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.1-new-ndb_improved_on-line_discover
into  mysql.com:/usr/local/home/marty/MySQL/mysql-5.1-new-ndb_improved_on-line_discover


sql/ha_ndbcluster.cc:
  Auto merged
sql/ha_ndbcluster.h:
  Auto merged
storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp:
  Auto merged
sql/ha_ndbcluster_binlog.cc:
  Merge
2006-02-16 10:15:44 +01:00
unknown
9e34838372 Improvement of on-line discovery in injector thread 2006-02-16 10:07:31 +01:00
unknown
4ecc62881f Merge mysql.com:/home/mydev/mysql-5.0
into  mysql.com:/home/mydev/mysql-5.0-bug8841


mysql-test/r/innodb.result:
  Auto merged
mysql-test/r/myisam.result:
  Auto merged
2006-02-16 08:59:55 +01:00
unknown
b67174961c Merge mysql.com:/home/mydev/mysql-5.1
into  mysql.com:/home/mydev/mysql-5.1-bug8841
2006-02-16 07:01:15 +01:00
unknown
7141bfd049 Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into lmy004.:/work/mysql-5.1-bug16406
2006-02-16 05:23:04 +01:00
unknown
89f598eea9 small post-merge fixes for bug#16406
(pre-push)


mysql-test/r/events.result:
  update result
mysql-test/t/events.test:
  few more tests
sql/event.cc:
  fix compilation failure after big merge
sql/event.h:
  initialize s_ctx to be the context to be used.
  don't use sphead->m_security_ctx but we will copy 
  the initted ctx to there
sql/event_timed.cc:
  -initialize s_ctx to be the context to be used.
  don't use sphead->m_security_ctx but we will copy 
  the initted ctx to there
  
  - first init the context
  - then compile the event
  - and then copy the context
  - don't use mysql_change_db() for now change_security_context() gets the
    right context info
2006-02-16 05:21:02 +01:00
unknown
bd24b49eff Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  poseidon.ndb.mysql.com:/home/tomas/mysql-5.1-new


sql/ha_ndbcluster.cc:
  Auto merged
sql/ha_ndbcluster_binlog.cc:
  Auto merged
2006-02-16 03:24:55 +01:00
unknown
6c2b561309 Bug #17415 special character tables are not handled correctly in ndb binlog/schema dist 2006-02-16 03:23:43 +01:00
unknown
51e1a5f810 Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into lmy004.:/work/mysql-5.1-bug16406
2006-02-16 02:13:37 +01:00
unknown
74b2989dc4 merge
mysql-test/r/events.result:
  Auto merged
mysql-test/t/events.test:
  Auto merged
sql/event_priv.h:
  Auto merged
sql/sql_db.cc:
  Auto merged
sql/event.cc:
  manual merge
sql/event.h:
  manual merge
sql/event_executor.cc:
  manual merge
sql/event_timed.cc:
  manual merge
2006-02-16 01:27:36 +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
ea8a26c6f3 build fixes
sql/event.cc:
  - make this not unsigned. gcc complains
sql/event_timed.cc:
  acl_getroot_no_password() is not there in libmysqld, disable it's usage
  in this case.
sql/set_var.cc:
  fix for the broken build of Serg. gcc seems to be pretty happy without
  the return and returns the value of the last statement
2006-02-15 23:43:11 +01:00
unknown
4e2b90b124 more cosmetic before push of fix for bug#17289
sql/event_timed.cc:
  - fix comment
  - use mysql_change_db() this will check for us
2006-02-15 22:32:25 +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
78bec85350 Merge mysql.com:/home/mydev/mysql-5.1
into  mysql.com:/home/mydev/mysql-5.1-bug8841
2006-02-15 21:54:01 +01: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
c6e5c2bcfb cosmetic post-review changes
mysql-test/r/events.result:
  result fixed
sql/event_executor.cc:
  cosmetic changes to show the definer of the event
2006-02-15 21:40:38 +01:00
unknown
5a888df68b Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into lmy004.:/work/mysql-5.1-bug16410
2006-02-15 21:32:58 +01:00
unknown
700ff43985 Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into lmy004.:/work/mysql-5.1-bug16410
2006-02-15 21:26:33 +01:00
unknown
007df6e0c2 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new
into serg.mylan:/usr/home/serg/Abk/mysql-5.1
2006-02-15 21:25:31 +01:00
unknown
517f29032f Item_case_expr::type() cannot be called without fix_fields() :( 2006-02-15 21:22:53 +01: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
9d5bf35d6a Fix the coding style in a few new files. 2006-02-15 21:08:44 +03:00