Patch for PB testing errors.
sql/rpl_utility.h:
WL#3228 (NDB) : RBR using different table defs on slave/master
This patch corrects a problem detected on 64-bit platforms with BIT and
VARCHAR fields.
Patch corrects minor test anomolies and build warnings.
mysql-test/extra/rpl_tests/rpl_extraMaster_Col.test:
WL#3915 : (NDB) master's cols > slave
Patch masks out the port number in the show slave status results.
mysql-test/r/rpl_extraColmaster_innodb.result:
WL#3915 : (NDB) master's cols > slave
New result file from changed test.
mysql-test/r/rpl_extraColmaster_myisam.result:
WL#3915 : (NDB) master's cols > slave
New result file from changed test.
mysql-test/r/rpl_row_extraColmaster_ndb.result:
WL#3915 : (NDB) master's cols > slave
New result file from changed test.
sql/field.cc:
WL#3915 : (NDB) master's cols > slave
Removed warning for unused parameter. Parameter was include for assertion
and future changes to string class.
into mysql_cab_desk.:C:/source/c++/mysql-5.1_WL_3915_ndb
mysql-test/extra/rpl_tests/rpl_log.test:
Auto merged
mysql-test/r/rpl_rbr_to_sbr.result:
Auto merged
mysql-test/r/rpl_row_basic_11bugs.result:
Auto merged
mysql-test/r/rpl_row_create_table.result:
Auto merged
mysql-test/r/rpl_row_flsh_tbls.result:
Auto merged
mysql-test/r/rpl_row_inexist_tbl.result:
Auto merged
mysql-test/r/rpl_row_log.result:
Auto merged
mysql-test/r/rpl_row_log_innodb.result:
Auto merged
mysql-test/r/rpl_row_max_relay_size.result:
Auto merged
mysql-test/r/rpl_row_until.result:
Auto merged
mysql-test/r/rpl_stm_log.result:
Auto merged
mysql-test/r/rpl_truncate_7ndb.result:
Auto merged
mysql-test/t/binlog_row_mix_innodb_myisam.test:
Auto merged
mysql-test/t/rpl_row_create_table.test:
Auto merged
mysql-test/t/rpl_row_flsh_tbls.test:
Auto merged
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/log_event.cc:
Auto merged
sql/log_event.h:
Auto merged
sql/rpl_record.cc:
Auto merged
sql/rpl_rli.h:
Auto merged
sql/rpl_utility.h:
Auto merged
BitKeeper/deleted/.del-rpl_colSize.result:
Delete: mysql-test/r/rpl_colSize.result
BitKeeper/deleted/.del-rpl_colSize.test:
Delete: mysql-test/t/rpl_colSize.test
mysql-test/r/rpl_ndb_log.result:
pull merge
,
sql/rpl_utility.cc:
pull merge
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.
To solve that issue this WL adopts results of WL#3228 which introduces an addon to
table_map event that carries the necessary part of information about sizes of data of columns.
mysql-test/extra/rpl_tests/rpl_extraMaster_Col.test@stripped, 2007-07-26 21:31:54-04:00, cbell@mysql_cab_desk. +393 -0
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/extra/rpl_tests/rpl_row_tabledefs.test:
WL#3915 master's cols > slave
Changed test to remove checks for error#1523 (more master cols than
slave). This portion of the test is no longer needed.
mysql-test/r/rpl_row_tabledefs_2myisam.result:
WL#3915 master's cols > slave
Corrected results from removal of checks for error#1523 (more master
cols than slave). This portion of the test is no longer needed.
mysql-test/r/rpl_row_tabledefs_3innodb.result:
WL#3915 master's cols > slave
Corrected results from removal of checks for error#1523 (more master
cols than slave). This portion of the test is no longer needed.
mysql-test/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.
sql/log_event.cc:
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/rpl_record.cc:
WL#3915 master's cols > slave
adding a snippet that shift exectution curson donw the row skipping unknown by slave
fields' data.
sql/rpl_utility.cc:
WL#3915 master's cols > slave
Remove warning message for master's cols > slave.
mysql-test/t/rpl_extraColmaster_innodb-master.opt:
WL#3915 master's cols > slave
option for innodb
mysql-test/t/rpl_extraColmaster_innodb-slave.opt:
WL#3915 master's cols > slave
option for innodb
mysql-test/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/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/t/rpl_row_extraColmaster_ndb.test:
WL#3915 master's cols > slave
Test of ndb. Test runs in row-based replication.
mysql-test/r/rpl_extraColmaster_innodb.result:
WL#3915 master's cols > slave
new results
mysql-test/t/rpl_stm_extraColmaster_ndb.test:
WL#3915 master's cols > slave
Test of ndb. Test runs in statement-based replication.
mysql-test/r/rpl_extraColmaster_myisam.result:
WL#3915 master's cols > slave
new results
mysql-test/r/rpl_row_extraColmaster_ndb.result:
WL#3915 master's cols > slave
new results
mysql-test/r/rpl_stm_extraColmaster_ndb.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.
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.
mysql-test/extra/rpl_tests/rpl_log.test:
WL#3228 : RBR using different table defs on slave/master
This patch changes the test to display slave status vertically.
mysql-test/r/rpl_ndb_log.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/r/rpl_rbr_to_sbr.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/r/rpl_row_basic_11bugs.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/r/rpl_row_create_table.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/r/rpl_row_flsh_tbls.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/r/rpl_row_inexist_tbl.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/r/rpl_row_log.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/r/rpl_row_log_innodb.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/r/rpl_row_max_relay_size.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/r/rpl_row_until.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/r/rpl_stm_log.result:
WL#3228 : RBR using different table defs on slave/master
This patch contains a result file for the rpl_log.test modifications.
mysql-test/r/rpl_truncate_7ndb.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/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/t/rpl_row_create_table.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/t/rpl_row_flsh_tbls.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.
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:
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.
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.
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.
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.
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/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/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.
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.
mysql-test/extra/rpl_tests/rpl_log.test:
WL#3228 : RBR using different table defs on slave/master
This patch changes the test to display slave status vertically.
mysql-test/r/rpl_ndb_log.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/r/rpl_rbr_to_sbr.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/r/rpl_row_basic_11bugs.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/r/rpl_row_create_table.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/r/rpl_row_flsh_tbls.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/r/rpl_row_inexist_tbl.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/r/rpl_row_log.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/r/rpl_row_log_innodb.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/r/rpl_row_max_relay_size.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/r/rpl_row_until.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/r/rpl_stm_log.result:
WL#3228 : RBR using different table defs on slave/master
This patch contains a result file for the rpl_log.test modifications.
mysql-test/r/rpl_truncate_7ndb.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/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/t/rpl_row_create_table.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/t/rpl_row_flsh_tbls.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.
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:
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.
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.
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.
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.
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/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/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.
If ::exteral_lock hadn't been called, we'd have no NDB object,
so need to check/get one here.
It looks like sql_show.cc is the only place that does this....
or at least the other places will be well hidden.
Index: ndb-work/sql/ha_ndbcluster.cc
===================================================================
sql/ha_ndbcluster.cc:
Bug#26793 I_S query crashes in NDB
Reduce case and formalise into something we should be
able to use in mysql-test-run.
Index: ndb-work/mysql-test/t/ndb_bug26793.test
===================================================================
mysql-test/r/ndb_bug26793.result:
BUG#26793 test: mysqld crashes in NDB on I_S query
mysql-test/t/ndb_bug26793.test:
BUG#26793 test: mysqld crashes in NDB on I_S query
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb
storage/ndb/src/kernel/blocks/dblqh/Dblqh.hpp:
Auto merged
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Auto merged
storage/ndb/test/ndbapi/testNodeRestart.cpp:
manual merge
storage/ndb/test/run-test/daily-basic-tests.txt:
manual merge
make free 64 bit (as it represents free bytes, not free extents as originally designed)
storage/ndb/src/ndbapi/NdbDictionaryImpl.hpp:
make free 64 bit (as it represents free bytes, not free extents as originally designed)
handle undofile/logfile groups that were created while node was node
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
Make sure that START_RECREQ is run on lgman/tsman even during initial node restart
storage/ndb/src/kernel/blocks/lgman.cpp:
Set state to LG_STARTING during node/system restart
storage/ndb/src/kernel/blocks/lgman.hpp:
add new state
Not very clever fix for DIH incorrect REDO handling
- Dont report GCP_SAVE_CONF until first LCP has been complete during NR
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
Not very clever fix for DIH incorrect REDO handling
- Dont report GCP_SAVE_CONF until first LCP has been complete during NR
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.0-ndb
ndb/src/kernel/blocks/dblqh/Dblqh.hpp:
Auto merged
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
Auto merged
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Auto merged
ndb/test/ndbapi/testNodeRestart.cpp:
merge
ndb/test/run-test/daily-basic-tests.txt:
merge
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new-ndb
storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Auto merged
storage/ndb/test/ndbapi/testNodeRestart.cpp:
merge
storage/ndb/test/run-test/daily-basic-tests.txt:
merge
into perch.ndb.mysql.com:/home/jonas/src/51-telco-gca
storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Auto merged
storage/ndb/test/ndbapi/testNodeRestart.cpp:
merge
storage/ndb/test/run-test/daily-basic-tests.txt:
merge