Commit graph

60176 commits

Author SHA1 Message Date
Guilhem Bichot
bc54791010 fixes for gcc 4.4.1 warnings 2010-01-25 23:19:34 +01:00
Alexander Nozdrin
e3dfbdfd3d Auto-merge from mysql-next-mr. 2010-01-25 19:16:45 +03:00
Alexander Nozdrin
9ba4d00763 Enable one test case for weekly builds. 2010-01-25 19:12:25 +03:00
Alexander Nozdrin
971307919b Null-merge from mysql-next-mr (marking fixed test experimental). 2010-01-25 19:06:46 +03:00
Alexander Nozdrin
deb6ded14c Make sys_vars.delayed_insert_limit_func experimental due to Bug 50435. 2010-01-25 19:04:56 +03:00
Alexander Nozdrin
1164ca5f3f Auto-merge from mysql-next-mr. 2010-01-25 19:02:02 +03:00
Jon Olav Hauglid
8976595d82 Backport from mysql-6.0-codebase of:
------------------------------------------------------------
revno: 2630.22.42
committer: Konstantin Osipov <kostja@sun.com>
branch nick: mysql-6.0-runtime
timestamp: Fri 2008-10-17 14:36:55 +0400
message:
  Update old wording (table engine -> storage engine).
2010-01-22 17:08:49 +01:00
Sergey Vojtovich
9da56d3b09 Merge backport of WL#3771 with mysql-next-mr. 2010-01-22 12:37:51 +04:00
Alexander Nozdrin
5b511a1ab8 Auto-merge from mysql-next-mr. 2010-01-22 11:20:13 +03:00
Alfranio Correia
b06d870fee BUG#46364 MyISAM transbuffer problems (NTM problem)
It is well-known that due to concurrency issues, a slave can become
inconsistent when a transaction contains updates to both transaction and
non-transactional tables.
                    
In a nutshell, the current code-base tries to preserve causality among the
statements by writing non-transactional statements to the txn-cache which
is flushed upon commit. However, modifications done to non-transactional
tables on behalf of a transaction become immediately visible to other
connections but may not immediately get into the binary log and therefore
consistency may be broken.
            
In general, it is impossible to automatically detect causality/dependency
among statements by just analyzing the statements sent to the server. This
happen because dependency may be hidden in the application code and it is
necessary to know a priori all the statements processed in the context of
a transaction such as in a procedure. Moreover, even for the few cases that
we could automatically address in the server, the computation effort
required could make the approach infeasible.
            
So, in this patch we introduce the option
      - "--binlog-direct-non-transactional-updates" that can be used to bypass
      the current behavior in order to write directly to binary log statements
      that change non-transactional tables.

Besides, it is used to enable the WL#2687 which is disabled by default.
2010-01-21 21:05:27 +00:00
Alfranio Correia
8da3fea266 BUG#46364 MyISAM transbuffer problems (NTM problem)
It is well-known that due to concurrency issues, a slave can become
inconsistent when a transaction contains updates to both transaction and
non-transactional tables.
                    
In a nutshell, the current code-base tries to preserve causality among the
statements by writing non-transactional statements to the txn-cache which
is flushed upon commit. However, modifications done to non-transactional
tables on behalf of a transaction become immediately visible to other
connections but may not immediately get into the binary log and therefore
consistency may be broken.
            
In general, it is impossible to automatically detect causality/dependency
among statements by just analyzing the statements sent to the server. This
happen because dependency may be hidden in the application code and it is
necessary to know a priori all the statements processed in the context of
a transaction such as in a procedure. Moreover, even for the few cases that
we could automatically address in the server, the computation effort
required could make the approach infeasible.
            
So, in this patch we introduce the option
      - "--binlog-direct-non-transactional-updates" that can be used to bypass
      the current behavior in order to write directly to binary log statements
      that change non-transactional tables.

Besides, it is used to enable the WL#2687 which is disabled by default.
2010-01-21 13:10:34 +00:00
Alexander Nozdrin
b78e3a5d1e Auto-merge from mysql-next-mr. 2010-01-21 12:14:34 +03:00
Alexander Nozdrin
32d17f7daa Auto-merge from mysql-next-mr. 2010-01-21 11:39:14 +03:00
Luis Soares
47ac596080 Removes duplicate entry for ER_SLAVE_IGNORE_SERVER_IDS
in errmsg.txt. Kept the one in that matched the location
in errmsg-utf8.txt, ie after ER_UNKNOWN_LOCALE.
2010-01-20 17:01:49 +00:00
Alexander Nozdrin
97edd3aa3a Add client/dtoa.c to .bzrignore. 2010-01-20 18:26:05 +03:00
Alexander Nozdrin
b561f9262e Mark several failing test cases experimental. 2010-01-20 18:25:29 +03:00
Vladislav Vaintroub
e130724e04 merge 2010-01-20 14:48:57 +01:00
Vladislav Vaintroub
f668b4adb8 merge 2010-01-20 14:43:40 +01:00
Horst.Hunger
705174808c due to merge. 2010-01-20 14:22:49 +01:00
Vladislav Vaintroub
1f4e48cb10 Bug #50362 comp_err crashes during compilation on FreeBSD.
The reason for the crash is using uinitialized mutex attribute (MY_MUTEX_FAST_INIT)
in pthread_mutex_init.

