Loading mysql-test/r/ndb_types.result +39 −3 Original line number Diff line number Diff line Loading @@ -2,6 +2,9 @@ DROP TABLE IF EXISTS t1; CREATE TABLE t1 ( auto int(5) unsigned NOT NULL auto_increment, string char(10) default "hello", vstring varchar(10) default "hello", bin binary(7), vbin varbinary(7), tiny tinyint(4) DEFAULT '0' NOT NULL , short smallint(6) DEFAULT '1' NOT NULL , medium mediumint(8) DEFAULT '0' NOT NULL, Loading @@ -14,12 +17,13 @@ ushort smallint(5) unsigned zerofill DEFAULT '00000' NOT NULL, umedium mediumint(8) unsigned DEFAULT '0' NOT NULL, ulong int(11) unsigned DEFAULT '0' NOT NULL, ulonglong bigint(13) unsigned DEFAULT '0' NOT NULL, time_stamp timestamp, options enum('one','two','tree') not null, flags set('one','two','tree') not null, date_field date, year_field year, time_field time, date_time datetime, options enum('one','two','tree') not null, flags set('one','two','tree') not null, time_stamp timestamp not null default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, PRIMARY KEY (auto), KEY (utiny), KEY (tiny), Loading @@ -33,4 +37,36 @@ KEY (ulong), KEY (ulonglong,ulong), KEY (options,flags) ); set @now = now(); insert into t1 (string,vstring,bin,vbin,tiny,short,medium,long_int,longlong, real_float,real_double, utiny, ushort, umedium,ulong,ulonglong, options,flags,date_field,year_field,time_field,date_time) values ("aaaa","aaaa",0xAAAA,0xAAAA,-1,-1,-1,-1,-1,1.1,1.1,1,1,1,1,1, 'one','one', '1901-01-01','1901','01:01:01','1901-01-01 01:01:01'); select auto,string,vstring,bin,vbin,tiny,short,medium,long_int,longlong, real_float,real_double, utiny, ushort, umedium,ulong,ulonglong, options,flags,date_field,year_field,time_field,date_time from t1; auto string vstring bin vbin tiny short medium long_int longlong real_float real_double utiny ushort umedium ulong ulonglong options flags date_field year_field time_field date_time 1 aaaa aaaa -1 -1 -1 -1 -1 1.1 1.1000 1 00001 1 1 1 one one 1901-01-01 1901 01:01:01 1901-01-01 01:01:01 select time_stamp>@now from t1; time_stamp>@now 1 set @now = now(); update t1 set string="bbbb",vstring="bbbb",bin=0xBBBB,vbin=0xBBBB, tiny=-2,short=-2,medium=-2,long_int=-2,longlong=-2,real_float=2.2, real_double=2.2,utiny=2,ushort=2,umedium=2,ulong=2,ulonglong=2, options='one',flags='one', date_field='1902-02-02',year_field='1902', time_field='02:02:02',date_time='1902-02-02 02:02:02' where auto=1; select auto,string,vstring,bin,vbin,tiny,short,medium,long_int,longlong, real_float,real_double, utiny, ushort, umedium,ulong,ulonglong, options,flags,date_field,year_field,time_field,date_time from t1; auto string vstring bin vbin tiny short medium long_int longlong real_float real_double utiny ushort umedium ulong ulonglong options flags date_field year_field time_field date_time 1 bbbb bbbb -2 -2 -2 -2 -2 2.2 2.2000 2 00002 2 2 2 one one 1902-02-02 1902 02:02:02 1902-02-02 02:02:02 select time_stamp>@now from t1; time_stamp>@now 1 drop table t1; mysql-test/t/ndb_types.test +36 −4 Original line number Diff line number Diff line Loading @@ -7,10 +7,12 @@ DROP TABLE IF EXISTS t1; # # Test creation of different column types in NDB # CREATE TABLE t1 ( auto int(5) unsigned NOT NULL auto_increment, string char(10) default "hello", vstring varchar(10) default "hello", bin binary(7), vbin varbinary(7), tiny tinyint(4) DEFAULT '0' NOT NULL , short smallint(6) DEFAULT '1' NOT NULL , medium mediumint(8) DEFAULT '0' NOT NULL, Loading @@ -23,12 +25,13 @@ CREATE TABLE t1 ( umedium mediumint(8) unsigned DEFAULT '0' NOT NULL, ulong int(11) unsigned DEFAULT '0' NOT NULL, ulonglong bigint(13) unsigned DEFAULT '0' NOT NULL, time_stamp timestamp, options enum('one','two','tree') not null, flags set('one','two','tree') not null, date_field date, year_field year, time_field time, date_time datetime, options enum('one','two','tree') not null, flags set('one','two','tree') not null, time_stamp timestamp not null default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, PRIMARY KEY (auto), KEY (utiny), KEY (tiny), Loading @@ -43,5 +46,34 @@ CREATE TABLE t1 ( KEY (options,flags) ); set @now = now(); sleep 1; insert into t1 (string,vstring,bin,vbin,tiny,short,medium,long_int,longlong, real_float,real_double, utiny, ushort, umedium,ulong,ulonglong, options,flags,date_field,year_field,time_field,date_time) values ("aaaa","aaaa",0xAAAA,0xAAAA,-1,-1,-1,-1,-1,1.1,1.1,1,1,1,1,1, 'one','one', '1901-01-01','1901','01:01:01','1901-01-01 01:01:01'); select auto,string,vstring,bin,vbin,tiny,short,medium,long_int,longlong, real_float,real_double, utiny, ushort, umedium,ulong,ulonglong, options,flags,date_field,year_field,time_field,date_time from t1; select time_stamp>@now from t1; set @now = now(); sleep 1; update t1 set string="bbbb",vstring="bbbb",bin=0xBBBB,vbin=0xBBBB, tiny=-2,short=-2,medium=-2,long_int=-2,longlong=-2,real_float=2.2, real_double=2.2,utiny=2,ushort=2,umedium=2,ulong=2,ulonglong=2, options='one',flags='one', date_field='1902-02-02',year_field='1902', time_field='02:02:02',date_time='1902-02-02 02:02:02' where auto=1; select auto,string,vstring,bin,vbin,tiny,short,medium,long_int,longlong, real_float,real_double, utiny, ushort, umedium,ulong,ulonglong, options,flags,date_field,year_field,time_field,date_time from t1; select time_stamp>@now from t1; drop table t1; sql/ha_ndbcluster.cc +4 −0 Original line number Diff line number Diff line Loading @@ -1953,7 +1953,11 @@ int ha_ndbcluster::update_row(const byte *old_data, byte *new_data) statistic_increment(ha_update_count,&LOCK_status); if (table->timestamp_field_type & TIMESTAMP_AUTO_SET_ON_UPDATE) { table->timestamp_field->set_time(); // Set query_id so that field is really updated table->timestamp_field->query_id= thd->query_id; } /* Check for update of primary key for special handling */ if ((table->primary_key != MAX_KEY) && Loading Loading
mysql-test/r/ndb_types.result +39 −3 Original line number Diff line number Diff line Loading @@ -2,6 +2,9 @@ DROP TABLE IF EXISTS t1; CREATE TABLE t1 ( auto int(5) unsigned NOT NULL auto_increment, string char(10) default "hello", vstring varchar(10) default "hello", bin binary(7), vbin varbinary(7), tiny tinyint(4) DEFAULT '0' NOT NULL , short smallint(6) DEFAULT '1' NOT NULL , medium mediumint(8) DEFAULT '0' NOT NULL, Loading @@ -14,12 +17,13 @@ ushort smallint(5) unsigned zerofill DEFAULT '00000' NOT NULL, umedium mediumint(8) unsigned DEFAULT '0' NOT NULL, ulong int(11) unsigned DEFAULT '0' NOT NULL, ulonglong bigint(13) unsigned DEFAULT '0' NOT NULL, time_stamp timestamp, options enum('one','two','tree') not null, flags set('one','two','tree') not null, date_field date, year_field year, time_field time, date_time datetime, options enum('one','two','tree') not null, flags set('one','two','tree') not null, time_stamp timestamp not null default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, PRIMARY KEY (auto), KEY (utiny), KEY (tiny), Loading @@ -33,4 +37,36 @@ KEY (ulong), KEY (ulonglong,ulong), KEY (options,flags) ); set @now = now(); insert into t1 (string,vstring,bin,vbin,tiny,short,medium,long_int,longlong, real_float,real_double, utiny, ushort, umedium,ulong,ulonglong, options,flags,date_field,year_field,time_field,date_time) values ("aaaa","aaaa",0xAAAA,0xAAAA,-1,-1,-1,-1,-1,1.1,1.1,1,1,1,1,1, 'one','one', '1901-01-01','1901','01:01:01','1901-01-01 01:01:01'); select auto,string,vstring,bin,vbin,tiny,short,medium,long_int,longlong, real_float,real_double, utiny, ushort, umedium,ulong,ulonglong, options,flags,date_field,year_field,time_field,date_time from t1; auto string vstring bin vbin tiny short medium long_int longlong real_float real_double utiny ushort umedium ulong ulonglong options flags date_field year_field time_field date_time 1 aaaa aaaa -1 -1 -1 -1 -1 1.1 1.1000 1 00001 1 1 1 one one 1901-01-01 1901 01:01:01 1901-01-01 01:01:01 select time_stamp>@now from t1; time_stamp>@now 1 set @now = now(); update t1 set string="bbbb",vstring="bbbb",bin=0xBBBB,vbin=0xBBBB, tiny=-2,short=-2,medium=-2,long_int=-2,longlong=-2,real_float=2.2, real_double=2.2,utiny=2,ushort=2,umedium=2,ulong=2,ulonglong=2, options='one',flags='one', date_field='1902-02-02',year_field='1902', time_field='02:02:02',date_time='1902-02-02 02:02:02' where auto=1; select auto,string,vstring,bin,vbin,tiny,short,medium,long_int,longlong, real_float,real_double, utiny, ushort, umedium,ulong,ulonglong, options,flags,date_field,year_field,time_field,date_time from t1; auto string vstring bin vbin tiny short medium long_int longlong real_float real_double utiny ushort umedium ulong ulonglong options flags date_field year_field time_field date_time 1 bbbb bbbb -2 -2 -2 -2 -2 2.2 2.2000 2 00002 2 2 2 one one 1902-02-02 1902 02:02:02 1902-02-02 02:02:02 select time_stamp>@now from t1; time_stamp>@now 1 drop table t1;
mysql-test/t/ndb_types.test +36 −4 Original line number Diff line number Diff line Loading @@ -7,10 +7,12 @@ DROP TABLE IF EXISTS t1; # # Test creation of different column types in NDB # CREATE TABLE t1 ( auto int(5) unsigned NOT NULL auto_increment, string char(10) default "hello", vstring varchar(10) default "hello", bin binary(7), vbin varbinary(7), tiny tinyint(4) DEFAULT '0' NOT NULL , short smallint(6) DEFAULT '1' NOT NULL , medium mediumint(8) DEFAULT '0' NOT NULL, Loading @@ -23,12 +25,13 @@ CREATE TABLE t1 ( umedium mediumint(8) unsigned DEFAULT '0' NOT NULL, ulong int(11) unsigned DEFAULT '0' NOT NULL, ulonglong bigint(13) unsigned DEFAULT '0' NOT NULL, time_stamp timestamp, options enum('one','two','tree') not null, flags set('one','two','tree') not null, date_field date, year_field year, time_field time, date_time datetime, options enum('one','two','tree') not null, flags set('one','two','tree') not null, time_stamp timestamp not null default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, PRIMARY KEY (auto), KEY (utiny), KEY (tiny), Loading @@ -43,5 +46,34 @@ CREATE TABLE t1 ( KEY (options,flags) ); set @now = now(); sleep 1; insert into t1 (string,vstring,bin,vbin,tiny,short,medium,long_int,longlong, real_float,real_double, utiny, ushort, umedium,ulong,ulonglong, options,flags,date_field,year_field,time_field,date_time) values ("aaaa","aaaa",0xAAAA,0xAAAA,-1,-1,-1,-1,-1,1.1,1.1,1,1,1,1,1, 'one','one', '1901-01-01','1901','01:01:01','1901-01-01 01:01:01'); select auto,string,vstring,bin,vbin,tiny,short,medium,long_int,longlong, real_float,real_double, utiny, ushort, umedium,ulong,ulonglong, options,flags,date_field,year_field,time_field,date_time from t1; select time_stamp>@now from t1; set @now = now(); sleep 1; update t1 set string="bbbb",vstring="bbbb",bin=0xBBBB,vbin=0xBBBB, tiny=-2,short=-2,medium=-2,long_int=-2,longlong=-2,real_float=2.2, real_double=2.2,utiny=2,ushort=2,umedium=2,ulong=2,ulonglong=2, options='one',flags='one', date_field='1902-02-02',year_field='1902', time_field='02:02:02',date_time='1902-02-02 02:02:02' where auto=1; select auto,string,vstring,bin,vbin,tiny,short,medium,long_int,longlong, real_float,real_double, utiny, ushort, umedium,ulong,ulonglong, options,flags,date_field,year_field,time_field,date_time from t1; select time_stamp>@now from t1; drop table t1;
sql/ha_ndbcluster.cc +4 −0 Original line number Diff line number Diff line Loading @@ -1953,7 +1953,11 @@ int ha_ndbcluster::update_row(const byte *old_data, byte *new_data) statistic_increment(ha_update_count,&LOCK_status); if (table->timestamp_field_type & TIMESTAMP_AUTO_SET_ON_UPDATE) { table->timestamp_field->set_time(); // Set query_id so that field is really updated table->timestamp_field->query_id= thd->query_id; } /* Check for update of primary key for special handling */ if ((table->primary_key != MAX_KEY) && Loading