diff options
author | gkodinov/kgeorge@magare.gmz <> | 2007-03-26 14:14:23 +0300 |
---|---|---|
committer | gkodinov/kgeorge@magare.gmz <> | 2007-03-26 14:14:23 +0300 |
commit | a65bc60d1a6595f52bc7f2c5473a2a6a55cb2971 (patch) | |
tree | b2c3e7e26a45e2a5c012eb3a6b0023c76de859fd | |
parent | 7773523f80d484ecea772b8d09a2ec34987ac706 (diff) | |
parent | e6d81ad3383fa5f6dc282ff7d85d3e2cdbec5a9c (diff) | |
download | mariadb-git-a65bc60d1a6595f52bc7f2c5473a2a6a55cb2971.tar.gz |
Merge magare.gmz:/home/kgeorge/mysql/work/B27164-4.1-opt
into magare.gmz:/home/kgeorge/mysql/work/B27164-5.0-opt
-rw-r--r-- | mysql-test/r/gis.result | 6 | ||||
-rw-r--r-- | mysql-test/t/gis.test | 8 | ||||
-rw-r--r-- | sql/field.h | 2 |
3 files changed, 15 insertions, 1 deletions
diff --git a/mysql-test/r/gis.result b/mysql-test/r/gis.result index de034d93dc5..58149d68ca3 100644 --- a/mysql-test/r/gis.result +++ b/mysql-test/r/gis.result @@ -730,6 +730,12 @@ point(b, b) IS NULL linestring(b) IS NULL polygon(b) IS NULL multipoint(b) IS NU 1 1 1 1 1 1 1 0 1 1 1 1 1 1 drop table t1; +CREATE TABLE t1(a POINT) ENGINE=MyISAM; +INSERT INTO t1 VALUES (NULL); +SELECT * FROM t1; +a +NULL +DROP TABLE t1; End of 4.1 tests create table t1 (s1 geometry not null,s2 char(100)); create trigger t1_bu before update on t1 for each row set new.s1 = null; diff --git a/mysql-test/t/gis.test b/mysql-test/t/gis.test index b32764f1f62..d92ff804ccb 100644 --- a/mysql-test/t/gis.test +++ b/mysql-test/t/gis.test @@ -423,6 +423,14 @@ from t1; drop table t1; +# +# Bug #27164: Crash when mixing InnoDB and MyISAM Geospatial tables +# +CREATE TABLE t1(a POINT) ENGINE=MyISAM; +INSERT INTO t1 VALUES (NULL); +SELECT * FROM t1; +DROP TABLE t1; + --echo End of 4.1 tests # diff --git a/sql/field.h b/sql/field.h index 87bbda5c875..e82e90ce5ab 100644 --- a/sql/field.h +++ b/sql/field.h @@ -1284,7 +1284,7 @@ public: int store_decimal(const my_decimal *); void get_key_image(char *buff,uint length,imagetype type); uint size_of() const { return sizeof(*this); } - int reset(void) { return !maybe_null(); } + int reset(void) { return !maybe_null() || Field_blob::reset(); } }; #endif /*HAVE_SPATIAL*/ |