mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
fixed Field::eq() to work with CHAR(0) fields
This commit is contained in:
@ -333,3 +333,5 @@ innobase/autom4te.cache/requests
|
||||
innobase/autom4te.cache/traces.0
|
||||
innobase/stamp-h1
|
||||
stamp-h1
|
||||
configure.lineno
|
||||
innobase/configure.lineno
|
||||
|
4
mysql-test/r/delete.result
Normal file
4
mysql-test/r/delete.result
Normal file
@ -0,0 +1,4 @@
|
||||
bool not_null misc
|
||||
NULL c 6
|
||||
NULL d 7
|
||||
bool not_null misc
|
@ -35,3 +35,23 @@ create table t1 (a bigint not null, primary key (a,a,a,a,a,a,a,a,a,a));
|
||||
insert into t1 values (2),(4),(6),(8),(10),(12),(14),(16),(18),(20),(22),(24),(26),(23),(27);
|
||||
delete from t1 where a=27;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# CHAR(0) bug - not actually DELETE bug, but anyway...
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (
|
||||
bool char(0) default NULL,
|
||||
not_null varchar(20) binary NOT NULL default '',
|
||||
misc integer not null,
|
||||
PRIMARY KEY (not_null)
|
||||
) TYPE=MyISAM;
|
||||
|
||||
INSERT INTO t1 VALUES (NULL,'a',4), (NULL,'b',5), (NULL,'c',6), (NULL,'d',7);
|
||||
|
||||
select * from t1 where misc > 5 and bool is null;
|
||||
delete from t1 where misc > 5 and bool is null;
|
||||
select * from t1 where misc > 5 and bool is null;
|
||||
|
||||
drop table t1;
|
||||
|
||||
|
@ -64,7 +64,7 @@ public:
|
||||
virtual String *val_str(String*,String *)=0;
|
||||
virtual Item_result result_type () const=0;
|
||||
virtual Item_result cmp_type () const { return result_type(); }
|
||||
bool eq(Field *field) { return ptr == field->ptr; }
|
||||
bool eq(Field *field) { return ptr == field->ptr && null_ptr == field->null_ptr; }
|
||||
virtual bool eq_def(Field *field);
|
||||
virtual uint32 pack_length() const { return (uint32) field_length; }
|
||||
virtual void reset(void) { bzero(ptr,pack_length()); }
|
||||
|
Reference in New Issue
Block a user