mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 04:22:27 +01:00
52 commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
Venkatesh Duggirala
|
11c0805e1d |
Bug17632978 SLAVE CRASHES IF ROW EVENT IS CORRUPTED
(MYSQLBINLOG -V CRASHES WITH THAT BINLOG) Post Push: Fixing Werror compiler issue |
||
Venkatesh Duggirala
|
5fa9664b07 |
Bug#17632978 SLAVE CRASHES IF ROW EVENT IS CORRUPTED
(MYSQLBINLOG -V CRASHES WITH THAT BINLOG) Problem: If slave receives a corrupted row event, slave server is crashing. Analysis: When slave is unpacking the row event, it is not validating the data before applying the event. If the data is corrupted for eg: the length of a field is wrong, it could end up reading wrong data leading to a crash. A similar problem happens when mysqlbinlog tool is used against a corrupted binlog using '-v' option. Due to -v option, the tool tries to print the values of all the fields. Corrupted field length could lead to a crash. Fix: Before unpacking the field, a verification will be made on the length. If it falls into the event range, only then it will be unpacked. Otherwise, "ER_SLAVE_CORRUPT_EVENT" error will be thrown. Incase mysqlbinlog -v case, the field value will not be printed and the processing of the file will be stopped. sql/field.h: Removed a function which is not required anymore sql/log_event.cc: Adding a validation on the field length before the tool tries to print the value. sql/log_event.h: Changing unpack_row call according to the new arguments sql/log_event_old.h: Changing unpack_row call according to the new arguments sql/rpl_record.cc: Adding a new argument 'row_end' which tells the end position of the complete data in the row event. It will be used to do validation before doing 'unpack' field. sql/rpl_record.h: Adding a new argument 'row_end' which tells the end position of the complete data in the row event. It will be used to do validation before doing 'unpack' field. sql/rpl_utility.cc: Now calc_field_size() is required for client too. |
||
Venkatesh Duggirala
|
e55d4a88a8 |
Bug#16416302 - CRASH WITH LOSSY RBR REPLICATION
OF OLD STYLE DECIMALS Problem: In RBR, Slave is unable to read row buffer properly when the row event contains MYSQL_TYPE_DECIMAL (old style decimals) data type column. Analysis: In RBR, Slave assumes that Master sends meta data information for all column types like text,blob,varchar,old decimal,new decimal,float, and few other types along with row buffer event. But Master is not sending this meta data information for old style decimal columns. Hence Slave is crashing due to unknown precision value for these column types. Master cannot send this precision value to Slave which will break replication cross-version compatibility. Fix: To fix the crash, Slave will now throw error if it receives old-style decimal datatype. User should consider changing the old-style decimal to new style decimal data type by executing "ALTER table modify column" query as mentioned in http://dev.mysql.com/ doc/refman/5.0/en/upgrading-from-previous-series.html. |
||
Venkatesh Duggirala
|
08a22ba1c9 |
Bug#16056813-MEMORY LEAK ON FILTERED SLAVE
Due to not resetting a member (last_added) of Deferred events class inside a clean up function (Deferred_log_events::rewind), there is a memory leak on filtered slaves. Fix: Resetting last_added to NULL in rewind() function. sql/rpl_utility.cc: Resetting last_added to NULL to avoid memory leak |
||
Venkatesh Duggirala
|
fe4fe4e1cc |
BUG#15888454: SLAVE CRASHES WHEN DML REQUIRES CONVERSION & TABLE HAS
LESS COLUMNS THAN MASTER Problem: ======== If DML operation requires a converstion at slave and if slave contains less number of columns than master, slave is crashing. Fix: ==== When Slave applies any DML operation, it sees if any of the columns requires conversion. If yes, it creates conversion table. While creating the coversion table, it should look into the actual number of columns required to create the table instead of getting the number of columns from Master (size()). Columns would have dropped or added at Slave. So the value should be min(columns@master, columns@slave) sql/rpl_utility.cc: loop through only correct number of columns |
||
Andrei Elkin
|
14de6de946 | merge bug11754117-45670 fixes from 5.1. | ||
Andrei Elkin
|
49e484c8cd |
BUG#11754117 incorrect logging of INSERT into auto-increment
BUG#11761686 insert_id event is not filtered. Two issues are covered. INSERT into autoincrement field which is not the first part in the composed primary key is unsafe by autoincrement logging design. The case is specific to MyISAM engine because Innodb does not allow such table definition. However no warnings and row-format logging in the MIXED mode was done, and that is fixed. Int-, Rand-, User-var log-events were not filtered along with their parent query that made possible them to screw up execution context of the following query. Fixed with deferring their execution until the parent query. ****** Bug#11754117 Post review fixes. mysql-test/suite/rpl/r/rpl_auto_increment_bug45679.result: a new result file is added. mysql-test/suite/rpl/r/rpl_filter_tables_not_exist.result: results updated. mysql-test/suite/rpl/t/rpl_auto_increment_bug45679.test: regression test for BUG#11754117-45670 is added. mysql-test/suite/rpl/t/rpl_filter_tables_not_exist.test: regression test for filtering issue of BUG#11754117 - 45670 is added. sql/log_event.cc: Logics are added for deferring and executing events associated with the Query event. sql/log_event.h: Interface to deferred events batch execution is added. sql/rpl_rli.cc: initialization for new RLI members is added. sql/rpl_rli.h: New members to RLI are added to facilitate deferred events gathering and execution control; two general character RLI cleanup methods are constructed. sql/rpl_utility.cc: Deferred_log_events methods are difined. sql/rpl_utility.h: A new class Deferred_log_events is defined to implement IRU events gathering, execution and cleanup. sql/slave.cc: Necessary changes to initialize `rli->deferred_events' and prevent deferred event deletion in the main read-exec branch. sql/sql_base.cc: A new safe-check function for multi-part pk with auto-increment is defined and deployed in lock_tables(). sql/sql_class.cc: Initialization for a new member and replication cleanups are added to THD class. sql/sql_class.h: THD class receives a new member to hold a specific execution context for slave applier. sql/sql_parse.cc: Execution of the deferred event in started prior to its parent query. |
||
Kent Boortz
|
68f00a5686 | Updated/added copyright headers | ||
Kent Boortz
|
02e07e3b51 | Updated/added copyright headers | ||
Davi Arnaut
|
711c318c07 | Merge of mysql-trunk-bugfixing into mysql-trunk-merge. | ||
Davi Arnaut
|
f56dd32bf7 |
Bug#34043: Server loops excessively in _checkchunk() when safemalloc is enabled
Essentially, the problem is that safemalloc is excruciatingly slow as it checks all allocated blocks for overrun at each memory management primitive, yielding a almost exponential slowdown for the memory management functions (malloc, realloc, free). The overrun check basically consists of verifying some bytes of a block for certain magic keys, which catches some simple forms of overrun. Another minor problem is violation of aliasing rules and that its own internal list of blocks is prone to corruption. Another issue with safemalloc is rather the maintenance cost as the tool has a significant impact on the server code. Given the magnitude of memory debuggers available nowadays, especially those that are provided with the platform malloc implementation, maintenance of a in-house and largely obsolete memory debugger becomes a burden that is not worth the effort due to its slowness and lack of support for detecting more common forms of heap corruption. Since there are third-party tools that can provide the same functionality at a lower or comparable performance cost, the solution is to simply remove safemalloc. Third-party tools can provide the same functionality at a lower or comparable performance cost. The removal of safemalloc also allows a simplification of the malloc wrappers, removing quite a bit of kludge: redefinition of my_malloc, my_free and the removal of the unused second argument of my_free. Since free() always check whether the supplied pointer is null, redudant checks are also removed. Also, this patch adds unit testing for my_malloc and moves my_realloc implementation into the same file as the other memory allocation primitives. client/mysqldump.c: Pass my_free directly as its signature is compatible with the callback type -- which wasn't the case for free_table_ent. |
||
Davi Arnaut
|
bf4eb485c3 | Post-merge fix: restore promotion to unsigned long long side-effect of bit_is_set. | ||
Davi Arnaut
|
5641fb64b4 | Merge of mysql-5.1-bugteam into mysql-trunk-merge. | ||
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 |
||
Mats Kindahl
|
2c5f439d65 |
BUG#49618: Field length stored incorrectly in binary log
for InnoDB The class Field_bit_as_char stores the metadata for the field incorrecly because bytes_in_rec and bit_len are set to (field_length + 7 ) / 8 and 0 respectively, while Field_bit has the correct values field_length / 8 and field_length % 8. Solved the problem by re-computing the values for the metadata based on the field_length instead of using the bytes_in_rec and bit_len variables. To handle compatibility with old server, a table map flag was added to indicate that the bit computation is exact. If the flag is clear, the slave computes the number of bytes required to store the bit field and compares that instead, effectively allowing replication *without conversion* from any field length that require the same number of bytes to store. mysql-test/suite/rpl/t/rpl_typeconv_innodb.test: Adding test to check compatibility for bit field replication when using InnoDB sql/field.cc: Extending compatible_field_size() with flags from table map to allow fields to check master info. sql/field.h: Extending compatible_field_size() with flags from table map to allow fields to check master info. sql/log.cc: Removing table map flags since they are not used outside table map class. sql/log_event.cc: Removing flags parameter from table map constructor since it is not used and does not have to be exposed. sql/log_event.h: Adding flag to denote that bit length for bit field type is exact and not potentially rounded to even bytes. sql/rpl_utility.cc: Adding fields to table_def to store table map flags. sql/rpl_utility.h: Removing obsolete comment and adding flags to store table map flags from master. |
||
Luis Soares
|
ade4977c1e |
Fix for BUG#51716 and BUG#51787.
In BUG#51787 we were using the wrong charset to print out the data. We were using the field charset for the string that would hold the information. This caused the assertion, because the string length was not aligned with UTF32 bytes requirements for storage. We fix this by using &my_charset_latin1 in the string object instead of the field->charset(). As a side-effect, we needed to extend the show_sql_type interface so that it took the field charset is now passed as a parameter, so that one is able to calculate the correct field size. In BUG#51716 we had issues with Field_string::pack and Field_string::unpack. When packing, the length was incorrectly calculated. When unpacking, the padding the string would be padded with the wrong bytes (a few bytes less than it should). We fix this by resorting to charset abstractions (functions) that calculate the correct length when packing and pad correctly the string when unpacking. |
||
Mats Kindahl
|
4abdd9f14a | Merging with mysql-5.1-rep+2-delivery1 | ||
Mats Kindahl
|
a561e53943 |
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(). |
||
Luis Soares
|
a533cec71b |
Fix for rpl_bug31076 valgrind failure which popped up after
WL#5151 was pushed. Problem 1: Some old binlog events do not contain metadata. This makes checking whether the field can be converted or not rather impossible because one cannot compare, for instance, field sizes from original table and target table. Solution 1: When an event does not contain metadata, we will just check if field types are equal and assume that original field definition matched with the one in the target table. Problem 2: There is a second fix, which involves lack of information regarding maybe_null. This was causing a conditional jump warning when creating a conversion table. Solution 2: We will just assume that all fields that need to be in the conversion table may be null. |
||
Luis Soares
|
c5f7044d1a |
Valgrind warnings that have poped up ever since WL#5151 was pushed.
This fixes two more warnings for tests: - rpl_row_colSize - rpl_typeconv |
||
Luis Soares
|
dcf8e11536 |
BUG#49836: Replication of geometric fields is broken after WL#5151
Metadata for geometric fields was not being properly stored by the slave in its the table definition. This happened because MYSQL_TYPE_GEOMETRY was not included in the 'switch... case' that handles field metadata according to the field type. Therefore, it would default to 0, leading to always have a mismatch between master's field and slave fields'. We fix this by deploying the missing 'case MYSQL_TYPE_GEOMETRY:'. mysql-test/extra/rpl_tests/type_conversions.test: Added some tests for blob fields and also the particular case for replicating from/into BLOB into/from GEOMETRY. sql/field.h: As requested by Mats, reverted function added by him in changeset: http://lists.mysql.com/commits/95313 |
||
Luis Soares
|
67cc50d2a3 |
PB2 was showing some valgrind warnings after WL#5151 was pushed.
This patch fixes these warnings and some compile time warnings. On top of that, it also fixes rpl_err_ignoredtable test failure. This test was failing because the warning suppression text was not matching the latest text. We fix this by making them match. mysql-test/suite/rpl/t/rpl_err_ignoredtable.test: Replaced the suppression text. sql/rpl_record.cc: - Fixed some compile time warnings (replaced %d --> %ld and removed unused mas mask variable. - Fixed valgrind warnings when using c_ptr(). Replaced with c_ptr_safe(). sql/rpl_utility.cc: - Fixed valgrind warnings when using c_ptr(). Replaced with c_ptr_safe(). |
||
Mats Kindahl
|
74577209ac |
WL#5151: Conversion between different types when replicating
Fixes to get it to compile on MacOSX. |
||
Mats Kindahl
|
9e980bf79e |
BUG#49618: Field length stored incorrectly in binary log
for InnoDB The class Field_bit_as_char stores the metadata for the field incorrecly because bytes_in_rec and bit_len are set to (field_length + 7 ) / 8 and 0 respectively, while Field_bit has the correct values field_length / 8 and field_length % 8. Solved the problem by re-computing the values for the metadata based on the field_length instead of using the bytes_in_rec and bit_len variables. To handle compatibility with old server, a table map flag was added to indicate that the bit computation is exact. If the flag is clear, the slave computes the number of bytes required to store the bit field and compares that instead, effectively allowing replication *without conversion* from any field length that require the same number of bytes to store. mysql-test/suite/rpl/t/rpl_typeconv_innodb.test: Adding test to check compatibility for bit field replication when using InnoDB. sql/field.cc: Extending compatible_field_size() with flags from table map to allow fields to check master info. sql/field.h: Extending compatible_field_size() with flags from table map to allow fields to check master info. sql/log.cc: Removing table map flags since they are not used outside table map class. sql/log_event.cc: Removing flags parameter from table map constructor since it is not used and does not have to be exposed. sql/log_event.h: Adding flag to denote that bit length for bit field type is exact and not potentially rounded to even bytes. sql/rpl_utility.cc: Adding fields to table_def to store table map flags. sql/rpl_utility.h: Removing obsolete comment and adding flags to store table map flags from master. |
||
Mats Kindahl
|
870daf5c01 |
WL#5151: Conversion between different types when replicating
Fixing minor error when printing SQL types from master and cleaning some code. Updating result files. |
||
Mats Kindahl
|
571843804c |
WL#5151: Conversion between different types when replicating
Row-based replication requires the types of columns on the master and slave to be approximately the same (some safe conversions between strings are allowed), but does not allow safe conversions between fields of similar types such as TINYINT and INT. This patch implement type conversions between similar fields on the master and slave. The conversions are controlled using a new variable SLAVE_TYPE_CONVERSIONS of type SET('ALL_LOSSY','ALL_NON_LOSSY'). Non-lossy conversions are any conversions that do not run the risk of losing any information, while lossy conversions can potentially truncate the value. The column definitions are checked to decide if the conversion is acceptable. If neither conversion is enabled, it is required that the definitions of the columns are identical on master and slave. Conversion is done by creating an internal conversion table, unpacking the master data into it, and then copy the data to the real table on the slave. .bzrignore: New files added client/Makefile.am: New files added client/mysqlbinlog.cc: Functions in rpl_utility.cc is now needed by mysqlbinlog.cc. libmysqld/Makefile.am: New files added mysql-test/extra/rpl_tests/check_type.inc: Test include file to check a single type conversion. mysql-test/extra/rpl_tests/rpl_extraSlave_Col.test: Switching to use INT instead of TEXT for column that should not have matching types. mysql-test/extra/rpl_tests/rpl_row_basic.test: Adding code to enable type conversions for BIT tests since InnoDB cannot handle them properly due to incorrect information stored as metadata. mysql-test/extra/rpl_tests/type_conversions.test: Test file to check a set of type conversions with current settings of slave_type_conversions. mysql-test/suite/rpl/t/rpl_typeconv.test: Test file to test conversions from master to slave with all possible values for slave_type_conversions. The test also checks that the slave_type_conversions variable works as expected. sql/field.cc: Changing definition of compatible_field_size to both check if two field with identical base types are compatible and give an order between them if they are compatible. This only implement checking on the slave, so it will not affect replication from an old master to a new slave. sql/field.h: Changing prototypes for functions: - compatible_field_size() - init_for_tmp_table() - row_pack_length() sql/log_event.cc: Changing compability checks to build a conversion table if the fields are compatible, but does not have the same base type. sql/log_event_old.cc: Changing compability checks to build a conversion table if the fields are compatible, but does not have the same base type. sql/mysql_priv.h: Adding global option variable for SLAVE_TYPE_CONVERSIONS sql/mysqld.cc: Adding SLAVE_TYPE_CONVERSIONS global server variable. sql/rpl_record.cc: Changing unpack_row to use the conversion table if present. sql/rpl_rli.h: Removing function get_tabledef and replacing it with get_table_data(). This function retrieve data for table opened for replication, not just table definition. sql/rpl_utility.cc: Function table_def::compatible_with is changed to compare table on master and slave for compatibility and generate a conversions table if they are compatible. Computing real type of fields from metadata for ENUM and SET types. Computing pack_length correctly for ENUM, SET, and BLOB types. Adding optimization to not check compatibility if no slave type conversions are enabled. sql/rpl_utility.h: Changing prototypes since implementation has changed. Modifying table_def::type() to return real type instead of stored type. sql/set_var.cc: Adding SLAVE_TYPE_CONVERSIONS variable. sql/set_var.h: Adding SLAVE_TYPE_CONVERSIONS variable. sql/share/errmsg.txt: Adding error messages for slave type conversions. sql/sql_class.h: Adding SLAVE_TYPE_CONVERSIONS variable. sql/sql_select.cc: Correcting create_virtual_tmp_table() to compute null bit positions correctly in the presence of bit fields. |
||
Mats Kindahl
|
711305e2c5 |
BUG#37426: RBR breaks for CHAR() UTF-8 fields > 85 chars
In order to handle CHAR() fields, 8 bits were reserved for the size of the CHAR field. However, instead of denoting the number of characters in the field, field_length was used which denotes the number of bytes in the field. Since UTF-8 fields can have three bytes per character (and has been extended to have four bytes per character in 6.0), an extra two bits have been encoded in the field metadata work for fields of type Field_string (i.e., CHAR fields). Since the metadata word is filled, the extra bits have been encoded in the upper 4 bits of the real type (the most significant byte of the metadata word) by computing the bitwise xor of the extra two bits. Since the upper 4 bits of the real type always is 1111 for Field_string, this means that for fields of length <256, the encoding is identical to the encoding used in pre-5.1.26 servers, but for lengths of 256 or more, an unrecognized type is formed, causing an old slave (that does not handle lengths of 256 or more) to stop. mysql-test/extra/rpl_tests/rpl_row_basic.test: Adding test cases for replicating UTF-8 fields of lengths of 256 or more (bytes). mysql-test/suite/binlog/r/binlog_base64_flag.result: Result file change. mysql-test/suite/binlog/t/binlog_base64_flag.test: Adding tests to trigger check that an error is generated when replicating from a 5.1.25 server for tables with a CHAR(128) but not when replicating a table with a CHAR(63). Although the bug indicates that the limit is 83, we elected to use CHAR(63) since 6.0 uses 4-byte UTF-8, and anything exceeding 63 would then cause the test to fail when the patch is merged to 6.0. mysql-test/suite/bugs/combinations: Adding combinations file to run all bug reports in all binlog modes (where applicable). mysql-test/suite/bugs/r/rpl_bug37426.result: Result file change. mysql-test/suite/bugs/t/rpl_bug37426.test: Added test for reported bug. mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result: Result file change. mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result: Result file change. sql/field.cc: Encoding an extra two bits in the most significant nibble (4 bits) of the metadata word. Adding assertions to ensure that no attempt is made to use lengths longer than supported. Extending compatible_field_size() function with an extra parameter holding a Relay_log_instace for error reporting. Field_string::compatible_field_size() now reports an error if field size for a CHAR is >255. sql/field.h: Field length is now computed from most significant 4 bits of metadata word, or is equal to the row pack length if there is no metadata. Extending compatible_field_size() function with an extra parameter holding a Relay_log_instace for error reporting. sql/rpl_utility.cc: Adding relay log parameter to compatible_field_size(). Minor refactoring to eliminate duplicate code. sql/slave.cc: Extending rpl_master_has_bug() with a single-argument predicate function and a parameter to the predicate function. The predicate function can be used to test for extra conditions for the bug before writing an error message. sql/slave.h: Extending rpl_master_has_bug() with a single-argument predicate function and a parameter to the predicate function. The predicate function can be used to test for extra conditions for the bug before writing an error message. Also removing gratuitous default argument. sql/sql_insert.cc: Changing calls to rpl_master_has_bug() to adapt to changed signature. |
||
unknown
|
b0283afb9c |
Fixing return value.
sql/item_cmpfunc.cc: Minor fix to return correct value in case of error. sql/rpl_utility.cc: Minor fix to return correct value in case of error. |
||
unknown
|
101c30ccc4 |
Post-merge changes.
BitKeeper/deleted/.del-show_binlog_events2.inc: Delete: mysql-test/include/show_binlog_events2.inc client/mysqlbinlog.cc: char -> uchar for raw memory. sql/item_cmpfunc.cc: Adding cast to remove warning when converting negative integer to unsigned type. sql/log_event.cc: char -> uchar for raw memory. sql/log_event.h: char -> uchar for raw memory. sql/rpl_utility.cc: Adding cast to remove warning when converting negative integer to unsigned type. sql/slave.cc: char -> uchar for raw memory. sql/sql_repl.cc: char -> uchar for raw memory. sql-common/client.c: char -> uchar for raw memory. |
||
unknown
|
431fd2c1aa |
BUG#30790 : Suspicious code in rpl_utility.cc
This patch clarifies some of the coding choices with documentationa and removes a limitation in the code for future expansion of the CHAR and BINARY fields to length > 255. sql/field.cc: BUG#30790 : Suspicious code in rpl_utility.cc This patch adds an assertion to ensure we are not attempting to encode negative values. sql/log_event.cc: BUG#30790 : Suspicious code in rpl_utility.cc This patch adds comments to help explain the choice of variable types. sql/rpl_utility.cc: BUG#30790 : Suspicious code in rpl_utility.cc This patch removes code from the calc_field_size that is not needed and was ambiguous. Originally intended to future expansion, the code was not needed. Also added are comments to help explain some portions of the code. A change was made to the korr method to use the unsigned version to avoid extended sign problems. sql/rpl_utility.h: BUG#30790 : Suspicious code in rpl_utility.cc This patch corrects some type discrepencies and removes an extra cast. |
||
unknown
|
f7bb00abee |
Merge quant.(none):/ext/mysql/bk/mysql-5.1-bug21842-5.1.22
into quant.(none):/ext/mysql/bk/mysql-5.1-bug21842-rpl mysql-test/suite/ndb/r/ndb_dd_basic.result: Auto merged sql/field.cc: Auto merged sql/handler.cc: Auto merged sql/log.cc: Auto merged sql/log_event_old.cc: Auto merged sql/mysqld.cc: Auto merged sql/rpl_record.cc: Auto merged sql/rpl_record.h: Auto merged sql/rpl_utility.cc: Auto merged sql/rpl_utility.h: Auto merged sql/sp_head.cc: Auto merged sql/sql_class.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_insert.cc: Auto merged sql/sql_select.cc: Auto merged sql/sql_string.cc: Auto merged sql/sql_table.cc: Auto merged sql/unireg.h: Auto merged sql/log_event.cc: Manual merge. sql/log_event.h: Manual merge. sql/log_event_old.h: Manual merge. |
||
unknown
|
642eda2229 |
BUG#21842 (Cluster fails to replicate to innodb or myisam with err 134
using TPC-B): Problem: A RBR event can contain incomplete row data (only key value and fields which have been changed). In that case, when the row is unpacked into record and written to a table, the missing fields get incorrect NULL values leading to master-slave inconsistency. Solution: Use values found in slave's table for columns which are not given in the rows event. The code for writing a single row uses the following algorithm: 1. unpack row_data into table->record[0], 2. try to insert record, 3. if duplicate record found, fetch it into table->record[0], 4. unpack row_data into table->record[0], 5. write table->record[0] into the table. Where row_data is the row as stored in the data area of a rows event. Thus: a) unpacking of row_data happens at the time when row is written into a table, b) when unpacking (in step 4), only columns present in row_data are overwritten - all other columns remain as they were found in the table. Since all data needed for the above algorithm is stored inside Rows_log_event class, functions which locate and write rows are turned into methods of that class. replace_record() -> Rows_log_event::write_row() find_and_fetch_row() -> Rows_log_event::find_row() Both methods take row data from event's data buffer - the row being processed is pointed by m_curr_row. They unpack the data as needed into table's record buffers record[0] or record[1]. When row is unpacked, m_curr_row_end is set to point at next row in the data buffer. Other changes introduced in this changeset: - Change signature of unpack_row(): don't report errors and don't setup table's rw_set here. Errors can happen only when setting default values in prepare_record() function and are detected there. - In Rows_log_event and derived classes, don't pass arguments to the execution primitives (do_...() member functions) but use class members instead. - Move old row handling code into log_event_old.cc to be used by *_rows_log_event_old classes. Also, a new test rpl_ndb_2other is added which tests basic replication from master using ndb tables to slave storing the same tables using (possibly) different engine (myisam,innodb). Test is based on existing tests rpl_ndb_2myisam and rpl_ndb_2innodb. However, these tests doesn't work for various reasons and currently are disabled (see BUG#19227). The new test differs from the ones it is based on as follows: 1. Single test tests replication with different storage engines on slave (myisam, innodb, ndb). 2. Include file extra/rpl_tests/rpl_ndb_2multi_eng.test containing original tests is replaced by extra/rpl_tests/rpl_ndb_2multi_basic.test which doesn't contain tests using partitioned tables as these don't work currently. Instead, it tests replication to a slave which has more or less columns than master. 3. Include file include/rpl_multi_engine3.inc is replaced with include/rpl_multi_engine2.inc. The later differs by performing slightly different operations (updating more than one row in the table) and clearing table with "TRUNCATE TABLE" statement instead of "DELETE FROM" as replication of "DELETE" doesn't work well in this setting. 4. Slave must use option --log-slave-updates=0 as otherwise execution of replication events generated by ndb fails if table uses a different storage engine on slave (see BUG#29569). sql/log_event.cc: - Initialization of new Rows_log_event members. - Fixing some typos in documentation. In Rows_log_event::do_apply_event: - Set COMPLETE_ROWS_F flag (when master and slave have the same number of columns and all colums are present in the row) - Move initialization of tables write/read sets here, outside the rows processing loop (and out of unpack_row() function). - Remove calls to do_prepare_row() - no longer needed. - Add code managing m_curr_row and m_curr_row_end pointers. - Change signatures of row processing methods of Rows_log_event and it descendants - now most arguments are taken from class members. - Remove do_prepare_row() methods which are no longer used. - The auto_afree_ptr template is moved to rpl_utility.h (so that it can be used in log_event_old.cc). - Removed copy_extra_fields() function - no longer used. In Rows_log_event::write_row (former replace_record): - The old code is moved to log_event_old.cc. - Use prepare_record() and non-destructive unpack_current_row() to fill record with data. - In case a record being inserted already exists on slave and row data is incomplete use the record found and non-destructive unpack_current_row() to combine new column values with existing ones. - More debug info added. In Rows_log_event::find_row (former find_and_fetch_row function): - The old code is moved to log_event_old.cc. - Unpacking of the row is moved here. - In case of search using PK, the key data is prepared here. - More debug info added. - Remove initialization of Rows_log_event::m_after_image buffer which is no longer used. - Use new row unpacking methods in Update_rows_log_event::do_exec_row() to create before and after image. Note: all existing code used by Rows_log_event::do_apply_event() has been moved to log_event_old.cc to be used by *_rows_log_event_old classes. sql/log_event.h: - Add new COMPLETE_ROWS_F flag in Rows_log_event. - Add Rows_log_event members describing the row being processed. - Add a pointer to key buffer which is used in derived classes. - Add new methods: find__row(), write_row() and unpack_current_row(). - Change signatures of do_...() methods (replace method arguments by class members). - Remove do_prepare_row() method which is no longer used. - Update method documentation. - Add Old_rows_log_event class, which contains the old row processing code, as a friend of Rows_log_event so that it can access all members of an event instance. sql/log_event_old.cc: Move here old implementation of Rows_log_event::do_apply_event() and helper methods. sql/log_event_old.h: - Define new class Old_rows_log_event encapsulating old version of Rows_log_event::do_apply_event() and the helper methods. - Add the Old_rows_log_event class as a base for *_old versions of RBR event classes, ensure that the old version of do_apply_event() is called. - For *_old classes, declare the helper methods used in the old version of do_apply_event(). sql/rpl_record.cc: - Make unpack_row non-destructive for columns not present in the row. - Don't fill read/write set here as it is done outside these functions. - Move initialization of a record with default values to a separate function prepare_record(). sql/rpl_record.h: - Change signature of unpack_row(). - Declare function prepare_record(). sql/rpl_utility.cc: Make tabe_def::calc_field_size() a const method. sql/rpl_utility.h: Make table_def::calc_field_size() a const method. Move auto_afree_ptr template here so that it can be re-used (currently in log_event.cc and log_event_old.cc). Similar with DBUG_PRINT_BITSET macro. mysql-test/extra/rpl_tests/rpl_ndb_2multi_basic.test: Modification of rpl_ndb_2multi_eng test. Tests with partitioned tables are removed and a setup with slave having different number of columns than master is added. mysql-test/include/rpl_multi_engine2.inc: Modification of rpl_multi_engine3.inc which operates on more rows and replaces "DELETE FROM t1" with "TRUNCATE TABLE t1" as the first form doesn't replicate in NDB -> non-NDB setting (BUG#28538). mysql-test/suite/rpl_ndb/r/rpl_ndb_2other.result: Results of the test. mysql-test/suite/rpl_ndb/t/rpl_ndb_2other-slave.opt: Test options. --log-slave-updates=0 is compulsory as otherwise non-NDB slave applying row events from NDB master will fail when trying to log them. mysql-test/suite/rpl_ndb/t/rpl_ndb_2other.test: Test replication of NDB table to slave using other engine. The main test is in extra/rpl_tests/rpl_ndb_2multi_basic.test. It is included here several times with different settings of default storage engine on slave. |
||
unknown
|
044a4a3e06 |
Renaming RELAY_LOG_INFO and st_relay_log_info to follow coding standards
(and be more friendly to Doxygen by removing unnecessary typedefs). sql/log.cc: Renaming struct st_relay_log_info to class Relay_log_info. sql/log.h: Renaming struct st_relay_log_info to class Relay_log_info. sql/log_event.cc: Renaming RELAY_LOG_INFO to Relay_log_info. sql/log_event.h: Renaming struct st_relay_log_info to class Relay_log_info. Renaming RELAY_LOG_INFO to Relay_log_info. Removing typedef RELAY_LOG_INFO. sql/log_event_old.cc: Renaming RELAY_LOG_INFO to Relay_log_info. sql/log_event_old.h: Renaming RELAY_LOG_INFO to Relay_log_info. sql/rpl_mi.h: Renaming RELAY_LOG_INFO to Relay_log_info. sql/rpl_record.cc: Renaming RELAY_LOG_INFO to Relay_log_info. sql/rpl_record.h: Renaming RELAY_LOG_INFO to Relay_log_info. sql/rpl_record_old.cc: Renaming RELAY_LOG_INFO to Relay_log_info. sql/rpl_record_old.h: Renaming RELAY_LOG_INFO to Relay_log_info. sql/rpl_rli.cc: Renaming struct st_relay_log_info to class Relay_log_info. Renaming RELAY_LOG_INFO to Relay_log_info. sql/rpl_rli.h: Renaming struct st_relay_log_info to class Relay_log_info. Renaming RELAY_LOG_INFO to Relay_log_info. Removing typedef RELAY_LOG_INFO. sql/rpl_utility.cc: Renaming RELAY_LOG_INFO to Relay_log_info. sql/rpl_utility.h: Renaming struct st_relay_log_info to class Relay_log_info. Renaming RELAY_LOG_INFO to Relay_log_info. Removing typedef RELAY_LOG_INFO. sql/slave.cc: Renaming RELAY_LOG_INFO to Relay_log_info. sql/slave.h: Renaming struct st_relay_log_info to class Relay_log_info. Renaming RELAY_LOG_INFO to Relay_log_info. Removing typedef RELAY_LOG_INFO. sql/sql_binlog.cc: Renaming RELAY_LOG_INFO to Relay_log_info. sql/sql_class.h: Renaming struct st_relay_log_info to class Relay_log_info. Renaming RELAY_LOG_INFO to Relay_log_info. Removing typedef RELAY_LOG_INFO. sql/sql_repl.cc: Renaming RELAY_LOG_INFO to Relay_log_info. |
||
unknown
|
7a9b90ce09 |
Merge mysql_cab_desk.:C:/source/c++/mysql-5.1-new-rpl
into mysql_cab_desk.:C:/source/c++/mysql-5.1_BUG_22086 sql/field.cc: Auto merged sql/field.h: Auto merged sql/log_event.cc: Auto merged sql/rpl_utility.cc: Auto merged sql/rpl_utility.h: Auto merged |
||
unknown
|
9ad300d50d |
BUG#22086 : Extra Slave Col: Char(5) on slave and Char(10) on master cause mysqld crash
This patch adds functionality to row-based replication to ensure the slave's column sizes are >= to that of the master. It also includes some refactoring for the code from WL#3228. mysql-test/extra/rpl_tests/rpl_extraSlave_Col.test: BUG#22086 : Extra Slave Col: Char(5) on slave and Char(10) on master cause mysqld crash Removed commented out portion of test referenced in bug report. This test supports the original request of the bug report. mysql-test/suite/rpl/r/rpl_extraCol_innodb.result: BUG#22086 : Extra Slave Col: Char(5) on slave and Char(10) on master cause mysqld crash New result file for additional test. mysql-test/suite/rpl/r/rpl_extraCol_myisam.result: BUG#22086 : Extra Slave Col: Char(5) on slave and Char(10) on master cause mysqld crash New result file for additional test. mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result: BUG#22086 : Extra Slave Col: Char(5) on slave and Char(10) on master cause mysqld crash New result file for additional test. sql/field.cc: BUG#22086 : Extra Slave Col: Char(5) on slave and Char(10) on master cause mysqld crash This patch refactors the additions made by this bug patch and those made by WL#3228. The effort consolidates the large switches on type() into functions within the field classes. sql/field.h: BUG#22086 : Extra Slave Col: Char(5) on slave and Char(10) on master cause mysqld crash This patch refactors the additions made by this bug patch and those made by WL#3228. The effort consolidates the large switches on type() into functions within the field classes. sql/log_event.cc: BUG#22086 : Extra Slave Col: Char(5) on slave and Char(10) on master cause mysqld crash This patch refactors the calc_field_size() method to use the new methods implemented in the field classes. It also corrects comments concerning how replication of field metadata works. sql/log_event.h: BUG#22086 : Extra Slave Col: Char(5) on slave and Char(10) on master cause mysqld crash This patch refactors out the calc_field_size() method into the method save_field_metadata(). sql/rpl_utility.cc: BUG#22086 : Extra Slave Col: Char(5) on slave and Char(10) on master cause mysqld crash This patch adds a method to check the size of the field on the master using the field metadata from WL#3228. Each column is checked to ensure the slave's column is >= to the master's column in size. sql/rpl_utility.h: BUG#22086 : Extra Slave Col: Char(5) on slave and Char(10) on master cause mysqld crash This patch changes the table_def class so that it records the size of the metadata. This is a result of refactoring out the calc_field_size() method into the method save_field_metadata(). Prevents access via field_metadata(col) to unitialized memory when there is no metadata transmitted from the master. mysql-test/suite/rpl/r/rpl_row_colSize.result: BUG#22086 : Extra Slave Col: Char(5) on slave and Char(10) on master cause mysqld crash New result file for additional test. mysql-test/suite/rpl/t/rpl_row_colSize.test: BUG#22086 : Extra Slave Col: Char(5) on slave and Char(10) on master cause mysqld crash Added a test file to test each variable type that relies on field metadata from the master. mysql-test/include/test_fieldsize.inc: BUG#22086 : Extra Slave Col: Char(5) on slave and Char(10) on master cause mysqld crash Sub unit file to test each variable type that relies on field metadata from the master. |
||
unknown
|
a04dff19f3 |
Fixes to eliminate valgrind warnings.
sql/rpl_record.cc: Factoring out expression and putting it in an auto variable. sql/rpl_utility.cc: Removing a check that causes compile warnings. sql/rpl_utility.h: Ensuring that there is enough memory for the metadata, to avoid reads from uninitialized memory. Initializing the memory to keep valgrind quiet. |
||
unknown
|
339434317e |
WL#3228 (NDB) : RBR using different table defs on slave/master
This patch corrects a problem found during testing on Solaris. The code changes how length values are retrieved on big endian machines. The patch allows the rpl_extraColmaster tests to run on these machines. mysql-test/suite/rpl/r/rpl_row_create_table.result: WL#3228 (NDB) : RBR using different table defs on slave/master New result file with changes from merge of 5.1 main. mysql-test/suite/rpl/t/disabled.def: WL#3228 (NDB) : RBR using different table defs on slave/master Disable the rpl_rwo_extraColmaster_ndb test (WL#3915) because the code fails on Big Endian machines. See BUG#29549 for more details. sql/field.cc: WL#3228 (NDB) : RBR using different table defs on slave/master This patch corrects a problem found during testing on Solaris. The code changes how the store_length method processes requests for values on big endian machines. sql/field.h: WL#3228 (NDB) : RBR using different table defs on slave/master This patch corrects a problem found during testing on Solaris. The code changes how the store_length method processes requests for values on big endian machines. It also changes the get_packed_length() method to use the endian-ness of the host in getting the length + packlength. sql/rpl_record.cc: WL#3228 (NDB) : RBR using different table defs on slave/master This patch turns on the little endian switch (db_low_byte_first) in order to ensure the values are unpack correctly from binlog as they are stored in little endian format in binlog. sql/rpl_utility.cc: WL#3228 (NDB) : RBR using different table defs on slave/master This patch corrects a problem found during testing on Solaris. The code changes how the calculated field size method processes requests for values on big endian machines. |
||
unknown
|
21c55af5a1 |
WL#3228 (NDB) : RBR using different table defs on slave/master
Minor refactoring to remove compile warnings and possibly fix the Solaris test failures. sql/log_event.cc: WL#3228 (NDB) : RBR using different table defs on slave/master Minor refactoring. sql/rpl_utility.cc: WL#3228 (NDB) : RBR using different table defs on slave/master Minor refactoring. sql/rpl_utility.h: WL#3228 (NDB) : RBR using different table defs on slave/master Minor refactoring. |
||
unknown
|
d605bc5608 |
WL#3915 : (NDB) master's cols > slave
Corrective patch to fix test failures in pushbuild and add assertions to help debug rpl_extraColmaster test failures. mysql-test/extra/rpl_tests/rpl_row_tabledefs.test: WL#3915 : (NDB) master's cols > slave Change test to omit the port numbers in the result file. mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result: WL#3915 : (NDB) master's cols > slave Corrected result file. mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result: WL#3915 : (NDB) master's cols > slave Corrected result file. sql/rpl_utility.cc: WL#3915 : (NDB) master's cols > slave Added assertions to assist in debugging. |
||
unknown
|
d4671354f1 |
WL#3228 (NDB) : RBR using different table defs on slave/master
This patch adds the ability to store extra field metadata in the table map event. This data can include pack_length() or field_lenght() for fields such as CHAR or VARCHAR enabling developers to add code that can check for compatibilty between master and slave columns. More importantly, the extra field metadata can be used to store data from the master correctly should a VARCHAR field on the master be <= 255 bytes while the same field on the slave is > 255 bytes. The patch also includes the needed changes to unpack to ensure that data which is smaller on the master can be unpacked correctly on the slave. WL#3915 : (NDB) master's cols > slave Slave starts accepting and handling rows of master's tables which have more columns. The most important part of implementation is how to caclulate the amount of bytes to skip for unknown by slave column. mysql-test/suite/binlog/t/binlog_row_mix_innodb_myisam.test: WL#3228 : RBR using different table defs on slave/master This patch changes the test to coincide with changes to binlog size of table map event. mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result: WL#3228 : RBR using different table defs on slave/master This patch contains a new result file as a result of the change to the size of the tablemap log event. mysql-test/suite/rpl/r/rpl_row_create_table.result: WL#3228 : RBR using different table defs on slave/master This patch contains a new result file as a result of the change to the size of the tablemap log event. mysql-test/suite/rpl/r/rpl_row_flsh_tbls.result: WL#3228 : RBR using different table defs on slave/master This patch contains a new result file as a result of the change to the size of the tablemap log event. mysql-test/suite/rpl/r/rpl_row_inexist_tbl.result: WL#3228 : RBR using different table defs on slave/master This patch contains a new result file as a result of the change to the size of the tablemap log event. mysql-test/suite/rpl/r/rpl_row_log.result: WL#3228 : RBR using different table defs on slave/master This patch contains a new result file as a result of the change to the size of the tablemap log event. mysql-test/suite/rpl/r/rpl_row_log_innodb.result: WL#3228 : RBR using different table defs on slave/master This patch contains a new result file as a result of the change to the size of the tablemap log event. mysql-test/suite/rpl/r/rpl_row_max_relay_size.result: WL#3228 : RBR using different table defs on slave/master This patch contains a new result file as a result of the change to the size of the tablemap log event. mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result: WL#3228 : RBR using different table defs on slave/master This patch contains a new result file as a result of the change to the size of the tablemap log event. mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result: WL#3228 : RBR using different table defs on slave/master This patch contains a new result file as a result of the change to the size of the tablemap log event. mysql-test/suite/rpl/r/rpl_row_until.result: WL#3228 : RBR using different table defs on slave/master This patch contains a new result file as a result of the change to the size of the tablemap log event. mysql-test/suite/rpl/r/rpl_skip_error.result: WL#3228 : RBR using different table defs on slave/master This patch contains a new result file as a result of the change to the size of the tablemap log event. mysql-test/suite/rpl/t/disabled.def: WL#3915 master's cols > slave Disabled the rpl_stm_extraColmaster_ndb test because statement-based replication is not supported in NDB at this time. It can be enabled when statement-based replication for NDB is released. mysql-test/suite/rpl/t/rpl_row_create_table.test: WL#3228 : RBR using different table defs on slave/master This patch corrects binlog positions a result of the change to the size of the tablemap log event. mysql-test/suite/rpl/t/rpl_row_flsh_tbls.test: WL#3228 : RBR using different table defs on slave/master This patch corrects binlog positions a result of the change to the size of the tablemap log event. mysql-test/suite/rpl_ndb/r/rpl_ndb_log.result: WL#3228 : RBR using different table defs on slave/master This patch contains a new result file as a result of the change to the size of the tablemap log event. mysql-test/suite/rpl_ndb/r/rpl_truncate_7ndb.result: WL#3228 : RBR using different table defs on slave/master This patch contains a new result file as a result of the change to the size of the tablemap log event. sql/field.cc: WL#3228 : RBR using different table defs on slave/master This patch includes updates to the unpack() methods for the variable length fields. A new parameter was added (from_length) that is the value stored in the field_metadata of the table map from the table_def class. If the value is non-zero and less than what the field on the slave is then use the from_length else use the original value from the field on the slave. sql/field.h: L#3228 : RBR using different table defs on slave/master This patch includes updates to the unpack() methods for the variable length fields. A new parameter was added (from_length) that is the value stored in the field_metadata of the table map from the table_def class. sql/log_event.cc: WL#3228 : RBR using different table defs on slave/master This patch adds methods to calculate the field metadata size, prepare the field metadata for writing to the binlog, and additions to the Table_map_log_event::write_body method to include the field metadata in the table map that is written to the binlog. WL#3915 master's cols > slave copying extra (slave's) fields returns early if master's table version is wider; removing assert in the way of master > slave cols. sql/log_event.h: WL#3228 : RBR using different table defs on slave/master This patch adds method declarations and variables needed to support storing field metadata in the table map that is written to the binlog. sql/rpl_record.cc: WL#3228 : RBR using different table defs on slave/master This patch modifies the unpack_row() method to unpack fields passing in the value from the table_def class. This value is the extra field metadata stored there from the master. WL#3915 master's cols > slave adding a snippet that shift exectution curson donw the row skipping unknown by slave fields' data. sql/rpl_rli.h: WL#3228 : RBR using different table defs on slave/master This patch adds a helper function to retrieve the table_def for a given table in the RPL_TABLE_LIST structure. sql/rpl_utility.cc: WL#3228 : RBR using different table defs on slave/master This patch adds a helper method that retrieves the correct size parameter for the field. This method is used to compare the size as sent by the master with that on the slave for all types of fields that can vary in size and storage requirements. WL#3915 master's cols > slave Remove warning message for master's cols > slave. sql/rpl_utility.h: WL#3228 : RBR using different table defs on slave/master This patch changes the table_def class constructor to pass in the raw data read from the table map and extract it into an array of dimension size (number of fields). It also adds a method to return the field metadata for any field. The method returns the data stored in the table map or 0 if no data was stored for that field. Lastly, a method to return the results of field->maybe_null() is included so that the slave can determine if a field that is not on the slave is null. mysql-test/suite/rpl/t/rpl_colSize.test: WL#3228 : RBR using different table defs on slave/master This patch contains a new test designed to test the feature of having columns on the master that are smaller than what is on the slave. mysql-test/suite/rpl/t/rpl_extraColmaster_innodb-master.opt: WL#3915 master's cols > slave option for innodb mysql-test/suite/rpl/t/rpl_extraColmaster_innodb-slave.opt: WL#3915 master's cols > slave option for innodb mysql-test/suite/rpl/t/rpl_extraColmaster_innodb.test: WL#3915 master's cols > slave Test of innodb. Test runs in both statement- and row-based replication. mysql-test/suite/rpl/t/rpl_extraColmaster_myisam.test: WL#3915 master's cols > slave Test of myisam. Test runs in both statement- and row-based replication. mysql-test/suite/rpl/r/rpl_colSize.result: WL#3228 : RBR using different table defs on slave/master This patch contains a result file for the new test designed to test the feature of having columns on the master that are smaller than what is on the slave. mysql-test/suite/rpl/t/rpl_row_extraColmaster_ndb.test: WL#3915 master's cols > slave Test of ndb. Test runs in row-based replication. mysql-test/suite/rpl/t/rpl_stm_extraColmaster_ndb.test: WL#3915 master's cols > slave Test of ndb. Test runs in statement-based replication. mysql-test/suite/rpl/r/rpl_extraColmaster_innodb.result: WL#3915 master's cols > slave new results mysql-test/suite/rpl/r/rpl_extraColmaster_myisam.result: WL#3915 master's cols > slave new results mysql-test/extra/rpl_tests/rpl_extraMaster_Col.test: WL#3915 master's cols > slave basic tests checking altering and skipping extra fields by slave. The fields can be of any possible types. mysql-test/suite/rpl/r/rpl_row_extraColmaster_ndb.result: WL#3915 master's cols > slave new results |
||
unknown
|
abbf5941d9 |
BUG#24954 (Last_errno and Last_error not set after master_retry_count has
been reached): Post-merge patch to handle all the changes to the tree since the tree was cloned. mysql-test/extra/rpl_tests/rpl_log.test: Replacing SHOW SLAVE STATUS with include file. mysql-test/extra/rpl_tests/rpl_max_relay_size.test: Replacing SHOW SLAVE STATUS with include file. mysql-test/extra/rpl_tests/rpl_reset_slave.test: Replacing SHOW SLAVE STATUS with include file. mysql-test/include/show_slave_status.inc: Column change. mysql-test/r/rpl_000015.result: Result file change. mysql-test/r/rpl_change_master.result: Result file change. mysql-test/r/rpl_empty_master_crash.result: Result file change. mysql-test/r/rpl_extraCol_innodb.result: Result file change. mysql-test/r/rpl_extraCol_myisam.result: Result file change. mysql-test/r/rpl_flushlog_loop.result: Result file change. mysql-test/r/rpl_incident.result: Result file change. mysql-test/r/rpl_known_bugs_detection.result: Result file change. mysql-test/r/rpl_loaddata.result: Result file change. mysql-test/r/rpl_loaddata_fatal.result: Result file change. mysql-test/r/rpl_log_pos.result: Result file change. mysql-test/r/rpl_ndb_basic.result: Result file change. mysql-test/r/rpl_ndb_circular.result: Result file change. mysql-test/r/rpl_ndb_extraCol.result: Result file change. mysql-test/r/rpl_ndb_idempotent.result: Result file change. mysql-test/r/rpl_ndb_log.result: Result file change. mysql-test/r/rpl_ndb_sync.result: Result file change. mysql-test/r/rpl_rbr_to_sbr.result: Result file change. mysql-test/r/rpl_redirect.result: Result file change. mysql-test/r/rpl_replicate_do.result: Result file change. mysql-test/r/rpl_rotate_logs.result: Result file change. mysql-test/r/rpl_row_inexist_tbl.result: Result file change. mysql-test/r/rpl_row_log.result: Result file change. mysql-test/r/rpl_row_log_innodb.result: Result file change. mysql-test/r/rpl_row_max_relay_size.result: Result file change. mysql-test/r/rpl_row_reset_slave.result: Result file change. mysql-test/r/rpl_row_tabledefs_2myisam.result: Result file change. mysql-test/r/rpl_row_tabledefs_3innodb.result: Result file change. mysql-test/r/rpl_row_until.result: Result file change. mysql-test/r/rpl_server_id1.result: Result file change. mysql-test/r/rpl_server_id2.result: Result file change. mysql-test/r/rpl_slave_skip.result: Result file change. mysql-test/r/rpl_ssl.result: Result file change. mysql-test/r/rpl_ssl1.result: Result file change. mysql-test/r/rpl_stm_log.result: Result file change. mysql-test/r/rpl_stm_max_relay_size.result: Result file change. mysql-test/r/rpl_stm_reset_slave.result: Result file change. mysql-test/r/rpl_stm_until.result: Result file change. mysql-test/t/rpl_000015.test: Replacing SHOW SLAVE STATUS with include file. mysql-test/t/rpl_change_master.test: Column position change. Making result of SHOW SLAVE STATUS vertical. mysql-test/t/rpl_empty_master_crash.test: Replacing SHOW SLAVE STATUS with include file. mysql-test/t/rpl_log_pos.test: Replacing SHOW SLAVE STATUS with include file. mysql-test/t/rpl_ndb_basic.test: Column position change. mysql-test/t/rpl_ndb_idempotent.test: Column position change. mysql-test/t/rpl_ndb_sync.test: Column position change. Making result of SHOW SLAVE STATUS vertical. mysql-test/t/rpl_redirect.test: Replacing SHOW SLAVE STATUS with include file. mysql-test/t/rpl_replicate_do.test: Column position change. Making result of SHOW SLAVE STATUS vertical. mysql-test/t/rpl_rotate_logs.test: Replacing SHOW SLAVE STATUS with include file. mysql-test/t/rpl_row_inexist_tbl.test: Replacing SHOW SLAVE STATUS with include file. mysql-test/t/rpl_row_until.test: Replacing SHOW SLAVE STATUS with include file. mysql-test/t/rpl_server_id1.test: Column position change. Making result of SHOW SLAVE STATUS vertical. mysql-test/t/rpl_server_id2.test: Column position change. Making result of SHOW SLAVE STATUS vertical. mysql-test/t/rpl_slave_status.test: Column position change. mysql-test/t/rpl_ssl.test: Column position change. mysql-test/t/rpl_ssl1.test: Column position change. mysql-test/t/rpl_stm_until.test: Replacing SHOW SLAVE STATUS with include file. sql/log_event.cc: Using member function last_error() instead of member variable. Replacing use of 'table' with 'm_table'. Suppressing warnings in debug printout. Setting thd->net.last_error on error return from unpack_row() to get a non-zero error message. The error codes for are being harmonized in another worklog. Replacing use of slave_print_msg() with RELAY_LOG_INFO::report(). sql/rpl_mi.h: Moving order of include files since they are dependent (!). sql/rpl_record.cc: Adding missing include file. Replacing use of slave_print_msg() with RELAY_LOG_INFO::report(). sql/rpl_record_old.cc: Adding missing include file. Replacing use of slave_print_msg() with RELAY_LOG_INFO::report(). sql/rpl_reporting.cc: Adding const modifier to member function. Using renamed member variable m_last_error. sql/rpl_reporting.h: Adding missing constant MAX_SLAVE_ERRMSG. Adding const modifier to Slave_reporting_capability::report(). Hiding and renaming member variable last_error and incorporating member function for access in order to make it mutable. sql/rpl_rli.h: Moving constant MAX_SLAVE_ERRMSG. sql/rpl_utility.cc: Adding missing include file rpl_rli.h. sql/slave.cc: Replacing use of member variable last_error with call to member function last_error(). Replacing use of slave_print_msg() with RELAY_LOG_INFO::report(). |
||
unknown
|
9fea6f4775 |
Merge mkindahl@bk-internal.mysql.com:/home/bk/mysql-5.1-rpl
into kindahl-laptop.dnsalias.net:/home/bk/b24954-mysql-5.1-new-rpl mysql-test/extra/rpl_tests/rpl_max_relay_size.test: Auto merged mysql-test/r/binlog_row_mix_innodb_myisam.result: Auto merged mysql-test/t/binlog_row_mix_innodb_myisam.test: Auto merged mysql-test/t/rpl_000015.test: Auto merged mysql-test/t/rpl_flushlog_loop.test: Auto merged mysql-test/t/rpl_ndb_bank.test: Auto merged mysql-test/t/rpl_rbr_to_sbr.test: Auto merged mysql-test/t/rpl_replicate_do.test: Auto merged mysql-test/t/rpl_rotate_logs.test: Auto merged mysql-test/t/rpl_row_until.test: Auto merged mysql-test/t/rpl_slave_status.test: Auto merged mysql-test/t/rpl_ssl1.test: Auto merged sql/Makefile.am: Auto merged sql/rpl_mi.cc: Auto merged sql/rpl_utility.cc: Auto merged sql/sql_repl.cc: Auto merged mysql-test/r/rpl_change_master.result: Manual merge mysql-test/r/rpl_000015.result: Manual merge mysql-test/r/rpl_deadlock_innodb.result: Manual merge mysql-test/r/rpl_empty_master_crash.result: Manual merge mysql-test/r/rpl_extraCol_innodb.result: Manual merge mysql-test/r/rpl_extraCol_myisam.result: Manual merge mysql-test/r/rpl_flushlog_loop.result: Manual merge mysql-test/r/rpl_loaddata.result: Manual merge mysql-test/r/rpl_log_pos.result: Manual merge mysql-test/r/rpl_ndb_basic.result: Manual merge mysql-test/r/rpl_ndb_extraCol.result: Manual merge mysql-test/r/rpl_ndb_idempotent.result: Manual merge mysql-test/r/rpl_ndb_log.result: Manual merge mysql-test/r/rpl_rbr_to_sbr.result: Manual merge mysql-test/r/rpl_redirect.result: Manual merge mysql-test/r/rpl_replicate_do.result: Manual merge mysql-test/r/rpl_rotate_logs.result: Manual merge mysql-test/r/rpl_row_inexist_tbl.result: Manual merge mysql-test/r/rpl_row_log.result: Manual merge mysql-test/r/rpl_row_log_innodb.result: Manual merge mysql-test/r/rpl_row_max_relay_size.result: Manual merge mysql-test/r/rpl_row_reset_slave.result: Manual merge mysql-test/r/rpl_row_tabledefs_2myisam.result: Manual merge mysql-test/r/rpl_row_tabledefs_3innodb.result: Manual merge mysql-test/r/rpl_row_until.result: Manual merge mysql-test/r/rpl_server_id1.result: Manual merge mysql-test/r/rpl_server_id2.result: Manual merge mysql-test/r/rpl_slave_status.result: Manual merge mysql-test/r/rpl_ssl1.result: Manual merge mysql-test/r/rpl_stm_log.result: Manual merge mysql-test/r/rpl_stm_max_relay_size.result: Manual merge mysql-test/r/rpl_stm_reset_slave.result: Manual merge mysql-test/r/rpl_stm_until.result: Manual merge mysql-test/t/rpl_log_pos.test: Manual merge mysql-test/t/rpl_ndb_basic.test: Manual merge sql/log_event.cc: Manual merge sql/rpl_mi.h: Manual merge sql/rpl_rli.cc: Manual merge sql/rpl_rli.h: Manual merge sql/slave.cc: Manual merge sql/share/errmsg.txt: Manual merge sql/slave.h: Manual merge |
||
unknown
|
79a609aa73 |
BUG#24954 (Last_errno and Last_error not set after master_retry_count was reached):
Adding new fields Last_{IO,SQL}_Errno and Last_{IO,SQL}_Error to output of SHOW SLAVE STATUS to hold errors from I/O and SQL thread respectively. Old fields Last_Error and Last_Errno are aliases for Last_SQL_Error and Last_SQL_Errno respectively. Fields are added last to output of SHOW SLAVE STATUS to allow old applications to use the same positional arguments into the row, while allowing new application to benefit from the added information. In addition, some new error codes are added (especially for the I/O thread) to be able to provide sensible error message. mysql-test/extra/rpl_tests/rpl_max_relay_size.test: Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno mysql-test/r/binlog_row_mix_innodb_myisam.result: Result change mysql-test/r/rpl_000015.result: Result change mysql-test/r/rpl_change_master.result: Result change mysql-test/r/rpl_deadlock_innodb.result: Result change mysql-test/r/rpl_empty_master_crash.result: Result change mysql-test/r/rpl_extraCol_innodb.result: Result change --- Result change. mysql-test/r/rpl_extraCol_myisam.result: Result change --- Result change. mysql-test/r/rpl_flushlog_loop.result: Result change mysql-test/r/rpl_loaddata.result: Result change mysql-test/r/rpl_log_pos.result: Result change mysql-test/r/rpl_ndb_basic.result: Result change mysql-test/r/rpl_ndb_extraCol.result: Result change --- Result change. mysql-test/r/rpl_ndb_idempotent.result: Result change mysql-test/r/rpl_ndb_log.result: Result change mysql-test/r/rpl_openssl.result: Result change mysql-test/r/rpl_rbr_to_sbr.result: Result change mysql-test/r/rpl_redirect.result: Result change mysql-test/r/rpl_replicate_do.result: Result change mysql-test/r/rpl_rotate_logs.result: Result change mysql-test/r/rpl_row_inexist_tbl.result: Result change mysql-test/r/rpl_row_log.result: Result change mysql-test/r/rpl_row_log_innodb.result: Result change mysql-test/r/rpl_row_max_relay_size.result: Result change mysql-test/r/rpl_row_reset_slave.result: Result change mysql-test/r/rpl_row_tabledefs_2myisam.result: Result change --- Result change. mysql-test/r/rpl_row_tabledefs_3innodb.result: Result change --- Result change. mysql-test/r/rpl_row_until.result: Result change mysql-test/r/rpl_server_id1.result: Result change mysql-test/r/rpl_server_id2.result: Result change mysql-test/r/rpl_slave_status.result: Result change mysql-test/r/rpl_stm_log.result: Result change mysql-test/r/rpl_stm_max_relay_size.result: Result change --- Result change. mysql-test/r/rpl_stm_reset_slave.result: Result change mysql-test/r/rpl_stm_until.result: Result change mysql-test/t/binlog_row_mix_innodb_myisam.test: Test fixed. mysql-test/t/rpl_000015.test: Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno mysql-test/t/rpl_change_master.test: Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno mysql-test/t/rpl_empty_master_crash.test: Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno mysql-test/t/rpl_flushlog_loop.test: Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno mysql-test/t/rpl_log_pos.test: Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno mysql-test/t/rpl_ndb_bank.test: Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno mysql-test/t/rpl_ndb_basic.test: Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno mysql-test/t/rpl_ndb_idempotent.test: Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno mysql-test/t/rpl_ndb_sync.test: Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno mysql-test/t/rpl_openssl.test: Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno mysql-test/t/rpl_rbr_to_sbr.test: Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno mysql-test/t/rpl_redirect.test: Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno mysql-test/t/rpl_replicate_do.test: Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno mysql-test/t/rpl_rotate_logs.test: Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno mysql-test/t/rpl_row_inexist_tbl.test: Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno mysql-test/t/rpl_row_until.test: Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno mysql-test/t/rpl_server_id1.test: Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno mysql-test/t/rpl_server_id2.test: Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno mysql-test/t/rpl_slave_status.test: Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno mysql-test/t/rpl_stm_until.test: Commenting out irrelevant fields Last_IO_Error and Last_IO_Errno sql/Makefile.am: Adding new files sql/log_event.cc: Changes to use Slave_reporting_capability for reporting errors. Adding debug variable to stop slave with an out-of-memory error or with a fatal error. The checks are put both in the new Execute_load_query_ log_event and in the old Load_log_event which is used for Execute_load_ log_event. Adding code to generate fatal error message. Eliminating redundant arguments when printing ER_NO_DEFAULT_FOR_FIELD message. sql/rpl_mi.cc: Using Slave_reporting_capability for error reporting. sql/rpl_mi.h: Using Slave_reporting_capability to handle I/O thread errors and other messages. sql/rpl_rli.cc: Using Slave_reporting_capability to handle SQL thread errors and other messages. sql/rpl_rli.h: Changes to use Slave_reporting_capability for reporting SQL thread error and other messages. sql/rpl_utility.cc: Changes to use Slave_reporting_capability for reporting errors. sql/slave.cc: Changes to use Slave_reporting_capability for reporting errors. sql/slave.h: Removing slave_print_msg() sql/share/errmsg.txt: New error messages. Making message for ER_NO_DEFAULT_FOR_FIELD consistent over languages (actually restoring old message). Adding argument to ER_SLAVE_FATAL_ERROR message. sql/sql_repl.cc: Using new names for thread masks. mysql-test/t/rpl_loaddata_fatal-slave.opt: New BitKeeper file ``mysql-test/t/rpl_loaddata_fatal-slave.opt'' sql/rpl_reporting.cc: New BitKeeper file ``sql/rpl_reporting.cc'' sql/rpl_reporting.h: New BitKeeper file ``sql/rpl_reporting.h'' mysql-test/include/show_slave_status.inc: New BitKeeper file ``mysql-test/include/show_slave_status.inc'' mysql-test/r/rpl_loaddata_fatal.result: New BitKeeper file ``mysql-test/r/rpl_loaddata_fatal.result'' mysql-test/t/rpl_loaddata_fatal.test: New BitKeeper file ``mysql-test/t/rpl_loaddata_fatal.test'' |
||
unknown
|
f252f9248a |
WL#3817: Simplify string / memory area types and make things more consistent (first part)
The following type conversions was done: - Changed byte to uchar - Changed gptr to uchar* - Change my_string to char * - Change my_size_t to size_t - Change size_s to size_t Removed declaration of byte, gptr, my_string, my_size_t and size_s. Following function parameter changes was done: - All string functions in mysys/strings was changed to use size_t instead of uint for string lengths. - All read()/write() functions changed to use size_t (including vio). - All protocoll functions changed to use size_t instead of uint - Functions that used a pointer to a string length was changed to use size_t* - Changed malloc(), free() and related functions from using gptr to use void * as this requires fewer casts in the code and is more in line with how the standard functions work. - Added extra length argument to dirname_part() to return the length of the created string. - Changed (at least) following functions to take uchar* as argument: - db_dump() - my_net_write() - net_write_command() - net_store_data() - DBUG_DUMP() - decimal2bin() & bin2decimal() - Changed my_compress() and my_uncompress() to use size_t. Changed one argument to my_uncompress() from a pointer to a value as we only return one value (makes function easier to use). - Changed type of 'pack_data' argument to packfrm() to avoid casts. - Changed in readfrm() and writefrom(), ha_discover and handler::discover() the type for argument 'frmdata' to uchar** to avoid casts. - Changed most Field functions to use uchar* instead of char* (reduced a lot of casts). - Changed field->val_xxx(xxx, new_ptr) to take const pointers. Other changes: - Removed a lot of not needed casts - Added a few new cast required by other changes - Added some cast to my_multi_malloc() arguments for safety (as string lengths needs to be uint, not size_t). - Fixed all calls to hash-get-key functions to use size_t*. (Needed to be done explicitely as this conflict was often hided by casting the function to hash_get_key). - Changed some buffers to memory regions to uchar* to avoid casts. - Changed some string lengths from uint to size_t. - Changed field->ptr to be uchar* instead of char*. This allowed us to get rid of a lot of casts. - Some changes from true -> TRUE, false -> FALSE, unsigned char -> uchar - Include zlib.h in some files as we needed declaration of crc32() - Changed MY_FILE_ERROR to be (size_t) -1. - Changed many variables to hold the result of my_read() / my_write() to be size_t. This was needed to properly detect errors (which are returned as (size_t) -1). - Removed some very old VMS code - Changed packfrm()/unpackfrm() to not be depending on uint size (portability fix) - Removed windows specific code to restore cursor position as this causes slowdown on windows and we should not mix read() and pread() calls anyway as this is not thread safe. Updated function comment to reflect this. Changed function that depended on original behavior of my_pwrite() to itself restore the cursor position (one such case). - Added some missing checking of return value of malloc(). - Changed definition of MOD_PAD_CHAR_TO_FULL_LENGTH to avoid 'long' overflow. - Changed type of table_def::m_size from my_size_t to ulong to reflect that m_size is the number of elements in the array, not a string/memory length. - Moved THD::max_row_length() to table.cc (as it's not depending on THD). Inlined max_row_length_blob() into this function. - More function comments - Fixed some compiler warnings when compiled without partitions. - Removed setting of LEX_STRING() arguments in declaration (portability fix). - Some trivial indentation/variable name changes. - Some trivial code simplifications: - Replaced some calls to alloc_root + memcpy to use strmake_root()/strdup_root(). - Changed some calls from memdup() to strmake() (Safety fix) - Simpler loops in client-simple.c BitKeeper/etc/ignore: added libmysqld/ha_ndbcluster_cond.cc --- added debian/defs.mk debian/control client/completion_hash.cc: Remove not needed casts client/my_readline.h: Remove some old types client/mysql.cc: Simplify types client/mysql_upgrade.c: Remove some old types Update call to dirname_part client/mysqladmin.cc: Remove some old types client/mysqlbinlog.cc: Remove some old types Change some buffers to be uchar to avoid casts client/mysqlcheck.c: Remove some old types client/mysqldump.c: Remove some old types Remove some not needed casts Change some string lengths to size_t client/mysqlimport.c: Remove some old types client/mysqlshow.c: Remove some old types client/mysqlslap.c: Remove some old types Remove some not needed casts client/mysqltest.c: Removed some old types Removed some not needed casts Updated hash-get-key function arguments Updated parameters to dirname_part() client/readline.cc: Removed some old types Removed some not needed casts Changed some string lengths to use size_t client/sql_string.cc: Removed some old types dbug/dbug.c: Removed some old types Changed some string lengths to use size_t Changed some prototypes to avoid casts extra/comp_err.c: Removed some old types extra/innochecksum.c: Removed some old types extra/my_print_defaults.c: Removed some old types extra/mysql_waitpid.c: Removed some old types extra/perror.c: Removed some old types extra/replace.c: Removed some old types Updated parameters to dirname_part() extra/resolve_stack_dump.c: Removed some old types extra/resolveip.c: Removed some old types include/config-win.h: Removed some old types include/decimal.h: Changed binary strings to be uchar* instead of char* include/ft_global.h: Removed some old types include/hash.h: Removed some old types include/heap.h: Removed some old types Changed records_under_level to be 'ulong' instead of 'uint' to clarify usage of variable include/keycache.h: Removed some old types include/m_ctype.h: Removed some old types Changed some string lengths to use size_t Changed character length functions to return uint unsigned char -> uchar include/m_string.h: Removed some old types Changed some string lengths to use size_t include/my_alloc.h: Changed some string lengths to use size_t include/my_base.h: Removed some old types include/my_dbug.h: Removed some old types Changed some string lengths to use size_t Changed db_dump() to take uchar * as argument for memory to reduce number of casts in usage include/my_getopt.h: Removed some old types include/my_global.h: Removed old types: my_size_t -> size_t byte -> uchar gptr -> uchar * include/my_list.h: Removed some old types include/my_nosys.h: Removed some old types include/my_pthread.h: Removed some old types include/my_sys.h: Removed some old types Changed MY_FILE_ERROR to be in line with new definitions of my_write()/my_read() Changed some string lengths to use size_t my_malloc() / my_free() now uses void * Updated parameters to dirname_part() & my_uncompress() include/my_tree.h: Removed some old types include/my_trie.h: Removed some old types include/my_user.h: Changed some string lengths to use size_t include/my_vle.h: Removed some old types include/my_xml.h: Removed some old types Changed some string lengths to use size_t include/myisam.h: Removed some old types include/myisammrg.h: Removed some old types include/mysql.h: Removed some old types Changed byte streams to use uchar* instead of char* include/mysql_com.h: Removed some old types Changed some string lengths to use size_t Changed some buffers to be uchar* to avoid casts include/queues.h: Removed some old types include/sql_common.h: Removed some old types include/sslopt-longopts.h: Removed some old types include/violite.h: Removed some old types Changed some string lengths to use size_t libmysql/client_settings.h: Removed some old types libmysql/libmysql.c: Removed some old types libmysql/manager.c: Removed some old types libmysqld/emb_qcache.cc: Removed some old types libmysqld/emb_qcache.h: Removed some old types libmysqld/lib_sql.cc: Removed some old types Removed some not needed casts Changed some buffers to be uchar* to avoid casts true -> TRUE, false -> FALSE mysys/array.c: Removed some old types mysys/charset.c: Changed some string lengths to use size_t mysys/checksum.c: Include zlib to get definition for crc32 Removed some old types mysys/default.c: Removed some old types Changed some string lengths to use size_t mysys/default_modify.c: Changed some string lengths to use size_t Removed some not needed casts mysys/hash.c: Removed some old types Changed some string lengths to use size_t Note: Prototype of hash_key() has changed which may cause problems if client uses hash_init() with a cast for the hash-get-key function. hash_element now takes 'ulong' as the index type (cleanup) mysys/list.c: Removed some old types mysys/mf_cache.c: Changed some string lengths to use size_t mysys/mf_dirname.c: Removed some old types Changed some string lengths to use size_t Added argument to dirname_part() to avoid calculation of length for 'to' mysys/mf_fn_ext.c: Removed some old types Updated parameters to dirname_part() mysys/mf_format.c: Removed some old types Changed some string lengths to use size_t mysys/mf_getdate.c: Removed some old types mysys/mf_iocache.c: Removed some old types Changed some string lengths to use size_t Changed calculation of 'max_length' to be done the same way in all functions mysys/mf_iocache2.c: Removed some old types Changed some string lengths to use size_t Clean up comments Removed not needed indentation mysys/mf_keycache.c: Removed some old types mysys/mf_keycaches.c: Removed some old types mysys/mf_loadpath.c: Removed some old types mysys/mf_pack.c: Removed some old types Changed some string lengths to use size_t Removed some not needed casts Removed very old VMS code Updated parameters to dirname_part() Use result of dirnam_part() to remove call to strcat() mysys/mf_path.c: Removed some old types mysys/mf_radix.c: Removed some old types mysys/mf_same.c: Removed some old types mysys/mf_sort.c: Removed some old types mysys/mf_soundex.c: Removed some old types mysys/mf_strip.c: Removed some old types mysys/mf_tempdir.c: Removed some old types mysys/mf_unixpath.c: Removed some old types mysys/mf_wfile.c: Removed some old types mysys/mulalloc.c: Removed some old types mysys/my_alloc.c: Removed some old types Changed some string lengths to use size_t Use void* as type for allocated memory area Removed some not needed casts Changed argument 'Size' to 'length' according coding guidelines mysys/my_chsize.c: Changed some buffers to be uchar* to avoid casts mysys/my_compress.c: More comments Removed some old types Changed string lengths to use size_t Changed arguments to my_uncompress() to make them easier to understand Changed packfrm()/unpackfrm() to not be depending on uint size (portability fix) Changed type of 'pack_data' argument to packfrm() to avoid casts. mysys/my_conio.c: Changed some string lengths to use size_t mysys/my_create.c: Removed some old types mysys/my_div.c: Removed some old types mysys/my_error.c: Removed some old types mysys/my_fopen.c: Removed some old types mysys/my_fstream.c: Removed some old types Changed some string lengths to use size_t writen -> written mysys/my_getopt.c: Removed some old types mysys/my_getwd.c: Removed some old types More comments mysys/my_init.c: Removed some old types mysys/my_largepage.c: Removed some old types Changed some string lengths to use size_t mysys/my_lib.c: Removed some old types mysys/my_lockmem.c: Removed some old types mysys/my_malloc.c: Removed some old types Changed malloc(), free() and related functions to use void * Changed all functions to use size_t mysys/my_memmem.c: Indentation cleanup mysys/my_once.c: Removed some old types Changed malloc(), free() and related functions to use void * mysys/my_open.c: Removed some old types mysys/my_pread.c: Removed some old types Changed all functions to use size_t Added comment for how my_pread() / my_pwrite() are supposed to work. Removed windows specific code to restore cursor position as this causes slowdown on windows and we should not mix read() and pread() calls anyway as this is not thread safe. (If we ever would really need this, it should be enabled only with a flag argument) mysys/my_quick.c: Removed some old types Changed all functions to use size_t mysys/my_read.c: Removed some old types Changed all functions to use size_t mysys/my_realloc.c: Removed some old types Use void* as type for allocated memory area Changed all functions to use size_t mysys/my_static.c: Removed some old types mysys/my_static.h: Removed some old types mysys/my_vle.c: Removed some old types mysys/my_wincond.c: Removed some old types mysys/my_windac.c: Removed some old types mysys/my_write.c: Removed some old types Changed all functions to use size_t mysys/ptr_cmp.c: Removed some old types Changed all functions to use size_t mysys/queues.c: Removed some old types mysys/safemalloc.c: Removed some old types Changed malloc(), free() and related functions to use void * Changed all functions to use size_t mysys/string.c: Removed some old types Changed all functions to use size_t mysys/testhash.c: Removed some old types mysys/thr_alarm.c: Removed some old types mysys/thr_lock.c: Removed some old types mysys/tree.c: Removed some old types mysys/trie.c: Removed some old types mysys/typelib.c: Removed some old types plugin/daemon_example/daemon_example.cc: Removed some old types regex/reginit.c: Removed some old types server-tools/instance-manager/buffer.cc: Changed some string lengths to use size_t Changed buffer to be of type uchar* server-tools/instance-manager/buffer.h: Changed some string lengths to use size_t Changed buffer to be of type uchar* server-tools/instance-manager/commands.cc: Removed some old types Changed some string lengths to use size_t Changed buffer to be of type uchar* server-tools/instance-manager/instance_map.cc: Removed some old types Changed some string lengths to use size_t Changed buffer to be of type uchar* server-tools/instance-manager/instance_options.cc: Changed buffer to be of type uchar* Replaced alloc_root + strcpy() with strdup_root() server-tools/instance-manager/mysql_connection.cc: Changed buffer to be of type uchar* server-tools/instance-manager/options.cc: Removed some old types server-tools/instance-manager/parse.cc: Changed some string lengths to use size_t server-tools/instance-manager/parse.h: Removed some old types Changed some string lengths to use size_t server-tools/instance-manager/protocol.cc: Changed some buffers to be uchar* to avoid casts Changed some string lengths to use size_t server-tools/instance-manager/protocol.h: Changed some string lengths to use size_t server-tools/instance-manager/user_map.cc: Removed some old types Changed some string lengths to use size_t sql/derror.cc: Removed some old types Changed some buffers to be uchar* to avoid casts Changed some string lengths to use size_t sql/discover.cc: Changed in readfrm() and writefrom() the type for argument 'frmdata' to uchar** to avoid casts Changed some string lengths to use size_t Changed some buffers to be uchar* to avoid casts sql/event_data_objects.cc: Removed some old types Added missing casts for alloc() and sprintf() sql/event_db_repository.cc: Changed some buffers to be uchar* to avoid casts Added missing casts for sprintf() sql/event_queue.cc: Removed some old types sql/field.cc: Removed some old types Changed memory buffers to be uchar* Changed some string lengths to use size_t Removed a lot of casts Safety fix in Field_blob::val_decimal() to not access zero pointer sql/field.h: Removed some old types Changed memory buffers to be uchar* (except of store() as this would have caused too many other changes). Changed some string lengths to use size_t Removed some not needed casts Changed val_xxx(xxx, new_ptr) to take const pointers sql/field_conv.cc: Removed some old types Added casts required because memory area pointers are now uchar* sql/filesort.cc: Initalize variable that was used unitialized in error conditions sql/gen_lex_hash.cc: Removed some old types Changed memory buffers to be uchar* Changed some string lengths to use size_t Removed a lot of casts Safety fix in Field_blob::val_decimal() to not access zero pointer sql/gstream.h: Added required cast sql/ha_ndbcluster.cc: Removed some old types Updated hash-get-key function arguments Changed some buffers to be uchar* to avoid casts Added required casts Removed some not needed casts sql/ha_ndbcluster.h: Removed some old types sql/ha_ndbcluster_binlog.cc: Removed some old types Changed some buffers to be uchar* to avoid casts Replaced sql_alloc() + memcpy() + set end 0 with sql_strmake() Changed some string lengths to use size_t Added missing casts for alloc() and sprintf() sql/ha_ndbcluster_binlog.h: Removed some old types sql/ha_ndbcluster_cond.cc: Removed some old types Removed some not needed casts sql/ha_ndbcluster_cond.h: Removed some old types sql/ha_partition.cc: Removed some old types Changed prototype for change_partition() to avoid casts sql/ha_partition.h: Removed some old types sql/handler.cc: Removed some old types Changed some string lengths to use size_t sql/handler.h: Removed some old types Changed some string lengths to use size_t Changed type for 'frmblob' parameter for discover() and ha_discover() to get fewer casts sql/hash_filo.h: Removed some old types Changed all functions to use size_t sql/hostname.cc: Removed some old types sql/item.cc: Removed some old types Changed some string lengths to use size_t Use strmake() instead of memdup() to create a null terminated string. Updated calls to new Field() sql/item.h: Removed some old types Changed malloc(), free() and related functions to use void * Changed some buffers to be uchar* to avoid casts sql/item_cmpfunc.cc: Removed some old types Changed some buffers to be uchar* to avoid casts sql/item_cmpfunc.h: Removed some old types sql/item_create.cc: Removed some old types sql/item_func.cc: Removed some old types Changed some buffers to be uchar* to avoid casts Removed some not needed casts Added test for failing alloc() in init_result_field() Remove old confusing comment Fixed compiler warning sql/item_func.h: Removed some old types sql/item_row.cc: Removed some old types sql/item_row.h: Removed some old types sql/item_strfunc.cc: Include zlib (needed becasue we call crc32) Removed some old types sql/item_strfunc.h: Removed some old types Changed some types to match new function prototypes sql/item_subselect.cc: Removed some old types sql/item_subselect.h: Removed some old types sql/item_sum.cc: Removed some old types Changed some buffers to be uchar* to avoid casts Removed some not needed casts sql/item_sum.h: Removed some old types sql/item_timefunc.cc: Removed some old types Changed some string lengths to use size_t sql/item_timefunc.h: Removed some old types sql/item_xmlfunc.cc: Changed some string lengths to use size_t sql/item_xmlfunc.h: Removed some old types sql/key.cc: Removed some old types Removed some not needed casts sql/lock.cc: Removed some old types Added some cast to my_multi_malloc() arguments for safety sql/log.cc: Removed some old types Changed some string lengths to use size_t Changed some buffers to be uchar* to avoid casts Changed usage of pwrite() to not assume it holds the cursor position for the file Made usage of my_read() safer sql/log_event.cc: Removed some old types Added checking of return value of malloc() in pack_info() Changed some buffers to be uchar* to avoid casts Removed some 'const' to avoid casts Added missing casts for alloc() and sprintf() Added required casts Removed some not needed casts Added some cast to my_multi_malloc() arguments for safety sql/log_event.h: Removed some old types Changed some buffers to be uchar* to avoid casts sql/log_event_old.cc: Changed some buffers to be uchar* to avoid casts Removed some not needed casts sql/log_event_old.h: Changed some buffers to be uchar* to avoid casts sql/mf_iocache.cc: Removed some old types sql/my_decimal.cc: Changed memory area to use uchar* sql/my_decimal.h: Changed memory area to use uchar* sql/mysql_priv.h: Removed some old types Changed malloc(), free() and related functions to use void * Changed some string lengths to use size_t Changed definition of MOD_PAD_CHAR_TO_FULL_LENGTH to avoid long overflow Changed some buffers to be uchar* to avoid casts sql/mysqld.cc: Removed some old types sql/net_serv.cc: Removed some old types Changed some string lengths to use size_t Changed some buffers to be uchar* to avoid casts Ensure that vio_read()/vio_write() return values are stored in a size_t variable Removed some not needed casts sql/opt_range.cc: Removed some old types Changed some buffers to be uchar* to avoid casts Removed some not needed casts sql/opt_range.h: Removed some old types Changed some buffers to be uchar* to avoid casts sql/opt_sum.cc: Removed some old types Removed some not needed casts sql/parse_file.cc: Removed some old types Changed some string lengths to use size_t Changed alloc_root + memcpy + set end 0 -> strmake_root() sql/parse_file.h: Removed some old types sql/partition_info.cc: Removed some old types Added missing casts for alloc() Changed some buffers to be uchar* to avoid casts sql/partition_info.h: Changed some buffers to be uchar* to avoid casts sql/protocol.cc: Removed some old types Changed some buffers to be uchar* to avoid casts Removed some not needed casts sql/protocol.h: Removed some old types Changed some buffers to be uchar* to avoid casts Changed some string lengths to use size_t sql/records.cc: Removed some old types sql/repl_failsafe.cc: Removed some old types Changed some string lengths to use size_t Added required casts sql/rpl_filter.cc: Removed some old types Updated hash-get-key function arguments Changed some string lengths to use size_t sql/rpl_filter.h: Changed some string lengths to use size_t sql/rpl_injector.h: Removed some old types sql/rpl_record.cc: Removed some old types Removed some not needed casts Changed some buffers to be uchar* to avoid casts sql/rpl_record.h: Removed some old types Changed some buffers to be uchar* to avoid casts sql/rpl_record_old.cc: Removed some old types Changed some buffers to be uchar* to avoid casts Removed some not needed casts sql/rpl_record_old.h: Removed some old types Changed some buffers to be uchar* to avoid cast sql/rpl_rli.cc: Removed some old types sql/rpl_tblmap.cc: Removed some old types sql/rpl_tblmap.h: Removed some old types sql/rpl_utility.cc: Removed some old types sql/rpl_utility.h: Removed some old types Changed type of m_size from my_size_t to ulong to reflect that m_size is the number of elements in the array, not a string/memory length sql/set_var.cc: Removed some old types Updated parameters to dirname_part() sql/set_var.h: Removed some old types sql/slave.cc: Removed some old types Changed some string lengths to use size_t sql/slave.h: Removed some old types sql/sp.cc: Removed some old types Added missing casts for printf() sql/sp.h: Removed some old types Updated hash-get-key function arguments sql/sp_cache.cc: Removed some old types Added missing casts for printf() Updated hash-get-key function arguments sql/sp_head.cc: Removed some old types Added missing casts for alloc() and printf() Added required casts Updated hash-get-key function arguments sql/sp_head.h: Removed some old types sql/sp_pcontext.cc: Removed some old types sql/sp_pcontext.h: Removed some old types sql/sql_acl.cc: Removed some old types Changed some string lengths to use size_t Changed some buffers to be uchar* to avoid casts Removed some not needed casts Added required casts sql/sql_analyse.cc: Changed some buffers to be uchar* to avoid casts sql/sql_analyse.h: Changed some buffers to be uchar* to avoid casts sql/sql_array.h: Removed some old types sql/sql_base.cc: Removed some old types Updated hash-get-key function arguments sql/sql_binlog.cc: Removed some old types Added missing casts for printf() sql/sql_cache.cc: Removed some old types Updated hash-get-key function arguments Removed some not needed casts Changed some string lengths to use size_t sql/sql_cache.h: Removed some old types Removed reference to not existing function cache_key() Updated hash-get-key function arguments sql/sql_class.cc: Removed some old types Updated hash-get-key function arguments Added missing casts for alloc() Updated hash-get-key function arguments Moved THD::max_row_length() to table.cc (as it's not depending on THD) Removed some not needed casts sql/sql_class.h: Removed some old types Changed malloc(), free() and related functions to use void * Removed some not needed casts Changed some string lengths to use size_t Moved max_row_length and max_row_length_blob() to table.cc, as they are not depending on THD sql/sql_connect.cc: Removed some old types Added required casts sql/sql_db.cc: Removed some old types Removed some not needed casts Added some cast to my_multi_malloc() arguments for safety Added missing casts for alloc() sql/sql_delete.cc: Removed some old types sql/sql_handler.cc: Removed some old types Updated hash-get-key function arguments Added some cast to my_multi_malloc() arguments for safety sql/sql_help.cc: Removed some old types Changed some buffers to be uchar* to avoid casts Removed some not needed casts sql/sql_insert.cc: Removed some old types Added missing casts for alloc() and printf() sql/sql_lex.cc: Removed some old types sql/sql_lex.h: Removed some old types Removed some not needed casts sql/sql_list.h: Removed some old types Removed some not needed casts sql/sql_load.cc: Removed some old types Removed compiler warning sql/sql_manager.cc: Removed some old types sql/sql_map.cc: Removed some old types sql/sql_map.h: Removed some old types sql/sql_olap.cc: Removed some old types sql/sql_parse.cc: Removed some old types Trivial move of code lines to make things more readable Changed some string lengths to use size_t Added missing casts for alloc() sql/sql_partition.cc: Removed some old types Removed compiler warnings about not used functions Changed some buffers to be uchar* to avoid casts Removed some not needed casts sql/sql_partition.h: Removed some old types Changed some buffers to be uchar* to avoid casts sql/sql_plugin.cc: Removed some old types Added missing casts for alloc() Updated hash-get-key function arguments sql/sql_prepare.cc: Removed some old types Changed some buffers to be uchar* to avoid casts Added missing casts for alloc() and printf() sql-common/client.c: Removed some old types Changed some memory areas to use uchar* sql-common/my_user.c: Changed some string lengths to use size_t sql-common/pack.c: Changed some buffers to be uchar* to avoid casts sql/sql_repl.cc: Added required casts Changed some buffers to be uchar* to avoid casts Changed some string lengths to use size_t sql/sql_select.cc: Removed some old types Changed some buffers to be uchar* to avoid casts Removed some old types sql/sql_select.h: Removed some old types Changed some buffers to be uchar* to avoid casts sql/sql_servers.cc: Removed some old types Updated hash-get-key function arguments sql/sql_show.cc: Removed some old types Added missing casts for alloc() Removed some not needed casts sql/sql_string.cc: Removed some old types Added required casts sql/sql_table.cc: Removed some old types Removed compiler warning about not used variable Changed some buffers to be uchar* to avoid casts Removed some not needed casts sql/sql_test.cc: Removed some old types sql/sql_trigger.cc: Removed some old types Added missing casts for alloc() sql/sql_udf.cc: Removed some old types Updated hash-get-key function arguments sql/sql_union.cc: Removed some old types sql/sql_update.cc: Removed some old types Removed some not needed casts sql/sql_view.cc: Removed some old types sql/sql_yacc.yy: Removed some old types Changed some string lengths to use size_t Added missing casts for alloc() sql/stacktrace.c: Removed some old types sql/stacktrace.h: Removed some old types sql/structs.h: Removed some old types sql/table.cc: Removed some old types Updated hash-get-key function arguments Changed some buffers to be uchar* to avoid casts Removed setting of LEX_STRING() arguments in declaration Added required casts More function comments Moved max_row_length() here from sql_class.cc/sql_class.h sql/table.h: Removed some old types Changed some string lengths to use size_t sql/thr_malloc.cc: Use void* as type for allocated memory area Changed all functions to use size_t sql/tzfile.h: Changed some buffers to be uchar* to avoid casts sql/tztime.cc: Changed some buffers to be uchar* to avoid casts Updated hash-get-key function arguments Added missing casts for alloc() Removed some not needed casts sql/uniques.cc: Removed some old types Removed some not needed casts sql/unireg.cc: Removed some old types Changed some buffers to be uchar* to avoid casts Removed some not needed casts Added missing casts for alloc() storage/archive/archive_reader.c: Removed some old types storage/archive/azio.c: Removed some old types Removed some not needed casts storage/archive/ha_archive.cc: Removed some old types Changed type for 'frmblob' in archive_discover() to match handler Updated hash-get-key function arguments Removed some not needed casts storage/archive/ha_archive.h: Removed some old types storage/blackhole/ha_blackhole.cc: Removed some old types storage/blackhole/ha_blackhole.h: Removed some old types storage/csv/ha_tina.cc: Removed some old types Updated hash-get-key function arguments Changed some buffers to be uchar* to avoid casts storage/csv/ha_tina.h: Removed some old types Removed some not needed casts storage/csv/transparent_file.cc: Removed some old types Changed type of 'bytes_read' to be able to detect read errors Fixed indentation storage/csv/transparent_file.h: Removed some old types storage/example/ha_example.cc: Removed some old types Updated hash-get-key function arguments storage/example/ha_example.h: Removed some old types storage/federated/ha_federated.cc: Removed some old types Updated hash-get-key function arguments Removed some not needed casts storage/federated/ha_federated.h: Removed some old types storage/heap/_check.c: Changed some buffers to be uchar* to avoid casts storage/heap/_rectest.c: Removed some old types storage/heap/ha_heap.cc: Removed some old types storage/heap/ha_heap.h: Removed some old types storage/heap/heapdef.h: Removed some old types storage/heap/hp_block.c: Removed some old types Changed some string lengths to use size_t storage/heap/hp_clear.c: Removed some old types storage/heap/hp_close.c: Removed some old types storage/heap/hp_create.c: Removed some old types storage/heap/hp_delete.c: Removed some old types storage/heap/hp_hash.c: Removed some old types storage/heap/hp_info.c: Removed some old types storage/heap/hp_open.c: Removed some old types storage/heap/hp_rfirst.c: Removed some old types storage/heap/hp_rkey.c: Removed some old types storage/heap/hp_rlast.c: Removed some old types storage/heap/hp_rnext.c: Removed some old types storage/heap/hp_rprev.c: Removed some old types storage/heap/hp_rrnd.c: Removed some old types storage/heap/hp_rsame.c: Removed some old types storage/heap/hp_scan.c: Removed some old types storage/heap/hp_test1.c: Removed some old types storage/heap/hp_test2.c: Removed some old types storage/heap/hp_update.c: Removed some old types storage/heap/hp_write.c: Removed some old types Changed some string lengths to use size_t storage/innobase/handler/ha_innodb.cc: Removed some old types Updated hash-get-key function arguments Added missing casts for alloc() and printf() Removed some not needed casts storage/innobase/handler/ha_innodb.h: Removed some old types storage/myisam/ft_boolean_search.c: Removed some old types storage/myisam/ft_nlq_search.c: Removed some old types storage/myisam/ft_parser.c: Removed some old types Changed some buffers to be uchar* to avoid casts storage/myisam/ft_static.c: Removed some old types storage/myisam/ft_stopwords.c: Removed some old types storage/myisam/ft_update.c: Removed some old types Changed some buffers to be uchar* to avoid casts storage/myisam/ftdefs.h: Removed some old types Changed some buffers to be uchar* to avoid casts storage/myisam/fulltext.h: Removed some old types storage/myisam/ha_myisam.cc: Removed some old types storage/myisam/ha_myisam.h: Removed some old types storage/myisam/mi_cache.c: Removed some old types Changed some buffers to be uchar* to avoid casts storage/myisam/mi_check.c: Removed some old types storage/myisam/mi_checksum.c: Removed some old types storage/myisam/mi_close.c: Removed some old types storage/myisam/mi_create.c: Removed some old types storage/myisam/mi_delete.c: Removed some old types storage/myisam/mi_delete_all.c: Removed some old types storage/myisam/mi_dynrec.c: Removed some old types storage/myisam/mi_extra.c: Removed some old types storage/myisam/mi_key.c: Removed some old types storage/myisam/mi_locking.c: Removed some old types storage/myisam/mi_log.c: Removed some old types storage/myisam/mi_open.c: Removed some old types Removed some not needed casts Check argument of my_write()/my_pwrite() in functions returning int Added casting of string lengths to size_t storage/myisam/mi_packrec.c: Removed some old types Changed some buffers to be uchar* to avoid casts storage/myisam/mi_page.c: Removed some old types storage/myisam/mi_preload.c: Removed some old types storage/myisam/mi_range.c: Removed some old types storage/myisam/mi_rfirst.c: Removed some old types storage/myisam/mi_rkey.c: Removed some old types storage/myisam/mi_rlast.c: Removed some old types storage/myisam/mi_rnext.c: Removed some old types storage/myisam/mi_rnext_same.c: Removed some old types storage/myisam/mi_rprev.c: Removed some old types storage/myisam/mi_rrnd.c: Removed some old types storage/myisam/mi_rsame.c: Removed some old types storage/myisam/mi_rsamepos.c: Removed some old types storage/myisam/mi_scan.c: Removed some old types storage/myisam/mi_search.c: Removed some old types storage/myisam/mi_static.c: Removed some old types storage/myisam/mi_statrec.c: Removed some old types storage/myisam/mi_test1.c: Removed some old types storage/myisam/mi_test2.c: Removed some old types storage/myisam/mi_test3.c: Removed some old types storage/myisam/mi_unique.c: Removed some old types storage/myisam/mi_update.c: Removed some old types storage/myisam/mi_write.c: Removed some old types storage/myisam/myisam_ftdump.c: Removed some old types storage/myisam/myisamchk.c: Removed some old types storage/myisam/myisamdef.h: Removed some old types storage/myisam/myisamlog.c: Removed some old types Indentation fix storage/myisam/myisampack.c: Removed some old types storage/myisam/rt_index.c: Removed some old types storage/myisam/rt_split.c: Removed some old types storage/myisam/sort.c: Removed some old types storage/myisam/sp_defs.h: Removed some old types storage/myisam/sp_key.c: Removed some old types storage/myisammrg/ha_myisammrg.cc: Removed some old types storage/myisammrg/ha_myisammrg.h: Removed some old types storage/myisammrg/myrg_close.c: Removed some old types storage/myisammrg/myrg_def.h: Removed some old types storage/myisammrg/myrg_delete.c: Removed some old types storage/myisammrg/myrg_open.c: Removed some old types Updated parameters to dirname_part() storage/myisammrg/myrg_queue.c: Removed some old types storage/myisammrg/myrg_rfirst.c: Removed some old types storage/myisammrg/myrg_rkey.c: Removed some old types storage/myisammrg/myrg_rlast.c: Removed some old types storage/myisammrg/myrg_rnext.c: Removed some old types storage/myisammrg/myrg_rnext_same.c: Removed some old types storage/myisammrg/myrg_rprev.c: Removed some old types storage/myisammrg/myrg_rrnd.c: Removed some old types storage/myisammrg/myrg_rsame.c: Removed some old types storage/myisammrg/myrg_update.c: Removed some old types storage/myisammrg/myrg_write.c: Removed some old types storage/ndb/include/util/ndb_opts.h: Removed some old types storage/ndb/src/cw/cpcd/main.cpp: Removed some old types storage/ndb/src/kernel/vm/Configuration.cpp: Removed some old types storage/ndb/src/mgmclient/main.cpp: Removed some old types storage/ndb/src/mgmsrv/InitConfigFileParser.cpp: Removed some old types Removed old disabled code storage/ndb/src/mgmsrv/main.cpp: Removed some old types storage/ndb/src/ndbapi/NdbBlob.cpp: Removed some old types storage/ndb/src/ndbapi/NdbOperationDefine.cpp: Removed not used variable storage/ndb/src/ndbapi/NdbOperationInt.cpp: Added required casts storage/ndb/src/ndbapi/NdbScanOperation.cpp: Added required casts storage/ndb/tools/delete_all.cpp: Removed some old types storage/ndb/tools/desc.cpp: Removed some old types storage/ndb/tools/drop_index.cpp: Removed some old types storage/ndb/tools/drop_tab.cpp: Removed some old types storage/ndb/tools/listTables.cpp: Removed some old types storage/ndb/tools/ndb_config.cpp: Removed some old types storage/ndb/tools/restore/consumer_restore.cpp: Changed some buffers to be uchar* to avoid casts with new defintion of packfrm() storage/ndb/tools/restore/restore_main.cpp: Removed some old types storage/ndb/tools/select_all.cpp: Removed some old types storage/ndb/tools/select_count.cpp: Removed some old types storage/ndb/tools/waiter.cpp: Removed some old types strings/bchange.c: Changed function to use uchar * and size_t strings/bcmp.c: Changed function to use uchar * and size_t strings/bmove512.c: Changed function to use uchar * and size_t strings/bmove_upp.c: Changed function to use uchar * and size_t strings/ctype-big5.c: Changed functions to use size_t Changed character length functions to return uint strings/ctype-bin.c: Changed functions to use size_t strings/ctype-cp932.c: Changed functions to use size_t Changed character length functions to return uint strings/ctype-czech.c: Fixed indentation Changed functions to use size_t strings/ctype-euc_kr.c: Changed functions to use size_t Changed character length functions to return uint strings/ctype-eucjpms.c: Changed functions to use size_t Changed character length functions to return uint unsigned char -> uchar strings/ctype-gb2312.c: Changed functions to use size_t Changed character length functions to return uint strings/ctype-gbk.c: Changed functions to use size_t Changed character length functions to return uint strings/ctype-latin1.c: Changed functions to use size_t Changed character length functions to return uint unsigned char -> uchar strings/ctype-mb.c: Changed functions to use size_t Changed character length functions to return uint strings/ctype-simple.c: Changed functions to use size_t Simpler loops for caseup/casedown unsigned int -> uint unsigned char -> uchar strings/ctype-sjis.c: Changed functions to use size_t Changed character length functions to return uint strings/ctype-tis620.c: Changed functions to use size_t Changed character length functions to return uint unsigned char -> uchar strings/ctype-uca.c: Changed functions to use size_t unsigned char -> uchar strings/ctype-ucs2.c: Moved inclusion of stdarg.h to other includes usigned char -> uchar Changed functions to use size_t Changed character length functions to return uint strings/ctype-ujis.c: Changed functions to use size_t Changed character length functions to return uint unsigned char -> uchar strings/ctype-utf8.c: Changed functions to use size_t unsigned char -> uchar Indentation fixes strings/ctype-win1250ch.c: Indentation fixes Changed functions to use size_t strings/ctype.c: Changed functions to use size_t strings/decimal.c: Changed type for memory argument to uchar * strings/do_ctype.c: Indentation fixes strings/my_strtoll10.c: unsigned char -> uchar strings/my_vsnprintf.c: Changed functions to use size_t strings/r_strinstr.c: Removed some old types Changed functions to use size_t strings/str_test.c: Removed some old types strings/strappend.c: Changed functions to use size_t strings/strcont.c: Removed some old types strings/strfill.c: Removed some old types strings/strinstr.c: Changed functions to use size_t strings/strlen.c: Changed functions to use size_t strings/strmake.c: Changed functions to use size_t strings/strnlen.c: Changed functions to use size_t strings/strnmov.c: Changed functions to use size_t strings/strto.c: unsigned char -> uchar strings/strtod.c: Changed functions to use size_t strings/strxnmov.c: Changed functions to use size_t strings/xml.c: Changed functions to use size_t Indentation fixes tests/mysql_client_test.c: Removed some old types tests/thread_test.c: Removed some old types vio/test-ssl.c: Removed some old types vio/test-sslclient.c: Removed some old types vio/test-sslserver.c: Removed some old types vio/vio.c: Removed some old types vio/vio_priv.h: Removed some old types Changed vio_read()/vio_write() to work with size_t vio/viosocket.c: Changed vio_read()/vio_write() to work with size_t Indentation fixes vio/viossl.c: Changed vio_read()/vio_write() to work with size_t Indentation fixes vio/viosslfactories.c: Removed some old types vio/viotest-ssl.c: Removed some old types win/README: More explanations |
||
unknown
|
833ea3fd68 |
Merge romeo.(none):/home/bkroot/mysql-5.1-new-rpl
into romeo.(none):/home/bk/b23171-mysql-5.1-new-rpl mysql-test/r/rpl_row_tabledefs_2myisam.result: Auto merged mysql-test/r/rpl_row_tabledefs_3innodb.result: Auto merged sql/rpl_rli.cc: Auto merged sql/rpl_rli.h: Auto merged sql/rpl_utility.cc: Auto merged sql/rpl_utility.h: Auto merged sql/slave.h: Auto merged sql/log.cc: Manual merge sql/log_event.cc: Manual merge sql/log_event.h: Manual merge sql/slave.cc: Manual merge sql/sql_binlog.cc: Manual merge |
||
unknown
|
d73b5b8e83 |
Many files:
Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header Added GPL copyright text my_vle.h, rpl_utility.h, my_vle.c, base64-t.c, rpl_utility.cc: Changed copyright header formatting some plugin_example.c, daemon_example.c: Added "Copyright (C) 2006 MySQL AB" to GPL header CMakeLists.txt: Added GPL copyright text client/CMakeLists.txt: Added GPL copyright text dbug/CMakeLists.txt: Added GPL copyright text extra/CMakeLists.txt: Added GPL copyright text extra/yassl/CMakeLists.txt: Added GPL copyright text extra/yassl/taocrypt/CMakeLists.txt: Added GPL copyright text libmysql/CMakeLists.txt: Added GPL copyright text libmysqld/CMakeLists.txt: Added GPL copyright text libmysqld/examples/CMakeLists.txt: Added GPL copyright text mysys/CMakeLists.txt: Added GPL copyright text regex/CMakeLists.txt: Added GPL copyright text server-tools/instance-manager/CMakeLists.txt: Added GPL copyright text sql/CMakeLists.txt: Added GPL copyright text storage/archive/CMakeLists.txt: Added GPL copyright text storage/blackhole/CMakeLists.txt: Added GPL copyright text storage/csv/CMakeLists.txt: Added GPL copyright text storage/example/CMakeLists.txt: Added GPL copyright text storage/federated/CMakeLists.txt: Added GPL copyright text storage/heap/CMakeLists.txt: Added GPL copyright text storage/innobase/CMakeLists.txt: Added GPL copyright text storage/myisam/CMakeLists.txt: Added GPL copyright text storage/myisammrg/CMakeLists.txt: Added GPL copyright text strings/CMakeLists.txt: Added GPL copyright text tests/CMakeLists.txt: Added GPL copyright text vio/CMakeLists.txt: Added GPL copyright text zlib/CMakeLists.txt: Added GPL copyright text include/my_vle.h: Changed copyright header formatting some mysys/my_vle.c: Changed copyright header formatting some plugin/daemon_example/daemon_example.c: Added "Copyright (C) 2006 MySQL AB" to GPL header plugin/fulltext/plugin_example.c: Added "Copyright (C) 2006 MySQL AB" to GPL header plugin/Makefile.am: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header sql/authors.h: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header sql/contributors.h: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header sql/item_xmlfunc.cc: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header sql/partition_element.h: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header sql/partition_info.h: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header sql/rpl_injector.cc: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header sql/rpl_injector.h: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header sql/sql_binlog.cc: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header sql/sql_servers.h: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header storage/Makefile.am: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header storage/archive/Makefile.am: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header storage/blackhole/Makefile.am: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header storage/csv/Makefile.am: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header storage/example/Makefile.am: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header storage/federated/Makefile.am: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header win/Makefile.am: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header sql/rpl_utility.cc: Changed copyright header formatting some sql/rpl_utility.h: Changed copyright header formatting some unittest/mysys/base64-t.c: Changed copyright header formatting some include/my_uctype.h: Added GPL copyright text plugin/daemon_example/Makefile.am: Added GPL copyright text plugin/fulltext/Makefile.am: Added GPL copyright text scripts/make_win_bin_dist: Added GPL copyright text server-tools/instance-manager/user_management_commands.cc: Added GPL copyright text sql/sql_builtin.cc.in: Added GPL copyright text sql/sql_show.h: Added GPL copyright text storage/archive/archive_test.c: Added GPL copyright text storage/ndb/src/kernel/blocks/dbtup/test_varpage.cpp: Added GPL copyright text storage/ndb/src/kernel/blocks/diskpage.cpp: Added GPL copyright text storage/ndb/src/kernel/vm/Rope.cpp: Added GPL copyright text storage/ndb/src/mgmsrv/ParamInfo.hpp: Added GPL copyright text strings/uctypedump.c: Added GPL copyright text unittest/Makefile.am: Added GPL copyright text unittest/examples/Makefile.am: Added GPL copyright text unittest/examples/core-t.c: Added GPL copyright text unittest/examples/no_plan-t.c: Added GPL copyright text unittest/examples/simple-t.c: Added GPL copyright text unittest/examples/skip-t.c: Added GPL copyright text unittest/examples/skip_all-t.c: Added GPL copyright text unittest/examples/todo-t.c: Added GPL copyright text unittest/mysys/Makefile.am: Added GPL copyright text unittest/mytap/Makefile.am: Added GPL copyright text unittest/mytap/t/Makefile.am: Added GPL copyright text unittest/mytap/t/basic-t.c: Added GPL copyright text unittest/unit.pl: Added GPL copyright text win/build-vs71.bat: Added GPL copyright text win/build-vs8.bat: Added GPL copyright text win/configure.js: Added GPL copyright text |
||
unknown
|
92e68d49d7 |
Many files:
Changed header to GPL version 2 only client/mysqlslap.c: Changed header to GPL version 2 only include/atomic/nolock.h: Changed header to GPL version 2 only include/atomic/rwlock.h: Changed header to GPL version 2 only include/atomic/x86-gcc.h: Changed header to GPL version 2 only include/atomic/x86-msvc.h: Changed header to GPL version 2 only include/my_atomic.h: Changed header to GPL version 2 only include/my_trie.h: Changed header to GPL version 2 only include/my_vle.h: Changed header to GPL version 2 only include/mysql/plugin.h: Changed header to GPL version 2 only mysys/my_atomic.c: Changed header to GPL version 2 only mysys/my_getncpus.c: Changed header to GPL version 2 only mysys/my_memmem.c: Changed header to GPL version 2 only mysys/my_vle.c: Changed header to GPL version 2 only mysys/trie.c: Changed header to GPL version 2 only plugin/Makefile.am: Changed header to GPL version 2 only server-tools/instance-manager/IMService.h: Changed header to GPL version 2 only server-tools/instance-manager/WindowsService.h: Changed header to GPL version 2 only server-tools/instance-manager/exit_codes.h: Changed header to GPL version 2 only server-tools/instance-manager/user_management_commands.h: Changed header to GPL version 2 only sql/authors.h: Changed header to GPL version 2 only sql/contributors.h: Changed header to GPL version 2 only sql/event_data_objects.cc: Changed header to GPL version 2 only sql/event_data_objects.h: Changed header to GPL version 2 only sql/event_db_repository.cc: Changed header to GPL version 2 only sql/event_db_repository.h: Changed header to GPL version 2 only sql/event_queue.cc: Changed header to GPL version 2 only sql/event_queue.h: Changed header to GPL version 2 only sql/event_scheduler.cc: Changed header to GPL version 2 only sql/event_scheduler.h: Changed header to GPL version 2 only sql/events.cc: Changed header to GPL version 2 only sql/events.h: Changed header to GPL version 2 only sql/ha_ndbcluster_binlog.cc: Changed header to GPL version 2 only sql/ha_ndbcluster_binlog.h: Changed header to GPL version 2 only sql/ha_ndbcluster_tables.h: Changed header to GPL version 2 only sql/ha_partition.cc: Changed header to GPL version 2 only sql/ha_partition.h: Changed header to GPL version 2 only sql/item_xmlfunc.cc: Changed header to GPL version 2 only sql/item_xmlfunc.h: Changed header to GPL version 2 only sql/log.h: Changed header to GPL version 2 only sql/partition_element.h: Changed header to GPL version 2 only sql/partition_info.cc: Changed header to GPL version 2 only sql/partition_info.h: Changed header to GPL version 2 only sql/rpl_filter.cc: Changed header to GPL version 2 only sql/rpl_filter.h: Changed header to GPL version 2 only sql/rpl_injector.cc: Changed header to GPL version 2 only sql/rpl_injector.h: Changed header to GPL version 2 only sql/rpl_mi.cc: Changed header to GPL version 2 only sql/rpl_mi.h: Changed header to GPL version 2 only sql/rpl_rli.cc: Changed header to GPL version 2 only sql/rpl_rli.h: Changed header to GPL version 2 only sql/rpl_tblmap.cc: Changed header to GPL version 2 only sql/rpl_tblmap.h: Changed header to GPL version 2 only sql/rpl_utility.cc: Changed header to GPL version 2 only sql/rpl_utility.h: Changed header to GPL version 2 only sql/sql_binlog.cc: Changed header to GPL version 2 only sql/sql_partition.cc: Changed header to GPL version 2 only sql/sql_partition.h: Changed header to GPL version 2 only sql/sql_plugin.cc: Changed header to GPL version 2 only sql/sql_plugin.h: Changed header to GPL version 2 only sql/sql_servers.cc: Changed header to GPL version 2 only sql/sql_servers.h: Changed header to GPL version 2 only sql/sql_tablespace.cc: Changed header to GPL version 2 only sql/sql_yacc.yy.bak: Changed header to GPL version 2 only storage/Makefile.am: Changed header to GPL version 2 only storage/archive/Makefile.am: Changed header to GPL version 2 only storage/blackhole/Makefile.am: Changed header to GPL version 2 only storage/csv/Makefile.am: Changed header to GPL version 2 only storage/example/Makefile.am: Changed header to GPL version 2 only storage/federated/Makefile.am: Changed header to GPL version 2 only storage/innobase/handler/Makefile.am: Changed header to GPL version 2 only storage/ndb/include/kernel/signaldata/AllocNodeId.hpp: Changed header to GPL version 2 only storage/ndb/include/kernel/signaldata/CreateFilegroup.hpp: Changed header to GPL version 2 only storage/ndb/include/kernel/signaldata/CreateFilegroupImpl.hpp: Changed header to GPL version 2 only storage/ndb/include/kernel/signaldata/CreateObj.hpp: Changed header to GPL version 2 only storage/ndb/include/kernel/signaldata/DictObjOp.hpp: Changed header to GPL version 2 only storage/ndb/include/kernel/signaldata/DihFragCount.hpp: Changed header to GPL version 2 only storage/ndb/include/kernel/signaldata/DropFilegroup.hpp: Changed header to GPL version 2 only storage/ndb/include/kernel/signaldata/DropFilegroupImpl.hpp: Changed header to GPL version 2 only storage/ndb/include/kernel/signaldata/DropObj.hpp: Changed header to GPL version 2 only storage/ndb/include/kernel/signaldata/Extent.hpp: Changed header to GPL version 2 only storage/ndb/include/kernel/signaldata/LgmanContinueB.hpp: Changed header to GPL version 2 only storage/ndb/include/kernel/signaldata/PgmanContinueB.hpp: Changed header to GPL version 2 only storage/ndb/include/kernel/signaldata/RestoreContinueB.hpp: Changed header to GPL version 2 only storage/ndb/include/kernel/signaldata/RestoreImpl.hpp: Changed header to GPL version 2 only storage/ndb/include/kernel/signaldata/RouteOrd.hpp: Changed header to GPL version 2 only storage/ndb/include/kernel/signaldata/TsmanContinueB.hpp: Changed header to GPL version 2 only storage/ndb/include/ndbapi/NdbIndexStat.hpp: Changed header to GPL version 2 only storage/ndb/ndbapi-examples/mgmapi_logevent/mgmapi_logevent.cpp: Changed header to GPL version 2 only storage/ndb/ndbapi-examples/mgmapi_logevent_dual/mgmapi_logevent_dual.cpp: Changed header to GPL version 2 only storage/ndb/ndbapi-examples/ndbapi_async/ndbapi_async.cpp: Changed header to GPL version 2 only storage/ndb/ndbapi-examples/ndbapi_async1/ndbapi_async1.cpp: Changed header to GPL version 2 only storage/ndb/ndbapi-examples/ndbapi_event/ndbapi_event.cpp: Changed header to GPL version 2 only storage/ndb/ndbapi-examples/ndbapi_retries/ndbapi_retries.cpp: Changed header to GPL version 2 only storage/ndb/ndbapi-examples/ndbapi_scan/ndbapi_scan.cpp: Changed header to GPL version 2 only storage/ndb/ndbapi-examples/ndbapi_simple/ndbapi_simple.cpp: Changed header to GPL version 2 only storage/ndb/ndbapi-examples/ndbapi_simple_dual/ndbapi_simple_dual.cpp: Changed header to GPL version 2 only storage/ndb/ndbapi-examples/ndbapi_simple_index/ndbapi_simple_index.cpp: Changed header to GPL version 2 only storage/ndb/src/kernel/blocks/dbdih/printSysfile.cpp: Changed header to GPL version 2 only storage/ndb/src/kernel/blocks/dbtup/DbtupDiskAlloc.cpp: Changed header to GPL version 2 only storage/ndb/src/kernel/blocks/dbtup/DbtupVarAlloc.cpp: Changed header to GPL version 2 only storage/ndb/src/kernel/blocks/dbtup/Undo_buffer.cpp: Changed header to GPL version 2 only storage/ndb/src/kernel/blocks/dbtup/Undo_buffer.hpp: Changed header to GPL version 2 only storage/ndb/src/kernel/blocks/dbtup/tuppage.cpp: Changed header to GPL version 2 only storage/ndb/src/kernel/blocks/dbtup/tuppage.hpp: Changed header to GPL version 2 only storage/ndb/src/kernel/blocks/dbtux/DbtuxStat.cpp: Changed header to GPL version 2 only storage/ndb/src/kernel/blocks/diskpage.hpp: Changed header to GPL version 2 only storage/ndb/src/kernel/blocks/lgman.cpp: Changed header to GPL version 2 only storage/ndb/src/kernel/blocks/lgman.hpp: Changed header to GPL version 2 only storage/ndb/src/kernel/blocks/pgman.cpp: Changed header to GPL version 2 only storage/ndb/src/kernel/blocks/pgman.hpp: Changed header to GPL version 2 only storage/ndb/src/kernel/blocks/print_file.cpp: Changed header to GPL version 2 only storage/ndb/src/kernel/blocks/record_types.hpp: Changed header to GPL version 2 only storage/ndb/src/kernel/blocks/restore.cpp: Changed header to GPL version 2 only storage/ndb/src/kernel/blocks/restore.hpp: Changed header to GPL version 2 only storage/ndb/src/kernel/blocks/tsman.cpp: Changed header to GPL version 2 only storage/ndb/src/kernel/blocks/tsman.hpp: Changed header to GPL version 2 only storage/ndb/src/kernel/vm/DLCFifoList.hpp: Changed header to GPL version 2 only storage/ndb/src/kernel/vm/DLCHashTable.hpp: Changed header to GPL version 2 only storage/ndb/src/kernel/vm/DynArr256.cpp: Changed header to GPL version 2 only storage/ndb/src/kernel/vm/DynArr256.hpp: Changed header to GPL version 2 only storage/ndb/src/kernel/vm/KeyTable2Ref.hpp: Changed header to GPL version 2 only storage/ndb/src/kernel/vm/LinearPool.hpp: Changed header to GPL version 2 only storage/ndb/src/kernel/vm/NdbdSuperPool.cpp: Changed header to GPL version 2 only storage/ndb/src/kernel/vm/NdbdSuperPool.hpp: Changed header to GPL version 2 only storage/ndb/src/kernel/vm/Pool.cpp: Changed header to GPL version 2 only storage/ndb/src/kernel/vm/Pool.hpp: Changed header to GPL version 2 only storage/ndb/src/kernel/vm/RWPool.cpp: Changed header to GPL version 2 only storage/ndb/src/kernel/vm/RWPool.hpp: Changed header to GPL version 2 only storage/ndb/src/kernel/vm/Rope.hpp: Changed header to GPL version 2 only storage/ndb/src/kernel/vm/SLFifoList.hpp: Changed header to GPL version 2 only storage/ndb/src/kernel/vm/WOPool.cpp: Changed header to GPL version 2 only storage/ndb/src/kernel/vm/WOPool.hpp: Changed header to GPL version 2 only storage/ndb/src/kernel/vm/bench_pool.cpp: Changed header to GPL version 2 only storage/ndb/src/kernel/vm/ndbd_malloc_impl.cpp: Changed header to GPL version 2 only storage/ndb/src/kernel/vm/ndbd_malloc_impl.hpp: Changed header to GPL version 2 only storage/ndb/src/mgmsrv/ParamInfo.cpp: Changed header to GPL version 2 only storage/ndb/src/ndbapi/NdbIndexStat.cpp: Changed header to GPL version 2 only storage/ndb/test/ndbapi/testIndexStat.cpp: Changed header to GPL version 2 only storage/ndb/test/tools/listen.cpp: Changed header to GPL version 2 only storage/ndb/tools/restore/ndb_nodegroup_map.h: Changed header to GPL version 2 only strings/my_strchr.c: Changed header to GPL version 2 only unittest/mysys/base64-t.c: Changed header to GPL version 2 only unittest/mysys/bitmap-t.c: Changed header to GPL version 2 only unittest/mysys/my_atomic-t.c: Changed header to GPL version 2 only unittest/mytap/tap.c: Changed header to GPL version 2 only unittest/mytap/tap.h: Changed header to GPL version 2 only win/Makefile.am: Changed header to GPL version 2 only |
||
unknown
|
c1477a3f20 |
Removed compiler warnings
Ensure that my_size_t is always unsigned (to get predictiable results from system to system) Removed some %lld, as these are not portable BUILD/FINISH.sh: Remove configure files from storage engines (as some of them may be old versions and may cause conflicts) client/mysqldump.c: Removed compiler warning client/mysqlslap.c: Removed compiler warning client/mysqltest.c: Removed compiler warning cmd-line-utils/readline/bind.c: Removed compiler warning cmd-line-utils/readline/histfile.c: Removed compiler warning include/my_global.h: Ensure that my_size_t is always unsigned (to get predictiable results from system to system) Moved my_offset_t here from parse_file.h sql/event_data_objects.cc: Removed compiler warning sql/event_scheduler.cc: Removed compiler warning sql/field.h: Removed compiler warning sql/ha_ndbcluster_binlog.cc: Removed compiler warning sql/ha_partition.cc: Removed compiler warning sql/item_strfunc.cc: Removed compiler warning sql/log_event.cc: Removed compiler warning sql/mysqld.cc: Removed compiler warning sql/parse_file.h: Moved my_offset_t to my_global.h sql/rpl_utility.cc: Removed compiler warning sql/sql_binlog.cc: Removed compiler warning sql/sql_cache.cc: Removed compiler warning sql/tztime.cc: Removed compiler warning storage/archive/ha_archive.cc: Removed compiler warning Removed %lld as it's not portable storage/heap/hp_write.c: Removed compiler warning storage/innobase/os/os0file.c: Removed compiler warning storage/myisam/myisampack.c: Removed compiler warning storage/myisammrg/myrg_rkey.c: Removed compiler warning storage/ndb/include/kernel/signaldata/DictTabInfo.hpp: Use my_offsetof instead of offsetof to get rid of compiler warnings storage/ndb/src/kernel/blocks/dbdict/printSchemaFile.cpp: Removed compiler warning storage/ndb/src/kernel/blocks/dbtup/DbtupRoutines.cpp: Removed compiler warning Note: Someone from NDB team should check this fix! storage/ndb/src/kernel/vm/Rope.cpp: Removed compiler warning storage/ndb/src/mgmapi/mgmapi.cpp: Removed compiler warning storage/ndb/src/ndbapi/Ndb.cpp: Removed compiler warning storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp: Removed compiler warning storage/ndb/src/ndbapi/NdbScanOperation.cpp: Removed compiler warning storage/ndb/src/ndbapi/NdbTransaction.cpp: Removed compiler warning storage/ndb/src/ndbapi/Ndblist.cpp: Removed compiler warning |
||
unknown
|
baaa102de5 |
BUG#23171 (Illegal slave restart group position):
Second patch to fix skipping code. Moving relay and binary log position changing code from do_apply_event [old exec_event()] into do_update_pos() and doing other changes necessary to support that. Fixing a bug that can cause deadlock if rotating binary log when committing a changes to a transactional table that is not inside a transaction and cause a rotate log. sql/log.cc: Changing condition in binlog_commit() to skip calling binlog_end_trans() twice to match condition in binlog_end_trans(). sql/log_event.cc: Name change: apply_event_impl() -> do_apply_event() Name change: advance_coord_impl() -> do_update_pos() do_apply_event() now uses pointer to constant RELAY_LOG_INFO to prevent inadvertandly changing the position in the code. Doing this would make the skipping code loose track of where it is. All position changing code shall now be in do_update_pos(). Factoring out relay and binary log position updating code from do_apply_event() [previously exec_event()] into do_update_pos(). Using a safe approach to make it work: will refine the refactoring when the skipping code is implemented. Adding const casts where needed. Changing signature to use pointers to constant objects where needed. sql/rpl_rli.cc: Making cached_charset_compare() const to work with constant instances of RELAY_LOG_INFO. Debriding code. sql/rpl_rli.h: Making cached_charset_compare() const to work with constant instances of RELAY_LOG_INFO. Debriding code. sql/rpl_utility.cc: Using pointer to const RELAY_LOG_INFO to make it work with other code. sql/rpl_utility.h: Using pointer to const RELAY_LOG_INFO to make it work with other code. sql/slave.cc: Using pointer to const RELAY_LOG_INFO to make it work with other code. Adding const cast where necessary. sql/slave.h: Using pointer to const RELAY_LOG_INFO to make it work with other code. |
||
unknown
|
3936ce19d2 |
WL#3259 (RBR with more columns on slave than master):
Incorporating changes from review. Fixing one bug that surfaced. mysql-test/extra/rpl_tests/rpl_row_tabledefs.test: Adding tests that UPDATE and DELETE does not generate an error. mysql-test/r/rpl_row_tabledefs_2myisam.result: Result change. mysql-test/r/rpl_row_tabledefs_3innodb.result: Result change. mysql-test/t/disabled.def: Enabling rpl_sp_effects (even though it gives a result mismatch currently). sql/field.cc: Using constant to denote undefined last null byte. sql/field.h: Using constant to denote undefined last null byte. Adding documentation. sql/log_event.cc: Not generating error for non-NULL no-DEFAULT columns when updating or deleting row. Better documentation and comments. sql/rpl_utility.cc: Moving documentation to header file. sql/rpl_utility.h: Documenting class and members. |