~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/field_conv.cc

  • Committer: Brian Aker
  • Date: 2010-12-18 02:06:13 UTC
  • Revision ID: brian@tangent.org-20101218020613-8lxhcvsy812bu960
Formatting + remove default from switch/case.

Show diffs side-by-side

added added

removed removed

Lines of Context:
682
682
          {
683
683
            return do_field_int;  // Convert SET to number
684
684
          }
685
 
          
 
685
 
686
686
          return do_field_string;
687
687
        }
688
688
      }
689
 
      
 
689
 
690
690
      if (to->real_type() == DRIZZLE_TYPE_ENUM)
691
691
      {
692
692
        if (!to->eq_def(from))
703
703
      else if (to->real_type() == DRIZZLE_TYPE_VARCHAR)
704
704
      {
705
705
        /* Field_blob is not part of the Field_varstring hierarchy,
706
 
           and casting to varstring for calling pack_length_no_ptr()
707
 
           is always incorrect. Previously the below comparison has
708
 
           always evaluated to false as pack_length_no_ptr() for BLOB
709
 
           will return 4 and varstring can only be <= 2.
710
 
           If your brain slightly bleeds as to why this worked for
711
 
           so many years, you are in no way alone.
 
706
          and casting to varstring for calling pack_length_no_ptr()
 
707
          is always incorrect. Previously the below comparison has
 
708
          always evaluated to false as pack_length_no_ptr() for BLOB
 
709
          will return 4 and varstring can only be <= 2.
 
710
          If your brain slightly bleeds as to why this worked for
 
711
          so many years, you are in no way alone.
712
712
        */
713
713
        if (from->flags & BLOB_FLAG)
714
714
          return do_field_string;
718
718
        {
719
719
          return do_field_string;
720
720
        }
721
 
        
 
721
 
722
722
        if (to_length != from_length)
723
723
        {
724
724
          return (((Field_varstring*) to)->pack_length_no_ptr() == 1 ?
725
725
                  (from->charset()->mbmaxlen == 1 ? do_varstring1 :
726
 
                                                    do_varstring1_mb) :
 
726
                   do_varstring1_mb) :
727
727
                  (from->charset()->mbmaxlen == 1 ? do_varstring2 :
728
 
                                                    do_varstring2_mb));
 
728
                   do_varstring2_mb));
729
729
        }
730
730
      }
731
731
      else if (to_length < from_length)