diff --git a/mysql-test/r/ndb_types.result b/mysql-test/r/ndb_types.result
index 5afa9c57e382cc5600595e0dfa5b44ae3c74e880..37ce7732f65f3416ac6d4a577623cdcebc770af8 100644
--- a/mysql-test/r/ndb_types.result
+++ b/mysql-test/r/ndb_types.result
@@ -12,11 +12,13 @@ long_int int(11) DEFAULT '0' NOT NULL,
 longlong bigint(13) DEFAULT '0' NOT NULL,
 real_float float(13,1) DEFAULT 0.0 NOT NULL,
 real_double double(16,4),
+real_decimal decimal(16,4),
 utiny tinyint(3) unsigned DEFAULT '0' NOT NULL,
 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,
+bits bit(3),		
 options enum('one','two','tree') not null,
 flags set('one','two','tree') not null,
 date_field date,	
@@ -40,32 +42,33 @@ 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)
+real_float,real_double, real_decimal,utiny, ushort, umedium,ulong,ulonglong,
+bits,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');
+("aaaa","aaaa",0xAAAA,0xAAAA,-1,-1,-1,-1,-1,1.1,1.1,1.1,1,1,1,1,1, 
+b'001','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
+real_float,real_double,real_decimal,utiny,ushort,umedium,ulong,ulonglong,
+bits,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
+auto	string	vstring	bin	vbin	tiny	short	medium	long_int	longlong	real_float	real_double	real_decimal	utiny	ushort	umedium	ulong	ulonglong	bits	options	flags	date_field	year_field	time_field	date_time
+1	aaaa	aaaa			-1	-1	-1	-1	-1	1.1	1.1000	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, 
+real_double=2.2,real_decimal=2.2,utiny=2,ushort=2,umedium=2,ulong=2,
+ulonglong=2, bits=b'010',
 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
+real_float,real_double,real_decimal,utiny,ushort,umedium,ulong,ulonglong,
+bits,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
+auto	string	vstring	bin	vbin	tiny	short	medium	long_int	longlong	real_float	real_double	real_decimal	utiny	ushort	umedium	ulong	ulonglong	bits	options	flags	date_field	year_field	time_field	date_time
+1	bbbb	bbbb	换	换	-2	-2	-2	-2	-2	2.2	2.2000	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
diff --git a/mysql-test/t/ndb_types.test b/mysql-test/t/ndb_types.test
index d66718ca4e4d7215606f97ba1d6d3ecc51a2c881..823ca942d574ddb91ded6b9790224ebcd9271540 100644
--- a/mysql-test/t/ndb_types.test
+++ b/mysql-test/t/ndb_types.test
@@ -20,11 +20,13 @@ CREATE TABLE t1 (
   longlong bigint(13) DEFAULT '0' NOT NULL,
   real_float float(13,1) DEFAULT 0.0 NOT NULL,
   real_double double(16,4),
+  real_decimal decimal(16,4),
   utiny tinyint(3) unsigned DEFAULT '0' NOT NULL,
   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,
+  bits bit(3),		
   options enum('one','two','tree') not null,
   flags set('one','two','tree') not null,
   date_field date,	
@@ -50,15 +52,15 @@ 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)
+ real_float,real_double, real_decimal,utiny, ushort, umedium,ulong,ulonglong,
+ bits,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');
+("aaaa","aaaa",0xAAAA,0xAAAA,-1,-1,-1,-1,-1,1.1,1.1,1.1,1,1,1,1,1, 
+ b'001','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
+ real_float,real_double,real_decimal,utiny,ushort,umedium,ulong,ulonglong,
+ bits,options,flags,date_field,year_field,time_field,date_time
 from t1;
 select time_stamp>@now from t1;
 
@@ -66,13 +68,14 @@ 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, 
+real_double=2.2,real_decimal=2.2,utiny=2,ushort=2,umedium=2,ulong=2,
+ulonglong=2, bits=b'010',
 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
+ real_float,real_double,real_decimal,utiny,ushort,umedium,ulong,ulonglong,
+ bits,options,flags,date_field,year_field,time_field,date_time
 from t1;
 select time_stamp>@now from t1;