Commit graph

244 commits

Author SHA1 Message Date
Alfranio Correia
2fb387b084 BUG#50479 DDL stmt on row-only/stmt-only tables generate spurious binlog_format
errors
            
In the fix of BUG#39934 in 5.1-rep+3, errors are generated when
binlog_format=row and a statement modifies a table restricted to
statement-logging (ER_BINLOG_ROW_MODE_AND_STMT_ENGINE); or if
binlog_format=statement and a statement modifies a table restricted to
row-logging (ER_BINLOG_STMT_MODE_AND_ROW_ENGINE).
            
However, some DDL statements that lock tables (e.g. ALTER TABLE,
CREATE INDEX and CREATE TRIGGER) were causing spurious errors,
although no row might be inserted into the binary log.
            
To fix the problem, we tagged statements that may generate
rows into the binary log and thence the warning messages are
only printed out when the appropriate conditions hold and rows
might be changed.

sql/log_event.cc:
  Reorganized the Query_log_event's constructor based on the
  CF_CAN_GENERATE_ROW_EVENTS flag and as such any statement
  that has the associated flag should go through a cache
  before being written to the binary log.
sql/share/errmsg-utf8.txt:
  Improved the error message ER_BINLOG_UNSAFE_MIXED_STATEMENT according to Paul's
  suggestion.
sql/sql_class.cc:
  Created a hook to be used by innodb that checks if a statement
  may write rows to the binary log. In other words, if it has
  the CF_CAN_GENERATE_ROW_EVENTS flag associated.
sql/sql_class.h:
  Defined the CF_CAN_GENERATE_ROW_EVENTS flag.
sql/sql_parse.cc:
  Updated the sql_command_flags and added a function to check the 
  CF_CAN_GENERATE_ROW_EVENTS.
sql/sql_parse.h:
  Added a function to check the CF_CAN_GENERATE_ROW_EVENTS.
storage/innobase/handler/ha_innodb.cc:
  Added a call to the hook thd_generates_rows().
storage/innobase/handler/ha_innodb.h:
  Defined an external reference to the hook thd_generates_rows().
2010-06-02 00:25:08 +01:00
Jimmy Yang
52a7c91984 Fix an assertion failure with UNIV_DEBUG is set. Initialize a
dict_index_t structure to NULL in dict_load_index(), we could
enter SYS_INDEXES and got table id value comparision failure
for system tables such as SYS_TABLES. In addition, remove
dict_sys mutex assertion when fill I_S table, as we no longer
hold mutex accross the fill operation.

rb://367 approved by Marko.
2010-05-27 04:15:54 -07:00
Jimmy Yang
60d4288272 Check in the support for Information Schema System Table Views. Users
can now view the content of InnoDB System Tables through following
information schema tables:

information_schema.INNODB_SYS_TABLES
information_schema.INNODB_SYS_INDEXES
information_schema.INNODB_SYS_COUMNS
information_schema.INNODB_SYS_FIELDS
information_schema.INNODB_SYS_FOREIGN
information_schema.INNODB_SYS_FOREIGN_COLS
information_schema.INNODB_SYS_TABLESTATS