The fix is to initialize the attribute before the first use.
2010-01-20 14:04:17 +01:00
Alexander Nozdrin
91e92d73ab Auto-merge from mysql-next-mr-bugfixing. 2010-01-19 22:43:10 +03:00
Sergey Vojtovich
ec59b40adc Merge backport of WL#3771 with mysql-next-mr. 2010-01-19 20:42:25 +04:00
Sergey Vojtovich
92985af1ff Merge backport of WL#3771 with mysql-next-mr. 2010-01-19 17:30:55 +04:00
Alexander Nozdrin
d01746b58e Auto-merge from mysql-next-mr. 2010-01-18 22:47:19 +03:00
Alexander Nozdrin
53f72bf3df Auto-merge from mysql-next-mr. 2010-01-18 21:50:57 +03:00
Alexander Nozdrin
dccf2accea Enable sys_vars and perfschema test suites
for regular PB builds.
2010-01-18 15:01:11 +03:00
Alexander Nozdrin
69bb73aa38 Auto-merge from mysql-5.1-rpl-merge. 2010-01-18 14:53:35 +03:00
Sergey Glukhov
31740ffdfc compilation failure fix 2010-01-15 17:03:51 +04:00
Sergey Glukhov
8b36b965c5 backported:
-WL#2822 INFORMATION_SCHEMA.ROUTINES: Add missing columns
-WL#2003 INFORMATION_SCHEMA: PARAMETERS view
-addon for 'I_S optimization' WL
2010-01-15 15:42:15 +04:00
fe99d91593 Fix for perfschema.binlog_stmt failure:
Problem: The test case failed because: (i) warning text in 
         result file differed from the warning output by the 
         server, and (ii) binlog contents in result file did
         not show the statements logged wrapped in BEGIN/COMMIT
         as it is the case after WL 2687.
      
Solution: We update the result file, but first we change the
          unsafe warning text to also refer to performance_schema
          table(s). This required changing the result files for
          existing test cases that provide output for warnings 
          related to ER_BINLOG_UNSAFE_SYSTEM_TABLE. "Grepping" in
          result files, shows that only binlog_unsafe contained
          reference to such a warning.
      
          We also update the result file with the missing 
          BEGIN/COMMIT statements.
2010-01-15 13:06:33 +08:00
Alfranio Correia
09bc4891e8 Removed garbage from the mysqld--help-win 2010-01-14 16:50:45 +00:00
Alfranio Correia
20fd7e5972 merge mysql-5.1-rep+2-delivery1 --> mysql-5.1-rpl-merge 2010-01-14 16:44:33 +00:00
Alfranio Correia
fb0ee3ab8e merge mysql-next-mr --> mysql-5.1-rpl-merge
Conflicts:
  Text conflict in sql/sql_insert.cc
2010-01-14 16:02:55 +00:00
Alfranio Correia
aefaa56c5a merge mysql-5.1-rep+3 --> mysql-5.1-rep+2-delivery1 2010-01-14 12:59:58 +00:00
Alfranio Correia
9b0ae85aea Augmented the rpl_ndb_binlog_format_errors to verify if a slave running in the
STMT mode aborts the SQL Thread if it receives changes in ROW mode and such
changes are not processed.
2010-01-14 12:52:28 +00:00
Olav Sandstaa
6559e92732 Fix for Bug#50221 Server refuses to start from non-default installdir on Solaris 32-bit
When starting mysqld it did not recognize most of the options given on
the command line when it was compiled for 32-bit Solaris using Sun
Studio compiler. The cause for this was that most of the entries in
the my_long_options array contained "garbage" data. The garbage data
was caused by a compiler bug. When initilizing the def_value member
for the "default-storage-engine" entry it was initialized like this:

  (longlong)"MyISAM"

i.e. casting a 32 bit pointer to a 64 bit integer value. Due to the
compiler bug only 4 bytes was allocated (instead of 8 bytes). This
caused everything following this entry to be stored at a location that
was 4 byte wrong.

