~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to plugin/innobase/handler/ha_innodb.cc

  • Committer: lbieber
  • Date: 2010-09-23 15:49:15 UTC
  • mfrom: (1788.1.3 build)
  • Revision ID: lbieber@orisndriz08-20100923154915-mshh9pwln0igdwrn
Merge Brian - Rollup patch of enum + style on varchar. This modifies enum to always being the same value.
Merge Stewart - Fix embedded_innodb plugin now that TIMESTAMP is 8 bytes. 
Merge Shrews - fix bug 643630 -  Transaction_reader not handling CHAR values that include quotes properly

Show diffs side-by-side

added added

removed removed

Lines of Context:
3504
3504
      cs = field->charset();
3505
3505
 
3506
3506
      lenlen = (ulint)
3507
 
        (((Field_varstring*)field)->length_bytes);
 
3507
        (((Field_varstring*)field)->pack_length_no_ptr());
3508
3508
 
3509
3509
      data = row_mysql_read_true_varchar(&len,
3510
3510
        (byte*) (record
3844
3844
 
3845
3845
    if (templ->mysql_type == DATA_MYSQL_TRUE_VARCHAR) {
3846
3846
      templ->mysql_length_bytes = (ulint)
3847
 
        (((Field_varstring*)field)->length_bytes);
 
3847
        (((Field_varstring*)field)->pack_length_no_ptr());
3848
3848
    }
3849
3849
 
3850
3850
    templ->charset = dtype_get_charset_coll(
4278
4278
        o_ptr = row_mysql_read_true_varchar(
4279
4279
          &o_len, o_ptr,
4280
4280
          (ulint)
4281
 
          (((Field_varstring*)field)->length_bytes));
 
4281
          (((Field_varstring*)field)->pack_length_no_ptr()));
4282
4282
 
4283
4283
        n_ptr = row_mysql_read_true_varchar(
4284
4284
          &n_len, n_ptr,
4285
4285
          (ulint)
4286
 
          (((Field_varstring*)field)->length_bytes));
 
4286
          (((Field_varstring*)field)->pack_length_no_ptr()));
4287
4287
      }
4288
4288
 
4289
4289
      break;
5382
5382
    long_true_varchar = 0;
5383
5383
 
5384
5384
    if (field->type() == DRIZZLE_TYPE_VARCHAR) {
5385
 
      col_len -= ((Field_varstring*)field)->length_bytes;
 
5385
      col_len -= ((Field_varstring*)field)->pack_length_no_ptr();
5386
5386
 
5387
 
      if (((Field_varstring*)field)->length_bytes == 2) {
 
5387
      if (((Field_varstring*)field)->pack_length_no_ptr() == 2) {
5388
5388
        long_true_varchar = DATA_LONG_TRUE_VARCHAR;
5389
5389
      }
5390
5390
    }
5490
5490
        && field->type() != DRIZZLE_TYPE_VARCHAR)
5491
5491
      || (field->type() == DRIZZLE_TYPE_VARCHAR
5492
5492
        && key_part->length < field->pack_length()
5493
 
        - ((Field_varstring*)field)->length_bytes)) {
 
5493
        - ((Field_varstring*)field)->pack_length_no_ptr())) {
5494
5494
 
5495
5495
      prefix_len = key_part->length;
5496
5496