summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorunknown <hf@deer.(none)>2004-12-10 16:06:49 +0400
committerunknown <hf@deer.(none)>2004-12-10 16:06:49 +0400
commit95056a0b657b6d4f3a9106e4f21dfdf348da3690 (patch)
treefac5d0ecf6bba7008a8028e86bee3f9cee4960a1 /sql
parent7a60d1558a89df5f198884d360a14bf2b48f2c49 (diff)
downloadmariadb-git-95056a0b657b6d4f3a9106e4f21dfdf348da3690.tar.gz
Fix for bug #6516 (Server crash loading spatial data)
(after discussion with SerG) include/my_base.h: Handler error code added myisam/mi_write.c: New error code handled myisam/rt_index.c: check for zero length added myisam/sp_key.c: zero length check added mysql-test/r/gis-rtree.result: appropriate test result mysql-test/t/gis-rtree.test: test case sql/handler.cc: new error code handling added
Diffstat (limited to 'sql')
-rw-r--r--sql/handler.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/sql/handler.cc b/sql/handler.cc
index 530c5f137ec..3200c6932e9 100644
--- a/sql/handler.cc
+++ b/sql/handler.cc
@@ -1083,6 +1083,9 @@ void handler::print_error(int error, myf errflag)
textno=ER_DUP_KEY;
break;
}
+ case HA_ERR_NULL_IN_SPATIAL:
+ textno= ER_UNKNOWN_ERROR;
+ DBUG_VOID_RETURN;
case HA_ERR_FOUND_DUPP_UNIQUE:
textno=ER_DUP_UNIQUE;
break;
@@ -1196,7 +1199,8 @@ uint handler::get_dup_key(int error)
{
DBUG_ENTER("handler::get_dup_key");
table->file->errkey = (uint) -1;
- if (error == HA_ERR_FOUND_DUPP_KEY || error == HA_ERR_FOUND_DUPP_UNIQUE)
+ if (error == HA_ERR_FOUND_DUPP_KEY || error == HA_ERR_FOUND_DUPP_UNIQUE ||
+ error == HA_ERR_NULL_IN_SPATIAL)
info(HA_STATUS_ERRKEY | HA_STATUS_NO_LOCK);
DBUG_RETURN(table->file->errkey);
}