~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to plugin/innobase/data/data0data.c

  • Committer: Stewart Smith
  • Author(s): MySQL Build Team, Stewart Smith
  • Date: 2010-11-18 00:21:48 UTC
  • mto: (2021.1.2 build)
  • mto: This revision was merged to the branch mainline in revision 1971.
  • Revision ID: stewart@flamingspork.com-20101118002148-yd9khpanxoykeegj
Merge Revision revid:build@mysql.com-20100622195935-i5cctxhtgganeuxr from MySQL InnoDB

Original revid:build@mysql.com-20100622195935-i5cctxhtgganeuxr

Original Authors: MySQL Build Team<build@mysql.com>
Original commit message:
Backport into build-201006221614-5.1.46sp1

> ------------------------------------------------------------
> revno: 3351.14.47
> revision-id: marko.makela@oracle.com-20100421095033-0acvzxb8um8cms0a
> parent: marko.makela@oracle.com-20100421094032-ir4glqk46qvg2ywn
> committer: Marko Mkel <marko.makela@oracle.com>
> branch nick: 5.1-innodb
> timestamp: Wed 2010-04-21 12:50:33 +0300
> message:
>   dtuple_convert_big_rec(): Store locally any fields whose maximum length
>   is less than 256 bytes. (Bug #52745)
>   Add related comments and debug assertions to the "offsets"
>   functions in rem0rec.c.
>   Approved by Sunny Bains

Show diffs side-by-side

added added

removed removed

Lines of Context:
688
688
                                goto skip_field;
689
689
                        }
690
690
 
 
691
                        /* In DYNAMIC and COMPRESSED format, store
 
692
                        locally any non-BLOB columns whose maximum
 
693
                        length does not exceed 256 bytes.  This is
 
694
                        because there is no room for the "external
 
695
                        storage" flag when the maximum length is 255
 
696
                        bytes or less. This restriction trivially
 
697
                        holds in REDUNDANT and COMPACT format, because
 
698
                        there we always store locally columns whose
 
699
                        length is up to local_len == 788 bytes.
 
700
                        @see rec_init_offsets_comp_ordinary */
 
701
                        if (ifield->col->mtype != DATA_BLOB
 
702
                            && ifield->col->len < 256) {
 
703
                                goto skip_field;
 
704
                        }
 
705
 
691
706
                        longest_i = i;
692
707
                        longest = savings;
693
708