summaryrefslogtreecommitdiff
path: root/sql/ha_innodb.cc
diff options
context:
space:
mode:
authorSatya B <satya.bn@sun.com>2009-11-25 15:08:52 +0530
committerSatya B <satya.bn@sun.com>2009-11-25 15:08:52 +0530
commit2bf2e8f9dd619ba7ecb635a0eb51a7a4f9db977b (patch)
tree7c5abab46c53972929ef0763ca21e9fb4b24d1f9 /sql/ha_innodb.cc
parent84c5abbd33856ba730b1e9091146d986f1923bfa (diff)
downloadmariadb-git-2bf2e8f9dd619ba7ecb635a0eb51a7a4f9db977b.tar.gz
Applying InnoDB snapshot 5.0-ss6230, Part 1. Fixes BUG#47777
BUG#47777 - innodb dies with spatial pk: Failing assertion: buf <= original_buf + buf_len Detailed revision comments: r6178 | jyang | 2009-11-17 08:52:11 +0200 (Tue, 17 Nov 2009) | 6 lines branches/5.0: Merge fix for bug #47777 from branches/5.1 -r6045 to bracnches/5.0. Treat the Geometry data same as Binary BLOB in ha_innobase::store_key_val_for_row(), since the Geometry data is stored as Binary BLOB in Innodb.
Diffstat (limited to 'sql/ha_innodb.cc')
-rw-r--r--sql/ha_innodb.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/sql/ha_innodb.cc b/sql/ha_innodb.cc
index 4bd54805a95..29d416c666c 100644
--- a/sql/ha_innodb.cc
+++ b/sql/ha_innodb.cc
@@ -2767,7 +2767,10 @@ ha_innobase::store_key_val_for_row(
} else if (mysql_type == FIELD_TYPE_TINY_BLOB
|| mysql_type == FIELD_TYPE_MEDIUM_BLOB
|| mysql_type == FIELD_TYPE_BLOB
- || mysql_type == FIELD_TYPE_LONG_BLOB) {
+ || mysql_type == FIELD_TYPE_LONG_BLOB
+ /* MYSQL_TYPE_GEOMETRY data is treated
+ as BLOB data in innodb. */
+ || mysql_type == FIELD_TYPE_GEOMETRY) {
CHARSET_INFO* cs;
ulint key_len;