The fix/work-around for this problem is initialize the def_value
for default-storage-engine in my_long_options to 0 and instead
initialize the default_storage_engine variable to "MyISAM" in
init_common_variables().
2010-01-14 13:39:42 +01:00
Alexander Barkov
5f6c630907 WL#4583 Case conversion in Asian character sets
modified:
  include/m_ctype.h
  - Changing type for tolower/toupper members, to store values >= 0xFFFF.
  - Adding function prototypes

  mysql-test/r/ctype_big5.result
  mysql-test/r/ctype_cp932_binlog_stm.result
  mysql-test/r/ctype_eucjpms.result*
  mysql-test/r/ctype_euckr.result
  mysql-test/r/ctype_gb2312.result
  mysql-test/r/ctype_gbk.result
  mysql-test/r/ctype_sjis.result
  mysql-test/r/ctype_ujis.result
  mysql-test/t/ctype_big5.test
  mysql-test/t/ctype_cp932_binlog_stm.test
  mysql-test/t/ctype_eucjpms.test
  mysql-test/t/ctype_euckr.test
  mysql-test/t/ctype_gb2312.test
  mysql-test/t/ctype_gbk.test
  mysql-test/t/ctype_sjis.test
  mysql-test/t/ctype_ujis.test
  -  Adding tests

  strings/ctype-big5.c
  strings/ctype-cp932.c
  strings/ctype-euc_kr.c
  strings/ctype-eucjpms.c
  strings/ctype-gb2312.c
  strings/ctype-gbk.c
  strings/ctype-sjis.c
  - Adding upper/lower case conversion data

  strings/ctype-mb.c
  - Adding handling of upper/lower conversion for multi-byte characters.

  strings/ctype-ujis.c
  - Implementing shared upper/lower conversion
    functions  for ujis and eucjpms
  - Adding upper/lower case conversion data for ujis
2010-01-14 15:17:57 +04:00
Alexander Nozdrin
7401bc2816 Auto-merge from mysql-next-mr. 2010-01-14 12:39:57 +03:00
Alexander Nozdrin
9c820e637e Auto-merge from mysql-next-mr. 2010-01-14 12:00:08 +03:00
Luis Soares
0f90f1dee7 Disabled binlog_unsafe due to BUG#50312. 2010-01-13 23:27:22 +00:00
Alfranio Correia
a1aa459458 merge mysql-5.1-rep+2-delivery1 --> mysql-5.1-rpl-merge 2010-01-13 13:27:25 +00:00
Mats Kindahl
6a7e3ca55e Merging with mysql-5.1-rep+2-delivery1 2010-01-13 14:00:48 +01:00
Mats Kindahl
f8c074e1ba Replacing error variable that was lost. 2010-01-13 13:59:58 +01:00
Mats Kindahl
86291b043b Merging with mysql-5.1-rep+2-delivery1 2010-01-13 13:37:01 +01:00
Alfranio Correia
46d1689b7c merge mysql-next-mr --> mysql-5.1-rpl-merge
Conflicts:
  Text conflict in sql/log.cc
  Text conflict in sql/slave.cc
  Text conflict in sql/sql_base.cc
2010-01-13 12:22:34 +00:00
Mats Kindahl
a3c4467515 WL#5151: Conversion between different types when
replicating

Replace c_ptr() calls with c_ptr_safe() calls to
avoid valgrind warnings.

Adding code to to handle the case that no metadata
was present in the table map for the column.

Allow first parameter to unpack_row() to be NULL,
in which case no source tables is used and hence
no checks nor conversions are done.

Clarifying some comments and fixing documentation
for unpack_row().
2010-01-13 12:58:42 +01:00
Luis Soares
231773b449 Makes slave_type_conversions_basic to be skipped in embedded
run in PB2 as it ought to be. Otherwise test will fail because
variable is no recognized:

1193: Unknown system variable 'slave_type_conversions'
2010-01-13 08:29:23 +00:00
Luis Soares
980695e7a4 Fixes two remaining test failures:
- mysqld--help-win
    Updated result so that it contains missing
    value for slave-type-conversions

  - rpl_idempotency
    This seems a bad merge. In BUG#39934, the contents of
    this file had been split into rpl_row_idempontency and
    rpl_idempotency. The patch was pushed to 5.1-rep+3 which
    was later merged in rep+2-delivery1 which in turn was
    merged in 5.1-rpl-merge. Now while merging next-mr in
    5.1-rpl-merge, the file got back it's old content (which
    is in rpl_row_idempotency now because of BUG#39934). This
    cset reverts the bad merge:

    bzr merge -r revid:dao-gang.qu@sun.com-20100112120709-ioxp11yl9bvquaqd..\
    before:revid:dao-gang.qu@sun.com-20100112120709-ioxp11yl9bvquaqd\
    suite/rpl/t/rpl_idempotency.test
2010-01-13 00:23:07 +00:00
Luis Soares
88a9362d48 Fixes one more failure in gcov run:
- sys_vars.rpl_init_slave_func
    Added suppression for the unsafe warning.
2010-01-12 23:22:34 +00:00
Marc Alff
bed80b9c82 Merge mysql-next-mr (revno 2958) --> mysql-next-mr-marc 2010-01-12 10:58:38 -07:00