~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to storage/heap/hp_hash.c

  • Committer: Eric Herman
  • Date: 2008-12-06 19:42:46 UTC
  • mto: (656.1.6 devel)
  • mto: This revision was merged to the branch mainline in revision 665.
  • Revision ID: eric@mysql.com-20081206194246-5cdexuu81i366eek
removed trailing whitespace with simple script:

for file in $(find . -name "*.c") $(find . -name "*.cc") $(find . -name "*.h"); do ruby -pe 'gsub(/\s+$/, $/)' < $file > $file.out; mv $file.out $file; done;

Show diffs side-by-side

added added

removed removed

Lines of Context:
161
161
 
162
162
  if (old_nextflag && nextflag)
163
163
    my_errno=HA_ERR_RECORD_CHANGED;             /* Didn't find old record */
164
 
  info->current_hash_ptr=0;  
 
164
  info->current_hash_ptr=0;
165
165
  return((info->current_ptr= 0));
166
166
}
167
167
 
195
195
      hashnr     Hash value
196
196
      buffmax    Value such that
197
197
                 2^(n-1) < maxlength <= 2^n = buffmax
198
 
      maxlength  
199
 
  
 
198
      maxlength
 
199
 
200
200
  RETURN
201
201
    Array index, in [0..maxlength)
202
202
*/
233
233
 
234
234
uint32_t hp_hashnr(register HP_KEYDEF *keydef, register const unsigned char *key)
235
235
{
236
 
  /*register*/ 
 
236
  /*register*/
237
237
  uint32_t nr=1, nr2=4;
238
238
  HA_KEYSEG *seg,*endseg;
239
239
 
413
413
    {
414
414
      for ( ; pos < (unsigned char*) key ; pos++)
415
415
      {
416
 
        nr *=16777619; 
 
416
        nr *=16777619;
417
417
        nr ^=(uint) *pos;
418
418
      }
419
419
    }
457
457
      unsigned char *end= pos+seg->length;
458
458
      for ( ; pos < end ; pos++)
459
459
      {
460
 
        nr *=16777619; 
 
460
        nr *=16777619;
461
461
        nr ^=(uint) *pos;
462
462
      }
463
463
    }
477
477
    rec1                Record to compare
478
478
    rec2                Other record to compare
479
479
    diff_if_only_endspace_difference
480
 
                        Different number of end space is significant    
 
480
                        Different number of end space is significant
481
481
 
482
482
  NOTES
483
483
    diff_if_only_endspace_difference is used to allow us to insert
615
615
        char_length_key= seg->length;
616
616
        char_length_rec= seg->length;
617
617
      }
618
 
      
 
618
 
619
619
      if (seg->charset->coll->strnncollsp(seg->charset,
620
620
                                          (unsigned char*) pos, char_length_rec,
621
621
                                          (unsigned char*) key, char_length_key, 0))
635
635
      if (cs->mbmaxlen > 1)
636
636
      {
637
637
        uint32_t char_length1, char_length2;
638
 
        char_length1= char_length2= seg->length / cs->mbmaxlen; 
 
638
        char_length1= char_length2= seg->length / cs->mbmaxlen;
639
639
        char_length1= my_charpos(cs, key, key + char_length_key, char_length1);
640
640
        set_if_smaller(char_length_key, char_length1);
641
641
        char_length2= my_charpos(cs, pos, pos + char_length_rec, char_length2);
691
691
  } while(0)
692
692
 
693
693
 
694
 
uint32_t hp_rb_make_key(HP_KEYDEF *keydef, unsigned char *key, 
 
694
uint32_t hp_rb_make_key(HP_KEYDEF *keydef, unsigned char *key,
695
695
                    const unsigned char *rec, unsigned char *recpos)
696
696
{
697
697
  unsigned char *start_key= key;
709
709
    {
710
710
      uint32_t length= seg->length;
711
711
      unsigned char *pos= (unsigned char*) rec + seg->start;
712
 
      
 
712
 
713
713
#ifdef HAVE_ISNAN
714
714
      if (seg->type == HA_KEYTYPE_FLOAT)
715
715
      {
765
765
    char_length= seg->length;
766
766
    if (seg->charset->mbmaxlen > 1)
767
767
    {
768
 
      char_length= my_charpos(seg->charset, 
 
768
      char_length= my_charpos(seg->charset,
769
769
                              rec + seg->start, rec + seg->start + char_length,
770
770
                              char_length / seg->charset->mbmaxlen);
771
771
      set_if_smaller(char_length, seg->length); /* QQ: ok to remove? */
801
801
    {
802
802
      uint32_t length= seg->length;
803
803
      unsigned char *pos= (unsigned char*) old + length;
804
 
      
 
804
 
805
805
      while (length--)
806
806
      {
807
807
        *key++= *--pos;
831
831
                              char_length / seg->charset->mbmaxlen);
832
832
      set_if_smaller(char_length, seg->length); /* QQ: ok to remove? */
833
833
      if (char_length < seg->length)
834
 
        seg->charset->cset->fill(seg->charset, (char*) key + char_length, 
 
834
        seg->charset->cset->fill(seg->charset, (char*) key + char_length,
835
835
                                 seg->length - char_length, ' ');
836
836
    }
837
837
    memcpy(key, old, (size_t) char_length);
852
852
{
853
853
  const unsigned char *start_key= key;
854
854
  HA_KEYSEG *seg, *endseg;
855
 
  
 
855
 
856
856
  for (seg= keydef->seg, endseg= seg + keydef->keysegs; seg < endseg; seg++)
857
857
  {
858
858
    if (seg->null_bit && !*key++)
861
861
  }
862
862
  return (uint) (key - start_key);
863
863
}
864
 
                  
 
864
 
865
865
 
866
866
uint32_t hp_rb_var_key_length(HP_KEYDEF *keydef, const unsigned char *key)
867
867
{
868
868
  const unsigned char *start_key= key;
869
869
  HA_KEYSEG *seg, *endseg;
870
 
  
 
870
 
871
871
  for (seg= keydef->seg, endseg= seg + keydef->keysegs; seg < endseg; seg++)
872
872
  {
873
873
    uint32_t length= seg->length;