~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to storage/myisam/mi_key.c

Merging trunk changes from over weekend.

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
 
18
18
#include "myisamdef.h"
19
19
#include "m_ctype.h"
20
 
#include "sp_defs.h"
21
20
#ifdef HAVE_IEEEFP_H
22
21
#include <ieeefp.h>
23
22
#endif
57
56
  my_bool is_ft= info->s->keyinfo[keynr].flag & HA_FULLTEXT;
58
57
  DBUG_ENTER("_mi_make_key");
59
58
 
60
 
  if (info->s->keyinfo[keynr].flag & HA_SPATIAL)
61
 
  {
62
 
    /*
63
 
      TODO: nulls processing
64
 
    */
65
 
#ifdef HAVE_SPATIAL
66
 
    DBUG_RETURN(sp_make_key(info,keynr,key,record,filepos));
67
 
#else
68
 
    DBUG_ASSERT(0); /* mi_open should check that this never happens*/
69
 
#endif
70
 
  }
71
 
 
72
59
  start=key;
73
60
  for (keyseg=info->s->keyinfo[keynr].seg ; keyseg->type ;keyseg++)
74
61
  {
223
210
  my_bool is_ft= info->s->keyinfo[keynr].flag & HA_FULLTEXT;
224
211
  DBUG_ENTER("_mi_pack_key");
225
212
 
226
 
  /* "one part" rtree key is 2*SPDIMS part key in MyISAM */
227
 
  if (info->s->keyinfo[keynr].key_alg == HA_KEY_ALG_RTREE)
228
 
    keypart_map= (((key_part_map)1) << (2*SPDIMS)) - 1;
229
 
 
230
213
  /* only key prefixes are supported */
231
214
  DBUG_ASSERT(((keypart_map+1) & keypart_map) == 0);
232
215