diff options
author | unknown <guilhem@gbichot3.local> | 2007-03-01 18:23:58 +0100 |
---|---|---|
committer | unknown <guilhem@gbichot3.local> | 2007-03-01 18:23:58 +0100 |
commit | 3411bfe05a2a77c6c5b9911237792eb436f16543 (patch) | |
tree | 400242e73e0c9b50c2036048184c136608b29219 /storage/maria/maria_pack.c | |
parent | ea57b3d4a066a5507a7e322b53e3acab24a2855e (diff) | |
download | mariadb-git-3411bfe05a2a77c6c5b9911237792eb436f16543.tar.gz |
merge from MyISAM into Maria (last step of merge of 5.1 into Maria).
Tests: "maria" and "ps_maria" fail like before merge (assertions),
"ma_test_all" fails like before merge (ma_test2 segfaults, I'll try
to find out why).
mysys/mf_pagecache.c:
using a more distinctive tag
storage/maria/ha_maria.cc:
merge from MyISAM into Maria
storage/maria/ma_check.c:
merge from MyISAM into Maria
storage/maria/ma_close.c:
TODO as a word
storage/maria/ma_create.c:
merge from MyISAM into Maria
storage/maria/ma_delete_all.c:
TODO as a word
storage/maria/ma_delete_table.c:
TODO as a word
storage/maria/ma_dynrec.c:
merge from MyISAM into Maria
storage/maria/ma_extra.c:
merge from MyISAM into Maria
storage/maria/ma_ft_boolean_search.c:
merge from MyISAM into Maria
storage/maria/ma_locking.c:
merge from MyISAM into Maria
storage/maria/ma_loghandler.c:
fix for compiler warning
storage/maria/ma_open.c:
merge from MyISAM into Maria.
I will ask Monty to check the ASKMONTY-marked piece of code.
storage/maria/ma_packrec.c:
merge from MyISAM into Maria
storage/maria/ma_range.c:
merge from MyISAM into Maria
storage/maria/ma_rename.c:
TODO as a word
storage/maria/ma_rt_index.c:
merge from MyISAM into Maria
storage/maria/ma_rt_split.c:
merge from MyISAM into Maria
storage/maria/ma_search.c:
merge from MyISAM into Maria
storage/maria/ma_sort.c:
merge from MyISAM into Maria
storage/maria/ma_update.c:
merge from MyISAM into Maria
storage/maria/ma_write.c:
merge from MyISAM into Maria
storage/maria/maria_chk.c:
merge from MyISAM into Maria
storage/maria/maria_def.h:
merge from MyISAM into Maria
storage/maria/maria_pack.c:
merge from MyISAM into Maria
storage/maria/unittest/ma_test_loghandler_pagecache-t.c:
fix for compiler warning
storage/myisam/ha_myisam.cc:
merge from MyISAM into Maria
storage/myisammrg/ha_myisammrg.cc:
merge from MyISAM into Maria
Diffstat (limited to 'storage/maria/maria_pack.c')
-rw-r--r-- | storage/maria/maria_pack.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/storage/maria/maria_pack.c b/storage/maria/maria_pack.c index 41c519693d5..a76b1027179 100644 --- a/storage/maria/maria_pack.c +++ b/storage/maria/maria_pack.c @@ -2696,8 +2696,9 @@ static int compress_isam_file(PACK_MRG_INFO *mrg, HUFF_COUNTS *huff_counts) } case FIELD_VARCHAR: { - uint pack_length= HA_VARCHAR_PACKLENGTH(count->field_length-1); - ulong col_length= (pack_length == 1 ? (uint) *(uchar*) start_pos : + uint var_pack_length= HA_VARCHAR_PACKLENGTH(count->field_length-1); + ulong col_length= (var_pack_length == 1 ? + (uint) *(uchar*) start_pos : uint2korr(start_pos)); /* Empty varchar are encoded with a single 1 bit. */ if (!col_length) @@ -2707,7 +2708,7 @@ static int compress_isam_file(PACK_MRG_INFO *mrg, HUFF_COUNTS *huff_counts) } else { - byte *end=start_pos+pack_length+col_length; + byte *end= start_pos + var_pack_length + col_length; DBUG_PRINT("fields", ("FIELD_VARCHAR not empty, bits: 1")); write_bits(0,1); /* Write the varchar length. */ @@ -2715,7 +2716,7 @@ static int compress_isam_file(PACK_MRG_INFO *mrg, HUFF_COUNTS *huff_counts) col_length, count->length_bits)); write_bits(col_length,count->length_bits); /* Encode the varchar bytes. */ - for (start_pos+=pack_length ; start_pos < end ; start_pos++) + for (start_pos+= var_pack_length ; start_pos < end ; start_pos++) { DBUG_PRINT("fields", ("value: 0x%02x code: 0x%s bits: %2u bin: %s", |