Commit graph

9 commits

Author SHA1 Message Date
gshchepa/uchum@host.loc
17c5117872 Merge host.loc:/home/uchum/work/5.1-opt-33699
into  host.loc:/home/uchum/work/5.1-opt
2008-01-11 21:39:45 +04:00
gshchepa/uchum@host.loc
32d13ab23d Bug#33699: The UPDATE statement allows NULL as new value on a NOT NULL
columns (default datatype value is assigned).

The mysql_update function has been modified to generate
an error when trying to set a NOT NULL field to NULL rather than a warning
in the set_field_to_null_with_conversions function.
2008-01-11 05:06:08 +04:00
tomas@whalegate.ndb.mysql.com
57c890d501 Merge whalegate.ndb.mysql.com:/home/tomas/cge-5.1
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb-merge
2007-12-10 13:32:19 +01:00
tomas@whalegate.ndb.mysql.com
4740565ebb backport test for bug#30674
(bug not present in 5.1)
2007-12-10 13:29:23 +01:00
mkindahl@dl145h.mysql.com
6b5cb11dba Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.1
into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-new-rpl
2007-11-14 11:07:30 +01:00
mats@kindahl-laptop.dnsalias.net
c4298a3fb9 BUG#29549 (Endians: test failures on Solaris):
Refactoring code to add parameter to pack() and unpack() functions with
purpose of indicating if data should be packed in little-endian or
native order. Using new functions to always pack data for binary log
in little-endian order. The purpose of this refactoring is to allow
proper implementation of endian-agnostic pack() and unpack() functions.

Eliminating several versions of virtual pack() and unpack() functions
in favor for one single virtual function which is overridden in
subclasses.

Implementing pack() and unpack() functions for some field types that
packed data in native format regardless of the value of the
st_table_share::db_low_byte_first flag.

The field types that were packed in native format regardless are:
Field_real, Field_decimal, Field_tiny, Field_short, Field_medium,
Field_long, Field_longlong, and Field_blob.

Before the patch, row-based logging wrote the rows incorrectly on
big-endian machines where the storage engine defined its own
low_byte_first() to be FALSE on big-endian machines (the default
is TRUE), while little-endian machines wrote the fields in correct
order. The only known storage engine that does this is NDB. In effect,
this means that row-based replication from or to a big-endian
machine where the table was using NDB as storage engine failed if the
other engine was either non-NDB or on a little-endian machine.

With this patch, row-based logging is now always done in little-endian
order, while ORDER BY uses the native order if the storage engine
defines low_byte_first() to return FALSE for big-endian machines.

In addition, the max_data_length() function available in Field_blob
was generalized to the entire Field hierarchy to give the maximum
number of bytes that Field::pack() will write.
2007-10-11 18:18:05 +02:00
jmiller/ndbdev@mysql.com/ndb15.mysql.com
44352e16ad .del-rpl_stm_extraColmaster_ndb.test~5ac81fa1ec366ba:
Delete: mysql-test/suite/rpl/t/rpl_stm_extraColmaster_ndb.test
.del-rpl_row_extraColmaster_ndb.result~a2c64bae75b49d2:
  Delete: mysql-test/suite/rpl/r/rpl_row_extraColmaster_ndb.result
.del-rpl_row_extraColmaster_ndb.test~523b0954869c4423:
  Delete: mysql-test/suite/rpl/t/rpl_row_extraColmaster_ndb.test
Many files:
  merged and cleanup of test cases
2007-10-10 16:43:20 +02:00
cbell/Chuck@mysql_cab_desk.
0950f6435c WL#3915 : (NDB) master's cols > slave
Changed test to enable easier debugging.
2007-07-30 11:59:05 -04:00
cbell/Chuck@mysql_cab_desk.
537c23e833 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.
2007-07-29 18:10:42 -04:00