summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgkodinov/kgeorge@magare.gmz <>2007-03-26 14:14:23 +0300
committergkodinov/kgeorge@magare.gmz <>2007-03-26 14:14:23 +0300
commita65bc60d1a6595f52bc7f2c5473a2a6a55cb2971 (patch)
treeb2c3e7e26a45e2a5c012eb3a6b0023c76de859fd
parent7773523f80d484ecea772b8d09a2ec34987ac706 (diff)
parente6d81ad3383fa5f6dc282ff7d85d3e2cdbec5a9c (diff)
downloadmariadb-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.result6
-rw-r--r--mysql-test/t/gis.test8
-rw-r--r--sql/field.h2
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*/