diff options
author | unknown <hf@deer.(none)> | 2004-12-10 16:06:49 +0400 |
---|---|---|
committer | unknown <hf@deer.(none)> | 2004-12-10 16:06:49 +0400 |
commit | 95056a0b657b6d4f3a9106e4f21dfdf348da3690 (patch) | |
tree | fac5d0ecf6bba7008a8028e86bee3f9cee4960a1 /sql | |
parent | 7a60d1558a89df5f198884d360a14bf2b48f2c49 (diff) | |
download | mariadb-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.cc | 6 |
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); } |