rb://330 Approved by Marko
2010-05-25 18:44:33 -07:00
Marko Mäkelä
b6fa4b1194 Merge from mysql-5.1-innodb:
Post-merge fixes: Remove the MYSQL_VERSION_ID checks, because they only
apply to the InnoDB Plugin. Fix potential race condition accessing
trx->op_info and trx->detailed_error.
------------------------------------------------------------
revno: 3466
revision-id: marko.makela@oracle.com-20100514130815-ym7j7cfu88ro6km4
parent: marko.makela@oracle.com-20100514130228-n3n42nw7ht78k0wn
committer: Marko Mäkelä <marko.makela@oracle.com>
branch nick: mysql-5.1-innodb2
timestamp: Fri 2010-05-14 16:08:15 +0300
message:
  Make the InnoDB FOREIGN KEY parser understand multi-statements. (Bug #48024)
  Also make InnoDB thinks that /*/ only starts a comment. (Bug #53644).

  This fixes the bugs in the InnoDB Plugin.

  ha_innodb.h: Use trx_query_string() instead of trx_query() when
  available (MySQL 5.1.42 or later).

  innobase_get_stmt(): New function, to retrieve the currently running
  SQL statement.

  struct trx_struct: Remove mysql_query_str. Use innobase_get_stmt() instead.

  dict_strip_comments(): Add and observe the parameter sql_length. Treat
  /*/ as the start of a comment.

  dict_create_foreign_constraints(), row_table_add_foreign_constraints():
  Add the parameter sql_length.
2010-05-14 16:31:44 +03:00
Jimmy Yang
efc32dcf3f Check in patch for bug #53336, Improved InnoDB Transaction Reporting.
rb://335, Approved by Sunny Bains
2010-05-12 08:39:45 -07:00
Marko Mäkelä
f8b9bb194d Merge from mysql-5.1-innodb:
------------------------------------------------------------
  revno: 3462
  revision-id: marko.makela@oracle.com-20100512104212-e2h9n1obxjb8tfg4
  parent: marko.makela@oracle.com-20100512060922-oh716ugpukfakwvh
  committer: Marko Mäkelä <marko.makela@oracle.com>
  branch nick: mysql-5.1-innodb
  timestamp: Wed 2010-05-12 13:42:12 +0300
  message:
    ha_innobase::add_index(): Reset trx->error_state in error handling.
    (Bug #53591)
2010-05-12 14:19:26 +03:00
Vasil Dimov
a25ea4220f Merge mysql-trunk into mysql-trunk-innodb 2010-05-11 14:29:58 +03:00
Jimmy Yang
00196be73a Fix bug #53165, Setting innodb_change_buffering=DEFAULT produces incorrect result.
rb://295 approved by Marko
2010-05-04 08:25:56 -07:00
Vasil Dimov
8d07cec06c Followup to vasil.dimov@oracle.com-20100504104629-0ovtc5lae2ghn7he :
Remove analyze_mutex_key now that this mutex does not exist.
2010-05-04 14:45:34 +03:00
Vasil Dimov
4b2c8e2651 Merge from mysql-5.1-innodb:
------------------------------------------------------------
  revno: 3431
  revision-id: mmakela@bk-internal.mysql.com-20100429132743-8rjjgoqbvddr2i5x
  parent: vasil.dimov@oracle.com-20100428103452-6btsq4xv6v1etb5b
  committer: Marko Makela <mmakela@bk-internal.mysql.com>
  branch nick: mysql-5.1-innodb
  timestamp: Thu 2010-04-29 15:27:43 +0200
  message:
    Reduce the next-key locking of READ UNCOMMITTED to match that of
    READ COMMITTED in the InnoDB Plugin. (Bug #48607)
  modified:
    storage/innodb_plugin/ChangeLog 2425@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2FChangeLog
    storage/innodb_plugin/handler/ha_innodb.cc 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fhandler%2Fha_innodb.cc
    storage/innodb_plugin/lock/lock0lock.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Flock%2Flock0lock.c
    storage/innodb_plugin/row/row0mysql.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Frow%2Frow0mysql.c
    storage/innodb_plugin/row/row0sel.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Frow%2Frow0sel.c
  ------------------------------------------------------------
2010-05-04 13:52:14 +03:00
Vasil Dimov
32aef81ec4 Merge from mysql-5.1-innodb:
------------------------------------------------------------
  revno: 3430
  revision-id: vasil.dimov@oracle.com-20100428103452-6btsq4xv6v1etb5b
  parent: vasil.dimov@oracle.com-20100428103200-vs5nzx245sv2qy7n
  committer: Vasil Dimov <vasil.dimov@oracle.com>
  branch nick: mysql-5.1-innodb
  timestamp: Wed 2010-04-28 13:34:52 +0300
  message:
    Bug#53046 dict_update_statistics_low can still be run concurrently
    on same table
    
    Followup to vasil.dimov@oracle.com-20100428102033-dt3caf531rs3lidr :
    
    Add more asserions, which I forgot.
  modified:
    storage/innodb_plugin/dict/dict0dict.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fdict%2Fdict0dict.c
  ------------------------------------------------------------
  revno: 3429
  revision-id: vasil.dimov@oracle.com-20100428103200-vs5nzx245sv2qy7n
  parent: vasil.dimov@oracle.com-20100428102033-dt3caf531rs3lidr
  committer: Vasil Dimov <vasil.dimov@oracle.com>
  branch nick: mysql-5.1-innodb
  timestamp: Wed 2010-04-28 13:32:00 +0300
  message:
    Revert the fix of Bug#38996 Race condition in ANALYZE TABLE
    
    This is branches/zip@r6032 in SVN and _is part_ of
    revid:svn-v4:16c675df-0fcb-4bc9-8058-dcc011a37293:branches/zip:6113
    in BZR.
    
    This is being reverted because now the code is serialized directly on
    index->stat_n_diff_key_vals[] as the fix for
    Bug#53046 dict_update_statistics_low can still be run concurrently on same table
    goes.
  modified:
    storage/innodb_plugin/handler/ha_innodb.cc 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fhandler%2Fha_innodb.cc
  ------------------------------------------------------------
  revno: 3428
  revision-id: vasil.dimov@oracle.com-20100428102033-dt3caf531rs3lidr
  parent: vasil.dimov@oracle.com-20100428084627-wtrmc66wqvjsdgj7
  committer: Vasil Dimov <vasil.dimov@oracle.com>
  branch nick: mysql-5.1-innodb
  timestamp: Wed 2010-04-28 13:20:33 +0300
  message:
    Followup to vasil.dimov@oracle.com-20100428084627-wtrmc66wqvjsdgj7:
    
    Address Marko's suggestions wrt the fix of
    Bug#53046 dict_update_statistics_low can still be run concurrently
    on same table
  modified:
    storage/innodb_plugin/dict/dict0dict.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fdict%2Fdict0dict.c
  ------------------------------------------------------------
  revno: 3427
  revision-id: vasil.dimov@oracle.com-20100428084627-wtrmc66wqvjsdgj7
  parent: mmakela@bk-internal.mysql.com-20100428063325-irts4ze9et5bsqdq
  committer: Vasil Dimov <vasil.dimov@oracle.com>
  branch nick: mysql-5.1-innodb
  timestamp: Wed 2010-04-28 11:46:27 +0300
  message:
    Fix Bug#53046 dict_update_statistics_low can still be run concurrently
    on same table
    
    Protect dict_index_t::stat_n_diff_key_vals[] with an array of
    mutexes.
    
    Testing: tested all code paths under UNIV_SYNC_DEBUG
    for the one in dict_print() one has to enable the InnoDB table monitor:
    CREATE TABLE innodb_table_monitor (a int) ENGINE=INNODB;
  modified:
    storage/innodb_plugin/btr/btr0cur.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fbtr%2Fbtr0cur.c
    storage/innodb_plugin/dict/dict0dict.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fdict%2Fdict0dict.c
    storage/innodb_plugin/handler/ha_innodb.cc 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fhandler%2Fha_innodb.cc
    storage/innodb_plugin/include/dict0dict.h 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Finclude%2Fdict0dict.h
  ------------------------------------------------------------
2010-05-04 13:46:29 +03:00
Sunny Bains
22665be77a Fix whitespace. 2010-04-30 20:47:57 +10:00
jyang
83f422fe0c Merge from mysql-trunk-innodb to local repository 2010-04-22 15:15:56 -07:00
jyang
477b7115d4 Register newly added purge thread to performance schema tracking.
rb://289, approved by Marko
2010-04-22 14:51:43 -07:00
Vasil Dimov
66b4a1e614 Merge r3403..3414 from mysql-5.1-innodb:
------------------------------------------------------------
  revno: 3414
  revision-id: marko.makela@oracle.com-20100422093342-jf9ojlzdqsdebohn
  parent: marko.makela@oracle.com-20100421185359-8qaxoa2yyrpzwdd7
  committer: Marko M?kel? <marko.makela@oracle.com>
  branch nick: 5.1-innodb
  timestamp: Thu 2010-04-22 12:33:42 +0300
  message:
    Correct the definition of DICT_SYS_INDEXES_NAME_FIELD.
    When row_merge_drop_temp_indexes() was reworked to drop the indexes
    via the data dictionary cache, the code was broken because it would
    read the index name from the wrong field.
  modified:
    storage/innodb_plugin/ChangeLog 2425@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2FChangeLog
    storage/innodb_plugin/dict/dict0boot.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fdict%2Fdict0boot.c
    storage/innodb_plugin/include/dict0boot.h 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Finclude%2Fdict0boot.h
  ------------------------------------------------------------
  revno: 3413
  revision-id: marko.makela@oracle.com-20100421185359-8qaxoa2yyrpzwdd7
  parent: marko.makela@oracle.com-20100421102723-0i80uezbyu0ekj5d
  committer: Marko M?kel? <marko.makela@oracle.com>
  branch nick: 5.1-innodb
  timestamp: Wed 2010-04-21 21:53:59 +0300
  message:
    btr_page_split_and_insert(): Avoid an infinite loop. (Bug #52964)
    
    btr_page_tuple_smaller(): New function, refactored from
    btr_page_split_and_insert().
    
    btr_page_get_split_rec(): Renamed from btr_page_get_sure_split_rec().
    Note that a NULL return may mean that the tuple is to be inserted into
    either the lower or upper page, to be determined by btr_page_tuple_smaller().
    
    btr_page_split_and_insert(): When btr_page_get_split_rec() returns NULL,
    invoke btr_page_tuple_smaller() to determine which half-page the tuple
    belongs to.
    
    Reviewed by Sunny Bains
  modified:
    storage/innodb_plugin/ChangeLog 2425@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2FChangeLog
    storage/innodb_plugin/btr/btr0btr.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fbtr%2Fbtr0btr.c
  ------------------------------------------------------------
  revno: 3412
  revision-id: marko.makela@oracle.com-20100421102723-0i80uezbyu0ekj5d
  parent: marko.makela@oracle.com-20100421100029-mji6lmdgvuqh96qq
  committer: Marko M?kel? <marko.makela@oracle.com>
  branch nick: 5.1-innodb
  timestamp: Wed 2010-04-21 13:27:23 +0300
  message:
    dict_create_index_step(): Be strict about DYNAMIC and COMPRESSED tables.
    Bug #50495 is about REDUNDANT and COMPACT tables, after all.
  modified:
    mysql-test/suite/innodb_plugin/r/innodb-zip.result 2252@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2Fmysql-test%2Finnodb-zip.result
    mysql-test/suite/innodb_plugin/t/innodb-zip.test 2252@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2Fmysql-test%2Finnodb-zip.test
    storage/innodb_plugin/ChangeLog 2425@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2FChangeLog
    storage/innodb_plugin/dict/dict0crea.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fdict%2Fdict0crea.c
  ------------------------------------------------------------
  revno: 3411
  revision-id: marko.makela@oracle.com-20100421100029-mji6lmdgvuqh96qq
  parent: marko.makela@oracle.com-20100421095033-0acvzxb8um8cms0a
  committer: Marko M?kel? <marko.makela@oracle.com>
  branch nick: 5.1-innodb
  timestamp: Wed 2010-04-21 13:00:29 +0300
  message:
    ha_innobase::add_index(): Only check for duplicate indexes
    when the data dictionary is locked.
    This fixes a UNIV_DEBUG assertion failure in innodb-index.test.
  modified:
    storage/innodb_plugin/handler/handler0alter.cc 1845@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2Fhandler%2Fhandler0alter.cc
  ------------------------------------------------------------
  revno: 3410
  revision-id: marko.makela@oracle.com-20100421095033-0acvzxb8um8cms0a
  parent: marko.makela@oracle.com-20100421094032-ir4glqk46qvg2ywn
  committer: Marko M?kel? <marko.makela@oracle.com>
  branch nick: 5.1-innodb
  timestamp: Wed 2010-04-21 12:50:33 +0300
  message:
    dtuple_convert_big_rec(): Store locally any fields whose maximum length
    is less than 256 bytes. (Bug #52745)
    Add related comments and debug assertions to the "offsets"
    functions in rem0rec.c.
    Approved by Sunny Bains
  modified:
    storage/innodb_plugin/ChangeLog 2425@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2FChangeLog
    storage/innodb_plugin/data/data0data.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fdata%2Fdata0data.c
    storage/innodb_plugin/rem/rem0rec.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Frem%2Frem0rec.c
  ------------------------------------------------------------
  revno: 3409
  revision-id: marko.makela@oracle.com-20100421094032-ir4glqk46qvg2ywn
  parent: marko.makela@oracle.com-20100421091611-uu46iygmv5sizjru
  committer: Marko M?kel? <marko.makela@oracle.com>
  branch nick: 5.1-innodb
  timestamp: Wed 2010-04-21 12:40:32 +0300
  message:
    Adjust tests for the Bug #50495 fix.
  modified:
    mysql-test/suite/innodb_plugin/r/innodb-zip.result 2252@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2Fmysql-test%2Finnodb-zip.result
    mysql-test/suite/innodb_plugin/t/innodb-zip.test 2252@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2Fmysql-test%2Finnodb-zip.test
    mysql-test/suite/innodb_plugin/t/innodb_bug36169.test 2418@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2Fmysql-test%2Finnodb_bug36169.test
  ------------------------------------------------------------
  revno: 3408
  revision-id: marko.makela@oracle.com-20100421091611-uu46iygmv5sizjru
  parent: marko.makela@oracle.com-20100421063916-h3gwjea7jzjilyww
  committer: Marko M?kel? <marko.makela@oracle.com>
  branch nick: 5.1-innodb
  timestamp: Wed 2010-04-21 12:16:11 +0300
  message:
    rec_convert_dtuple_to_rec(): Correct the debug check.
    The "extern" accessor functions return zero or nonzero, not 0 or 1.
  modified:
    storage/innodb_plugin/rem/rem0rec.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Frem%2Frem0rec.c
  ------------------------------------------------------------
  revno: 3407
  revision-id: marko.makela@oracle.com-20100421063916-h3gwjea7jzjilyww
  parent: marko.makela@oracle.com-20100420201550-cax1xywvlcdshgfg
  committer: Marko M?kel? <marko.makela@oracle.com>
  branch nick: 5.1-innodb
  timestamp: Wed 2010-04-21 09:39:16 +0300
  message:
    rec_convert_dtuple_to_rec(): Add a debug check.
  modified:
    storage/innodb_plugin/rem/rem0rec.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Frem%2Frem0rec.c
  ------------------------------------------------------------
  revno: 3406
  revision-id: marko.makela@oracle.com-20100420201550-cax1xywvlcdshgfg
  parent: marko.makela@oracle.com-20100420114222-diq7h2hiom9ww6me
  committer: Marko Makela <marko.makela@oracle.com>
  branch nick: 5.1-innodb
  timestamp: Tue 2010-04-20 23:15:50 +0300
  message:
    btr_cur_optimistic_insert(): Remove unused variable "heap".
  modified:
    storage/innodb_plugin/btr/btr0cur.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fbtr%2Fbtr0cur.c
  ------------------------------------------------------------
  revno: 3405
  revision-id: marko.makela@oracle.com-20100420114222-diq7h2hiom9ww6me
  parent: marko.makela@oracle.com-20100420082908-tpako8jd4imkh1xb
  committer: Marko Makela <marko.makela@oracle.com>
  branch nick: 5.1-innodb
  timestamp: Tue 2010-04-20 14:42:22 +0300
  message:
    dict_create_index_step(): Invoke dict_index_add_to_cache()
    in strict mode only if innodb_strict_mode is set. (Bug #50495)
    
    trx_is_strict(): New function, for checking innodb_strict_mode.
  modified:
    storage/innodb_plugin/ChangeLog 2425@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2FChangeLog
    storage/innodb_plugin/dict/dict0crea.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fdict%2Fdict0crea.c
    storage/innodb_plugin/handler/ha_innodb.cc 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fhandler%2Fha_innodb.cc
    storage/innodb_plugin/include/trx0trx.h 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Finclude%2Ftrx0trx.h
  ------------------------------------------------------------
  revno: 3404
  revision-id: marko.makela@oracle.com-20100420082908-tpako8jd4imkh1xb
  parent: marko.makela@oracle.com-20100419103603-u5pz4qc6hfhx4nua
  committer: Marko M?kel? <marko.makela@oracle.com>
  branch nick: 5.1-innodb
  timestamp: Tue 2010-04-20 11:29:08 +0300
  message:
    Implement UNIV_BTR_AVOID_COPY, an optimization of page splits.
  modified:
    storage/innodb_plugin/ChangeLog 2425@16c675df-0fcb-4bc9-8058-dcc011a37293:branches%2Fzip%2FChangeLog
    storage/innodb_plugin/btr/btr0btr.c 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Fbtr%2Fbtr0btr.c
    storage/innodb_plugin/include/univ.i 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Finclude%2Funiv.i
  ------------------------------------------------------------
  revno: 3403
  revision-id: marko.makela@oracle.com-20100419103603-u5pz4qc6hfhx4nua
  parent: marko.makela@oracle.com-20100419094405-fd3xwadullishv07
  committer: Marko =?ISO-8859-1?Q?M=E4kel=E4?= <marko.makela@oracle.com>
  branch nick: 5.1-innodb
  timestamp: Mon 2010-04-19 13:36:03 +0300
  message:
    Enable UNIV_DEBUG_VALGRIND when HAVE_purify is set.
  modified:
    storage/innobase/include/univ.i 2@cee13dc7-1704-0410-992b-c9b4543f1246:trunk%2Finclude%2Funiv.i
    storage/innodb_plugin/include/univ.i 2@16c675df-0fcb-4bc9-8058-dcc011a37293:trunk%2Finclude%2Funiv.i
2010-04-22 14:24:42 +03:00
Vasil Dimov
a8afa78349 Merge from innodb-branches-innodb+ 2010-04-22 13:51:12 +03:00
Mats Kindahl
c0817bacaf WL#5030: Splitting mysql_priv.h
Removing traces of mysql_priv.h from comments and other
non-source files that were missed before.
2010-04-21 00:29:30 +02:00
Vasil Dimov
c7525a0130 Merge from innodb-branches-innodb+ (2) 2010-04-19 20:53:16 +03:00
Vasil Dimov
03bfca8559 Replay 2661.581.1 and 3092.5.1 on top of storage/innobase.
------------------------------------------------------------
  revno: 2661.581.1
  revision-id: sven.sandberg@sun.com-20090714193119-4693witmsqcaf28q
  parent: staale.smedseng@sun.com-20090615160325-miaxz8z9rjgm78h4
  committer: Sven Sandberg <sven.sandberg@sun.com>
  branch nick: 5.1-bugteam
  timestamp: Tue 2009-07-14 21:31:19 +0200
  message:
    BUG#39934: Slave stops for engine that only support row-based logging
  ...


  ------------------------------------------------------------
  revno: 3092.5.1
  revision-id: luis.soares@sun.com-20090924145252-8vvsnbvwo9l8v4vc
  parent: anurag.shekhar@sun.com-20090831075609-tkpqu41hxtupdeip
  committer: Luis Soares <luis.soares@sun.com>
  branch nick: mysql-5.1-bugteam
  timestamp: Thu 2009-09-24 15:52:52 +0100
  message:
    BUG#42829: binlogging enabled for all schemas regardless of
    binlog-db-db / binlog-ignore-db
  ...
2010-04-14 10:37:52 +03:00
Vasil Dimov
ac29d0953d Replay c2996 on top of the new storage/innobase 2010-04-13 18:26:27 +03:00
Vasil Dimov
c877ff39bc Import branches/innodb+ from SVN on top of storage/innobase. 2010-04-12 18:20:41 +03:00
Mats Kindahl
23d8586dbf WL#5030: Split and remove mysql_priv.h
This patch:

- Moves all definitions from the mysql_priv.h file into
  header files for the component where the variable is
  defined
- Creates header files if the component lacks one
- Eliminates all include directives from mysql_priv.h
- Eliminates all circular include cycles
- Rename time.cc to sql_time.cc
- Rename mysql_priv.h to sql_priv.h
2010-03-31 16:05:33 +02:00
Alfranio Correia
5dcb0e447f merge mysql-5.1-rep+2-delivery1 --> mysql-5.1-rpl-merge
Conflicts:

Text conflict in .bzr-mysql/default.conf
Text conflict in mysql-test/extra/rpl_tests/rpl_loaddata.test
Text conflict in mysql-test/r/mysqlbinlog2.result
Text conflict in mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result
Text conflict in mysql-test/suite/binlog/r/binlog_unsafe.result
Text conflict in mysql-test/suite/rpl/r/rpl_insert_id.result
Text conflict in mysql-test/suite/rpl/r/rpl_loaddata.result
Text conflict in mysql-test/suite/rpl/r/rpl_stm_auto_increment_bug33029.result
Text conflict in mysql-test/suite/rpl/r/rpl_udf.result
Text conflict in mysql-test/suite/rpl/t/rpl_slow_query_log.test
Text conflict in sql/field.h
Text conflict in sql/log.cc
Text conflict in sql/log_event.cc
Text conflict in sql/log_event_old.cc
Text conflict in sql/mysql_priv.h
Text conflict in sql/share/errmsg.txt
Text conflict in sql/sp.cc
Text conflict in sql/sql_acl.cc
Text conflict in sql/sql_base.cc
Text conflict in sql/sql_class.h
Text conflict in sql/sql_db.cc
Text conflict in sql/sql_delete.cc
Text conflict in sql/sql_insert.cc
Text conflict in sql/sql_lex.cc
Text conflict in sql/sql_lex.h
Text conflict in sql/sql_load.cc
Text conflict in sql/sql_table.cc
Text conflict in sql/sql_update.cc
Text conflict in sql/sql_view.cc
Conflict adding files to storage/innobase.  Created directory.
Conflict because storage/innobase is not versioned, but has versioned children.  Versioned directory.
Conflict adding file storage/innobase.  Moved existing file to storage/innobase.moved.
Conflict adding files to storage/innobase/handler.  Created directory.
Conflict because storage/innobase/handler is not versioned, but has versioned children.  Versioned directory.
Contents conflict in storage/innobase/handler/ha_innodb.cc
2010-01-07 15:39:11 +00:00
Alfranio Correia
3dadf9564c merge mysql-5.1-rep+3 --> mysql-5.1-rep+2-delivery1 2009-12-17 21:43:35 +00:00
Alexander Nozdrin
5f0c09dd72 Manual merge from mysql-trunk-merge.
Conflicts:
  - include/my_no_pthread.h
  - mysql-test/r/sp-ucs2.result
  - sql/log.cc
  - sql/sql_acl.cc
  - sql/sql_yacc.yy
2009-12-16 21:02:21 +03:00
Alexander Nozdrin
aceea2342f Manual merge from mysql-trunk-merge.
Conflicts:
  - extra/comp_err.c
  - mysql-test/collections/default.experimental
  - mysql-test/r/archive.result
  - mysql-test/r/select.result
  - mysql-test/suite/binlog/r/binlog_unsafe.result
  - mysql-test/suite/binlog/t/binlog_unsafe.test
  - mysql-test/suite/rpl/t/disabled.def
  - mysql-test/t/archive.test
  - mysql-test/t/select.test
  - sql/item.cc
  - sql/item.h
  - sql/item_timefunc.cc
  - sql/sql_base.cc
  - sql/sql_delete.cc
  - sql/sql_load.cc
  - sql/sql_partition.cc
  - sql/sql_table.cc
  - storage/innobase/handler/ha_innodb.cc
  - vio/vio.c
2009-12-12 23:38:59 +03:00
Alexey Kopytov
ebdef570e5 Manual merge of mysql-5.1-bugteam into mysql-trunk-merge. 2009-12-11 19:40:58 +03:00
Alexander Nozdrin
5676713687 Manual merge from mysql-trunk.
Conflicts:
  - client/mysqltest.cc
  - mysql-test/collections/default.experimental
  - mysql-test/suite/rpl/t/disabled.def
  - sql/mysqld.cc
  - sql/opt_range.cc
  - sql/sp.cc
  - sql/sql_acl.cc
  - sql/sql_partition.cc
  - sql/sql_table.cc
2009-12-11 12:39:38 +03:00
Gleb Shchepa
9835801a85 manual merge mysql-5.1-bugteam --> mysql-trunk-merge 2009-12-04 14:20:18 +04:00
Gleb Shchepa
43d8e02f59 Bug #38883: thd_security_context is not thread safe, crashes?
After-push minor code cleanup for WL 2360: unnecessary external
reference to LOCK_thread_count has been removed from ha_innodb.cc.
2009-12-03 23:38:09 +04:00
Satya B
c6c12db965 Merge Innodb Plugin 1.0.6 from mysql-5.1-bugteam storage/innodb_plugin to mysql-trunk-merge.
Merging revisions 3221 to 3230 from mysql-5.1-bugteam
2009-12-02 19:30:50 +05:30
Gleb Shchepa
60b76cd729 Bug #38883 (reopened): thd_security_context is not thread safe, crashes?
manual merge 5.0-->5.1, updating InnoDB plugin.
2009-12-01 14:38:40 +04:00
Andrei Elkin
184d7b0250 mergin 5.1 -> rep+2 -> rep+3. create_table_from_dump issue will be merged on the next step 2009-11-30 20:20:26 +02:00
Satya B
cde05f0645 Applying InnoDB snapshot 5.1-ss6242, part 8. Fixes BUG#47720
1. BUG#47720 - REPLACE INTO Autoincrement column with negative values.

Detailed revision comments:

r6235 | sunny | 2009-11-26 01:14:42 +0200 (Thu, 26 Nov 2009) | 9 lines
branches/5.1: Fix Bug#47720 - REPLACE INTO Autoincrement column with negative values.

This bug is similiar to the negative autoinc filter patch from earlier,
with the additional handling of filtering out the negative column values
set explicitly by the user.

rb://184
Approved by Heikki.
2009-11-30 15:16:45 +05:30
Satya B
96a121d35d Applying InnoDB snapshot 5.1-ss6242, part 5. Fixes BUG#45961
1. BUG#45961 - DDL on partitioned innodb tables leaves data dictionary 
               in an inconsistent state

2. Fix formatting

Detailed revision comments:

r6205 | jyang | 2009-11-20 07:55:48 +0200 (Fri, 20 Nov 2009) | 11 lines
branches/5.1: Add a special case to handle the Duplicated Key error
and return DB_ERROR instead. This is to avoid a possible SIGSEGV
by mysql error handling re-entering the storage layer for dup key
info without proper table handle.
This is to prevent a server crash when error situation in bug
#45961 "DDL on partitioned innodb tables leaves data dictionary
in an inconsistent state" happens.

rb://157 approved by Sunny Bains.


r6206 | jyang | 2009-11-20 09:38:43 +0200 (Fri, 20 Nov 2009) | 3 lines
branches/5.1: Non-functional change, fix formatting.
2009-11-30 14:33:57 +05:30
Satya B
ca79b2bcb9 Applying InnoDB snapshot 5.1-ss6242, part 1. Fixes BUG#32430
1. BUG#32430 - 'show innodb status' causes errors Invalid (old?) table
               or database name in logs

2. White space fixup

Detailed revision comments:

r6136 | marko | 2009-11-04 12:28:10 +0200 (Wed, 04 Nov 2009) | 15 lines
branches/5.1: Port r6134 from branches/zip:

  ------------------------------------------------------------------------
  r6134 | marko | 2009-11-04 07:57:29 +0000 (Wed, 04 Nov 2009) | 5 lines

  branches/zip: innobase_convert_identifier(): Convert table names with
  explain_filename() to address Bug #32430: 'show innodb status'
  causes errors Invalid (old?) table or database name in logs.

  rb://134 approved by Sunny Bains
  ------------------------------------------------------------------------

innobase_print_identifier(): Replace with innobase_convert_name().

innobase_convert_identifier(): New function, called by innobase_convert_name().
r6152 | vasil | 2009-11-10 15:30:20 +0200 (Tue, 10 Nov 2009) | 4 lines
branches/5.1:

White space fixup.
2009-11-30 13:56:45 +05:30
Konstantin Osipov
9a9e8d2311 Backport of:
----------------------------------------------------------------------
ChangeSet@1.2571, 2008-04-08 12:30:06+02:00, vvaintroub@wva. +122 -0
  Bug#32082 : definition of VOID in my_global.h conflicts with Windows
  SDK headers
  
  VOID macro is now removed. Its usage is replaced with void cast.
  In some cases, where cast does not make much sense (pthread_*, printf, 
  hash_delete, my_seek), cast is ommited.


client/mysqladmin.cc:
  Bug#32082 : remove VOID macro
client/mysqldump.c:
  Bug#32082 : remove VOID macro
client/mysqlimport.c:
  Bug#32082 : remove VOID macro
client/mysqlslap.c:
  Bug#32082 : remove VOID macro
client/mysqltest.cc:
  Bug#32082 : remove VOID macro
client/sql_string.cc:
  Bug#32082 : remove VOID macro
extra/comp_err.c:
  Bug#32082 : remove VOID macro
extra/replace.c:
  Bug#32082 : remove VOID macro
include/my_alarm.h:
  Bug#32082 : remove VOID macro
include/my_global.h:
  Bug#32082 : remove VOID macro
libmysql/libmysql.c:
  Bug#32082 : remove VOID macro
mysys/errors.c:
  Bug#32082 : remove VOID macro
mysys/hash.c:
  Bug#32082 : remove VOID macro
mysys/mf_iocache2.c:
  Bug#32082 : remove VOID macro
mysys/mf_loadpath.c:
  Bug#32082 : remove VOID macro
mysys/mf_path.c:
  Bug#32082 : remove VOID macro
mysys/my_append.c:
  Bug#32082 : remove VOID macro
mysys/my_clock.c:
  Bug#32082 : remove VOID macro
mysys/my_copy.c:
  Bug#32082 : remove VOID macro
mysys/my_fstream.c:
  Bug#32082 : remove VOID macro
mysys/my_getwd.c:
  Bug#32082 : remove VOID macro
mysys/my_lib.c:
  Bug#32082 : remove VOID macro
mysys/my_lockmem.c:
  Bug#32082 : remove VOID macro
mysys/my_pthread.c:
  Bug#32082 : remove VOID macro
mysys/my_redel.c:
  Bug#32082 : remove VOID macro
mysys/stacktrace.c:
  Bug#32082 : remove VOID macro
mysys/thr_alarm.c:
  Bug#32082 : remove VOID macro
mysys/thr_lock.c:
  Bug#32082 : remove VOID macro
sql/derror.cc:
  Bug#32082 : remove VOID macro
sql/des_key_file.cc:
  Bug#32082 : remove VOID macro
sql/discover.cc:
  Bug#32082 : remove VOID macro
sql/field.cc:
  Bug#32082 : remove VOID macro
sql/filesort.cc:
  Bug#32082 : remove VOID macro
sql/ha_ndbcluster.cc:
  Bug#32082 : remove VOID macro
sql/ha_partition.cc:
  Bug#32082 : remove VOID macro
sql/handler.cc:
  Bug#32082 : remove VOID macro
sql/hostname.cc:
  Bug#32082 : remove VOID macro
sql/init.cc:
  Bug#32082 : remove VOID macro
sql/item.cc:
  Bug#32082 : remove VOID macro
sql/item_cmpfunc.cc:
  Bug#32082 : remove VOID macro
sql/item_strfunc.cc:
  Bug#32082 : remove VOID macro
sql/lock.cc:
  Bug#32082 : remove VOID macro
sql/log.cc:
  Bug#32082 : remove VOID macro
sql/log_event.cc:
  Bug#32082 : remove VOID macro
sql/mysqld.cc:
  Bug#32082 : remove VOID macro
sql/opt_range.h:
  Bug#32082 : remove VOID macro
sql/protocol.cc:
  Bug#32082 : remove VOID macro
sql/records.cc:
  Bug#32082 : remove VOID macro
sql/sp_head.cc:
  Bug#32082 : remove VOID macro
sql/sp_pcontext.cc:
  Bug#32082 : remove VOID macro
sql/sql_acl.cc:
  Bug#32082 : remove VOID macro
sql/sql_base.cc:
  Bug#32082 : remove VOID macro
sql/sql_cache.cc:
  Bug#32082 : remove VOID macro
sql/sql_connect.cc:
  Bug#32082 : remove VOID macro
sql/sql_db.cc:
  Bug#32082 : remove VOID macro
sql/sql_delete.cc:
  Bug#32082 : remove VOID macro
sql/sql_handler.cc:
  Bug#32082 : remove VOID macro
sql/sql_insert.cc:
  Bug#32082 : remove VOID macro
sql/sql_map.cc:
  Bug#32082 : remove VOID macro
sql/sql_parse.cc:
  Bug#32082 : remove VOID macro
sql/sql_select.cc:
  Bug#32082 : remove VOID macro
sql/sql_servers.cc:
  Bug#32082 : remove VOID macro
sql/sql_show.cc:
  Bug#32082 : remove VOID macro
sql/sql_string.cc:
  Bug#32082 : remove VOID macro
sql/sql_table.cc:
  Bug#32082 : remove VOID macro
sql/sql_test.cc:
  Bug#32082 : remove VOID macro
sql/sql_trigger.cc:
  Bug#32082 : remove VOID macro
sql/sql_update.cc:
  Bug#32082 : remove VOID macro
sql/sql_view.cc:
  Bug#32082 : remove VOID macro
sql/table.cc:
  Bug#32082 : remove VOID macro
sql/tztime.cc:
  Bug#32082 : remove VOID macro
sql/udf_example.c:
  Bug#32082 : remove VOID macro
sql/uniques.cc:
  Bug#32082 : remove VOID macro
sql/unireg.cc:
  Bug#32082 : remove VOID macro
storage/archive/ha_archive.cc:
  Bug#32082 : remove VOID macro
storage/blackhole/ha_blackhole.cc:
  Bug#32082 : remove VOID macro
storage/csv/ha_tina.cc:
  Bug#32082 : remove VOID macro
storage/csv/transparent_file.cc:
  Bug#32082 : remove VOID macro
storage/example/ha_example.cc:
  Bug#32082 : remove VOID macro
storage/federated/ha_federated.cc:
  Bug#32082 : remove VOID macro
storage/heap/hp_clear.c:
  Bug#32082 : remove VOID macro
storage/heap/hp_create.c:
  Bug#32082 : remove VOID macro
storage/heap/hp_test1.c:
  Bug#32082 : remove VOID macro
storage/heap/hp_test2.c:
  Bug#32082 : remove VOID macro
storage/innobase/handler/ha_innodb.cc:
  Bug#32082 : remove VOID macro
storage/myisam/ft_eval.c:
  Bug#32082 : remove VOID macro
storage/myisam/ha_myisam.cc:
  Bug#32082 : remove VOID macro
storage/myisam/mi_changed.c:
  Bug#32082 : remove VOID macro
storage/myisam/mi_check.c:
  Bug#32082 : remove VOID macro
storage/myisam/mi_close.c:
  Bug#32082 : remove VOID macro
storage/myisam/mi_create.c:
  Bug#32082 : remove VOID macro
storage/myisam/mi_dbug.c:
  Bug#32082 : remove VOID macro
storage/myisam/mi_delete.c:
  Bug#32082 : remove VOID macro
storage/myisam/mi_delete_all.c:
  Bug#32082 : remove VOID macro
storage/myisam/mi_dynrec.c:
  Bug#32082 : remove VOID macro
storage/myisam/mi_info.c:
  Bug#32082 : remove VOID macro
storage/myisam/mi_locking.c:
  Bug#32082 : remove VOID macro
storage/myisam/mi_log.c:
  Bug#32082 : remove VOID macro
storage/myisam/mi_open.c:
  Bug#32082 : remove VOID macro
storage/myisam/mi_packrec.c:
  Bug#32082 : remove VOID macro
storage/myisam/mi_panic.c:
  Bug#32082 : remove VOID macro
storage/myisam/mi_rsame.c:
  Bug#32082 : remove VOID macro
storage/myisam/mi_statrec.c:
  Bug#32082 : remove VOID macro
storage/myisam/mi_test1.c:
  Bug#32082 : remove VOID macro
storage/myisam/mi_test2.c:
  Bug#32082 : remove VOID macro
storage/myisam/mi_test3.c:
  Bug#32082 : remove VOID macro
storage/myisam/mi_update.c:
  Bug#32082 : remove VOID macro
storage/myisam/mi_write.c:
  Bug#32082 : remove VOID macro
storage/myisam/myisamchk.c:
  Bug#32082 : remove VOID macro
storage/myisam/myisamlog.c:
  Bug#32082 : remove VOID macro
storage/myisam/myisampack.c:
  Bug#32082 : remove VOID macro
storage/myisam/sort.c:
  Bug#32082 : remove VOID macro
storage/myisammrg/myrg_close.c:
  Bug#32082 : remove VOID macro
storage/myisammrg/myrg_create.c:
  Bug#32082 : remove VOID macro
storage/myisammrg/myrg_open.c:
  Bug#32082 : remove VOID macro
strings/str_test.c:
  Bug#32082 : remove VOID macro
tests/thread_test.c:
  Bug#32082 : remove VOID macro
2009-11-24 16:54:59 +03:00
Konstantin Osipov
bae0e81310 Backport of:
-------------------------------------------------------------
revno: 2877
committer: Davi Arnaut <Davi.Arnaut@Sun.COM>
branch nick: 35164-6.0
timestamp: Wed 2008-10-15 19:53:18 -0300
message:
Bug#35164: Large number of invalid pthread_attr_setschedparam calls
Bug#37536: Thread scheduling causes performance degradation at low thread count
Bug#12702: Long queries take 100% of CPU and freeze other applications under Windows

The problem is that although having threads with different priorities
yields marginal improvements [1] in some platforms [2], relying on some
statically defined priorities (QUERY_PRIOR and WAIT_PRIOR) to play well
(or to work at all) with different scheduling practices and disciplines
is, at best, a shot in the dark as the meaning of priority values may
change depending on the scheduling policy set for the process.

Another problem is that increasing priorities can hurt other concurrent
(running on the same hardware) applications (such as AMP) by causing
starvation problems as MySQL threads will successively preempt lower
priority processes. This can be evidenced by Bug#12702.

The solution is to not change the threads priorities and rely on the
system scheduler to perform its job. This also enables a system admin
to increase or decrease the scheduling priority of the MySQL process,
if intended.

Furthermore, the internal wrappers and code for changing the priority
of threads is being removed as they are now unused and ancient.

1. Due to unintentional side effects. On Solaris this could artificially
help benchmarks as calling the priority changing syscall millions of
times is more beneficial than the actual setting of the priority.

2. Where it actually works. It has never worked on Linux as the default
scheduling policy SCHED_OTHER only accepts the static priority 0.


configure.in:
  Remove checks for functions that are not used anymore.
include/config-netware.h:
  Remove unused define.
include/my_pthread.h:
  Remove thread priority changing wrappers.
mysys/my_pthread.c:
  Remove thread priority changing wrappers. They do not work properly
  and their implementations were incorrectly protected by a check for
  HAVE_PTHREAD_SETSCHEDPARAM.
mysys/thr_alarm.c:
  Remove meaningless (100) increase of a thread priority.
sql/mysql_priv.h:
  Remove meaningless thread priority values.
sql/mysqld.cc:
  Don't change thread priorities.
sql/slave.cc:
  Don't change thread priorities.
sql/slave.h:
  Update function prototype.
sql/sql_parse.cc:
  Don't change thread priorities.
sql/sql_prepare.cc:
  Don't change thread priorities.
sql/unireg.h:
  Mark flag as obsolete.
storage/innobase/handler/ha_innodb.cc:
  Remove use of obsolete flag and associated behavior.
storage/innobase/include/srv0srv.h:
  Remove use of obsolete flag and associated variables.
storage/innobase/os/os0thread.c:
  Remove use of obsolete flag and associated behavior.
storage/innobase/srv/srv0srv.c:
  Remove use of obsolete flag and associated variables.
2009-11-23 19:57:31 +03:00
Andrei Elkin
7eb789a723 merging 5.1 main -> 5.1-rep+2 -> 5.1-rep+3; binlog_unsafe , rpl_mysql_upgrade fail and are under treatment 2009-11-10 20:45:15 +02:00
Alexander Nozdrin
ea0bbb7248 Manual merge from mysql-trunk-merge. 2009-11-06 18:19:24 +03:00
Alexander Nozdrin
7cd11f45be Manual merge from mysql-trunk-merge. 2009-11-06 17:20:27 +03:00
Sergey Vojtovich
ced8719400 Merge of innodb-zip-ss6129 from 5.1 to mysql-trunk. 2009-11-05 16:29:58 +04:00
Alexander Nozdrin
132c439a0b Manual merge from mysql-5.1. 2009-11-05 13:58:14 +03:00
Sergey Vojtovich
37d83e4d48 Applying InnoDB snashot 5.1-ss6129
Detailed revision comments:

r6125 | vasil | 2009-10-30 10:31:23 +0200 (Fri, 30 Oct 2009) | 4 lines
branches/5.1:

White-space fixup.
2009-11-02 19:00:51 +04:00
Sergey Vojtovich
c29b740bec Applying InnoDB snashot 5.1-ss6129
Detailed revision comments:

r6122 | jyang | 2009-10-30 05:18:38 +0200 (Fri, 30 Oct 2009) | 7 lines
branches/5.1: Chnage WARN_LEVEL_ERROR to WARN_LEVEL_WARN
for push_warning_printf() call in innodb.
Fix Bug#47233: Innodb calls push_warning(MYSQL_ERROR::WARN_LEVEL_ERROR)

rb://170 approved by Marko.
2009-11-02 18:59:44 +04:00
Sergey Vojtovich
ebc3626738 Applying InnoDB snashot 5.1-ss6129
Detailed revision comments:

r6052 | sunny | 2009-10-12 07:09:56 +0300 (Mon, 12 Oct 2009) | 4 lines
branches/5.1: Reset the statement level autoinc counter on ROLLBACK. Fix
the test results too.
rb://164

r6053 | sunny | 2009-10-12 07:37:49 +0300 (Mon, 12 Oct 2009) | 6 lines
branches/5.1: Copy the maximum AUTOINC value from the old table to the new
table when MySQL does a CREATE INDEX ON T. This is required because MySQL
does a table copy, rename and drops the old table.
Fix Bug#47125: auto_increment start value is ignored if an index is created and engine=innodb
rb://168
2009-11-02 18:58:09 +04:00
Sergey Vojtovich
c8d97af6b0 Applying InnoDB snashot 5.1-ss6129
Detailed revision comments:

r6051 | sunny | 2009-10-12 07:05:00 +0300 (Mon, 12 Oct 2009) | 6 lines
branches/5.1: Ignore negative values supplied by the user when calculating the
next value to store in dict_table_t. Setting autoincrement columns top negative
values is undefined behavior and this change should bring the behavior of
InnoDB closer to what users expect. Added several tests to check.
rb://162
2009-11-02 18:43:20 +04:00
Sergey Vojtovich
71d24a2371 Applying InnoDB snashot 5.1-ss6129
Detailed revision comments:

r6045 | jyang | 2009-10-08 02:27:08 +0300 (Thu, 08 Oct 2009) | 7 lines
branches/5.1: Fix bug #47777. Treat the Geometry data same as
Binary BLOB in ha_innobase::store_key_val_for_row(), since the
Geometry data is stored as Binary BLOB in Innodb.

Review: rb://180 approved by Marko Makela.
2009-11-02 18:41:40 +04:00
Sergey Vojtovich
7e317016e6 Applying InnoDB snashot 5.1-ss6129
Detailed revision comments:

r6032 | vasil | 2009-10-01 15:55:49 +0300 (Thu, 01 Oct 2009) | 8 lines
branches/5.1:

Fix Bug#38996 Race condition in ANALYZE TABLE

by serializing ANALYZE TABLE inside InnoDB.

Approved by:	Heikki (rb://175)
2009-11-02 18:36:55 +04:00
Sergey Vojtovich
e7452e7b68 Applying InnoDB snashot 5.1-ss6129
Detailed revision comments:

r5952 | calvin | 2009-09-22 19:45:07 +0300 (Tue, 22 Sep 2009) | 7 lines
branches/5.1: fix bug#42383: Can't create table 'test.bug39438'

For embedded server, MySQL may pass in full path, which is
currently disallowed. It is needed to relax the condition by
accepting full paths in the embedded case.

Approved by: Heikki (on IM)
2009-11-02 18:35:55 +04:00