summaryrefslogtreecommitdiff
path: root/sql/table.cc
diff options
context:
space:
mode:
authorunknown <bar@gw.udmsearch.izhnet.ru>2002-02-22 15:24:42 +0400
committerunknown <bar@gw.udmsearch.izhnet.ru>2002-02-22 15:24:42 +0400
commit32a08516c974045bfc16fb30fcac18bb7ad8fbb8 (patch)
treea1157e118f45978188d5caf492b320d6302b1f93 /sql/table.cc
parent3d5dc65dfd72083ed159220d03bea942094e8662 (diff)
downloadmariadb-git-32a08516c974045bfc16fb30fcac18bb7ad8fbb8.tar.gz
Added GIS extension
BitKeeper/etc/ignore: Added myisam/rt_test myisam/sp_test to the ignore list
Diffstat (limited to 'sql/table.cc')
-rw-r--r--sql/table.cc24
1 files changed, 23 insertions, 1 deletions
diff --git a/sql/table.cc b/sql/table.cc
index 9aae9e17e5a..9e6283d6ad4 100644
--- a/sql/table.cc
+++ b/sql/table.cc
@@ -153,7 +153,9 @@ int openfrm(const char *name, const char *alias, uint db_stat, uint prgflag,
{
keyinfo->flags= ((uint) strpos[0]) ^ HA_NOSAME;
keyinfo->key_length= (uint) uint2korr(strpos+1);
- keyinfo->key_parts= (uint) strpos[3]; strpos+=4;
+ keyinfo->key_parts= (uint) strpos[3];
+ strpos+=4;
+
keyinfo->key_part= key_part;
keyinfo->rec_per_key= rec_per_key;
for (j=keyinfo->key_parts ; j-- ; key_part++)
@@ -395,6 +397,26 @@ int openfrm(const char *name, const char *alias, uint db_stat, uint prgflag,
}
}
+ keyinfo->key_alg=HA_KEY_ALG_BTREE; // BAR : btree by default
+
+#define BAR_DIRTY_HACK
+#ifdef BAR_DIRTY_HACK
+ // BAR FIXME: Dirty hack while waiting for new .frm format
+ switch(keyinfo->name[0]){
+ case 'R':
+ keyinfo->key_alg=HA_KEY_ALG_RTREE;
+ break;
+ case 'S':
+ keyinfo->key_alg = HA_KEY_ALG_RTREE;
+ keyinfo->flags |= HA_SPATIAL;
+ break;
+ case 'B':
+ default:
+ keyinfo->key_alg=HA_KEY_ALG_BTREE;
+ break;
+ }
+#endif
+
for (i=0 ; i < keyinfo->key_parts ; key_part++,i++)
{
if (new_field_pack_flag <= 1)