Loading isam/open.c +3 −0 Original line number Diff line number Diff line Loading @@ -415,6 +415,9 @@ static void setup_functions(register ISAM_SHARE *share) share->read_rnd=_nisam_read_rnd_dynamic_record; share->delete_record=_nisam_delete_dynamic_record; share->compare_record=_nisam_cmp_dynamic_record; /* add bits used to pack data to pack_reclength for faster allocation */ share->base.pack_reclength+= share->base.pack_bits; if (share->base.blobs) { share->update_record=_nisam_update_blob_record; Loading isam/test_all.res +17 −354 Original line number Diff line number Diff line echo "test2 -L -K -W -P" test2 -L -K -W -P - Creating isam-file - Writing key:s - Delete - Update - Same key: first - next -> last - prev -> first - All keys: first - next -> last - prev -> first - Test if: Read first - next - prev - prev - next == first - Test if: Read last - prev - next - next - prev == last - Test read key-part - Read key (first) - next - delete - next -> last - Read last of key - prev - delete - prev -> first - Test if: Read rrnd - same - Test nisam_records_in_range - nisam_info - nisam_extra(CACHE) + nisam_rrnd.... + nisam_extra(NO_CACHE) - Removing keys Following test have been made: Write records: 907 Update records: 87 Same-key-read: 6 Delete records: 907 Key cacheing used Write cacheing used Locking used echo "test2 -L -K -W -P -A" test2 -L -K -W -P -A - Creating isam-file - Writing key:s - Delete - Update - Same key: first - next -> last - prev -> first - All keys: first - next -> last - prev -> first - Test if: Read first - next - prev - prev - next == first - Test if: Read last - prev - next - next - prev == last - Test read key-part - Read key (first) - next - delete - next -> last - Read last of key - prev - delete - prev -> first - Test if: Read rrnd - same - Test nisam_records_in_range - nisam_info - nisam_extra(CACHE) + nisam_rrnd.... + nisam_extra(NO_CACHE) - Removing keys Following test have been made: Write records: 907 Update records: 87 Same-key-read: 6 Delete records: 907 Key cacheing used Write cacheing used Asyncron io with locking used echo "test2 -L -K -W -P -S -R1 -m500" test2 -L -K -W -P -S -R1 -m500 - Creating isam-file - Writing key:s - Delete - Update - Same key: first - next -> last - prev -> first - All keys: first - next -> last - prev -> first - Test if: Read first - next - prev - prev - next == first - Test if: Read last - prev - next - next - prev == last - Test read key-part - Read key (first) - next - delete - next -> last - Test if: Read rrnd - same - Test nisam_records_in_range - nisam_info - nisam_extra(CACHE) + nisam_rrnd.... + nisam_extra(NO_CACHE) - Removing keys Following test have been made: Write records: 475 Update records: 44 Same-key-read: 4 Delete records: 475 Record pointer size: 1 Key cacheing used Write cacheing used Locking used test2 -L -K -R1 -m2000 ; Should give error 135 - Creating isam-file - Writing key:s - Delete - Update - Same key: first - next -> last - prev -> first - All keys: first - next -> last - prev -> first - Test if: Read first - next - prev - prev - next == first - Test if: Read last - prev - next - next - prev == last - Test read key-part - Read key (first) - next - delete - next -> last - Read last of key - prev - delete - prev -> first - Read first - delete - next -> last - Read last - delete - prev -> first - Test if: Read rrnd - same - Test nisam_records_in_range - nisam_info - nisam_extra(CACHE) + nisam_rrnd.... + nisam_extra(NO_CACHE) - Removing keys Following test have been made: Write records: 1647 Update records: 125 Same-key-read: 8 Delete records: 1647 Record pointer size: 1 Key cacheing used Locking used echo "test2 -L -K -R1 -m2000 ; Should give error 135" test2 -L -K -R1 -m2000 echo "test2 -L -K -P -S -R3 -m50 -b1000000" test2 -L -K -P -S -R3 -m50 -b1000000 - Creating isam-file - Writing key:s - Delete - Update - Same key: first - next -> last - prev -> first - All keys: first - next -> last - prev -> first - Test if: Read first - next - prev - prev - next == first - Test if: Read last - prev - next - next - prev == last - Test read key-part - Test if: Read rrnd - same - Test nisam_records_in_range - nisam_info - nisam_extra(CACHE) + nisam_rrnd.... + nisam_extra(NO_CACHE) - Removing keys Following test have been made: Write records: 50 Update records: 5 Same-key-read: 2 Delete records: 50 Record pointer size: 3 Key cacheing used Locking used echo "test2 -L -B" test2 -L -B - Creating isam-file - Writing key:s - Delete - Update - Same key: first - next -> last - prev -> first - All keys: first - next -> last - prev -> first - Test if: Read first - next - prev - prev - next == first - Test if: Read last - prev - next - next - prev == last - Test read key-part - Read key (first) - next - delete - next -> last - Read last of key - prev - delete - prev -> first - Test if: Read rrnd - same - Test nisam_records_in_range - nisam_info - nisam_extra(CACHE) + nisam_rrnd.... + nisam_extra(NO_CACHE) - Removing keys Following test have been made: Write records: 903 Update records: 86 Same-key-read: 5 Delete records: 903 Locking used blobs used echo "test2 -L -K -W -P -m50 -l" test2 -L -K -W -P -m50 -l - Creating isam-file - Writing key:s - Delete - Update - Same key: first - next -> last - prev -> first - All keys: first - next -> last - prev -> first - Test if: Read first - next - prev - prev - next == first - Test if: Read last - prev - next - next - prev == last - Test read key-part - Test if: Read rrnd - same - Test nisam_records_in_range - nisam_info - nisam_extra(CACHE) + nisam_rrnd.... + nisam_extra(NO_CACHE) - Removing keys Following test have been made: Write records: 50 Update records: 5 Same-key-read: 2 Delete records: 50 Key cacheing used Write cacheing used Locking used Commands Used count Errors Recover errors open 14 0 0 write 700 0 0 update 70 0 0 delete 700 0 0 close 14 0 0 extra 84 0 0 Total 1582 0 0 isamlog echo "test2 -L -K -W -P -m50 -l -b100" test2 -L -K -W -P -m50 -l -b100 - Creating isam-file - Writing key:s - Delete - Update - Same key: first - next -> last - prev -> first - All keys: first - next -> last - prev -> first - Test if: Read first - next - prev - prev - next == first - Test if: Read last - prev - next - next - prev == last - Test read key-part - Test if: Read rrnd - same - Test nisam_records_in_range - nisam_info - nisam_extra(CACHE) + nisam_rrnd.... + nisam_extra(NO_CACHE) - Removing keys Following test have been made: Write records: 50 Update records: 5 Same-key-read: 2 Delete records: 50 Key cacheing used Write cacheing used Locking used Commands Used count Errors Recover errors open 15 0 0 write 750 0 0 update 75 0 0 delete 750 0 0 close 15 0 0 extra 90 0 0 Total 1695 0 0 isamlog echo "time test2" time test2 - Creating isam-file - Writing key:s - Delete - Update - Same key: first - next -> last - prev -> first - All keys: first - next -> last - prev -> first - Test if: Read first - next - prev - prev - next == first - Test if: Read last - prev - next - next - prev == last - Test read key-part - Read key (first) - next - delete - next -> last - Read last of key - prev - delete - prev -> first - Test if: Read rrnd - same - Test nisam_records_in_range - nisam_info - nisam_extra(CACHE) + nisam_rrnd.... + nisam_extra(NO_CACHE) - Removing keys Following test have been made: Write records: 907 Update records: 87 Same-key-read: 6 Delete records: 907 echo "time test2 -K" time test2 -K - Creating isam-file - Writing key:s - Delete - Update - Same key: first - next -> last - prev -> first - All keys: first - next -> last - prev -> first - Test if: Read first - next - prev - prev - next == first - Test if: Read last - prev - next - next - prev == last - Test read key-part - Read key (first) - next - delete - next -> last - Read last of key - prev - delete - prev -> first - Test if: Read rrnd - same - Test nisam_records_in_range - nisam_info - nisam_extra(CACHE) + nisam_rrnd.... + nisam_extra(NO_CACHE) - Removing keys Following test have been made: Write records: 907 Update records: 87 Same-key-read: 6 Delete records: 907 Key cacheing used echo "time test2 -L" time test2 -L - Creating isam-file - Writing key:s - Delete - Update - Same key: first - next -> last - prev -> first - All keys: first - next -> last - prev -> first - Test if: Read first - next - prev - prev - next == first - Test if: Read last - prev - next - next - prev == last - Test read key-part - Read key (first) - next - delete - next -> last - Read last of key - prev - delete - prev -> first - Test if: Read rrnd - same - Test nisam_records_in_range - nisam_info - nisam_extra(CACHE) + nisam_rrnd.... + nisam_extra(NO_CACHE) - Removing keys Following test have been made: Write records: 907 Update records: 87 Same-key-read: 6 Delete records: 907 Locking used echo "time test2 -L -K" time test2 -L -K - Creating isam-file - Writing key:s - Delete - Update - Same key: first - next -> last - prev -> first - All keys: first - next -> last - prev -> first - Test if: Read first - next - prev - prev - next == first - Test if: Read last - prev - next - next - prev == last - Test read key-part - Read key (first) - next - delete - next -> last - Read last of key - prev - delete - prev -> first - Test if: Read rrnd - same - Test nisam_records_in_range - nisam_info - nisam_extra(CACHE) + nisam_rrnd.... + nisam_extra(NO_CACHE) - Removing keys Following test have been made: Write records: 907 Update records: 87 Same-key-read: 6 Delete records: 907 Key cacheing used Locking used echo "time test2 -L -K -W" time test2 -L -K -W - Creating isam-file - Writing key:s - Delete - Update - Same key: first - next -> last - prev -> first - All keys: first - next -> last - prev -> first - Test if: Read first - next - prev - prev - next == first - Test if: Read last - prev - next - next - prev == last - Test read key-part - Read key (first) - next - delete - next -> last - Read last of key - prev - delete - prev -> first - Test if: Read rrnd - same - Test nisam_records_in_range - nisam_info - nisam_extra(CACHE) + nisam_rrnd.... + nisam_extra(NO_CACHE) - Removing keys Following test have been made: Write records: 907 Update records: 87 Same-key-read: 6 Delete records: 907 Key cacheing used Write cacheing used Locking used echo "time test2 -L -K -W -S" time test2 -L -K -W -S - Creating isam-file - Writing key:s - Delete - Update - Same key: first - next -> last - prev -> first - All keys: first - next -> last - prev -> first - Test if: Read first - next - prev - prev - next == first - Test if: Read last - prev - next - next - prev == last - Test read key-part - Read key (first) - next - delete - next -> last - Read last of key - prev - delete - prev -> first - Test if: Read rrnd - same - Test nisam_records_in_range - nisam_info - nisam_extra(CACHE) + nisam_rrnd.... + nisam_extra(NO_CACHE) - Removing keys Following test have been made: Write records: 907 Update records: 87 Same-key-read: 6 Delete records: 907 Key cacheing used Write cacheing used Locking used myisam/mi_dynrec.c +1 −1 Original line number Diff line number Diff line Loading @@ -62,7 +62,7 @@ int _mi_write_blob_record(MI_INFO *info, const byte *record) extra=ALIGN_SIZE(MI_MAX_DYN_BLOCK_HEADER)+MI_SPLIT_LENGTH+ MI_DYN_DELETE_BLOCK_HEADER+1; reclength= (info->s->base.pack_reclength+ info->s->base.pack_bits+ reclength= (info->s->base.pack_reclength+ _my_calc_total_blob_length(info,record)+ extra); if (reclength > MI_DYN_MAX_ROW_LENGTH) { Loading myisam/mi_open.c +2 −0 Original line number Diff line number Diff line Loading @@ -602,6 +602,8 @@ void mi_setup_functions(register MYISAM_SHARE *share) share->compare_unique=_mi_cmp_dynamic_unique; share->calc_checksum= mi_checksum; /* add bits used to pack data to pack_reclength for faster allocation */ share->base.pack_reclength+= share->base.pack_bits; if (share->base.blobs) { share->update_record=_mi_update_blob_record; Loading mysql-test/r/isam.result +2 −0 Original line number Diff line number Diff line Loading @@ -8,3 +8,5 @@ Table Op Msg_type Msg_text test.t1 repair status OK Table Op Msg_type Msg_text test.t1 check status OK Table Op Msg_type Msg_text test.t1 check status OK Loading
isam/open.c +3 −0 Original line number Diff line number Diff line Loading @@ -415,6 +415,9 @@ static void setup_functions(register ISAM_SHARE *share) share->read_rnd=_nisam_read_rnd_dynamic_record; share->delete_record=_nisam_delete_dynamic_record; share->compare_record=_nisam_cmp_dynamic_record; /* add bits used to pack data to pack_reclength for faster allocation */ share->base.pack_reclength+= share->base.pack_bits; if (share->base.blobs) { share->update_record=_nisam_update_blob_record; Loading
isam/test_all.res +17 −354 Original line number Diff line number Diff line echo "test2 -L -K -W -P" test2 -L -K -W -P - Creating isam-file - Writing key:s - Delete - Update - Same key: first - next -> last - prev -> first - All keys: first - next -> last - prev -> first - Test if: Read first - next - prev - prev - next == first - Test if: Read last - prev - next - next - prev == last - Test read key-part - Read key (first) - next - delete - next -> last - Read last of key - prev - delete - prev -> first - Test if: Read rrnd - same - Test nisam_records_in_range - nisam_info - nisam_extra(CACHE) + nisam_rrnd.... + nisam_extra(NO_CACHE) - Removing keys Following test have been made: Write records: 907 Update records: 87 Same-key-read: 6 Delete records: 907 Key cacheing used Write cacheing used Locking used echo "test2 -L -K -W -P -A" test2 -L -K -W -P -A - Creating isam-file - Writing key:s - Delete - Update - Same key: first - next -> last - prev -> first - All keys: first - next -> last - prev -> first - Test if: Read first - next - prev - prev - next == first - Test if: Read last - prev - next - next - prev == last - Test read key-part - Read key (first) - next - delete - next -> last - Read last of key - prev - delete - prev -> first - Test if: Read rrnd - same - Test nisam_records_in_range - nisam_info - nisam_extra(CACHE) + nisam_rrnd.... + nisam_extra(NO_CACHE) - Removing keys Following test have been made: Write records: 907 Update records: 87 Same-key-read: 6 Delete records: 907 Key cacheing used Write cacheing used Asyncron io with locking used echo "test2 -L -K -W -P -S -R1 -m500" test2 -L -K -W -P -S -R1 -m500 - Creating isam-file - Writing key:s - Delete - Update - Same key: first - next -> last - prev -> first - All keys: first - next -> last - prev -> first - Test if: Read first - next - prev - prev - next == first - Test if: Read last - prev - next - next - prev == last - Test read key-part - Read key (first) - next - delete - next -> last - Test if: Read rrnd - same - Test nisam_records_in_range - nisam_info - nisam_extra(CACHE) + nisam_rrnd.... + nisam_extra(NO_CACHE) - Removing keys Following test have been made: Write records: 475 Update records: 44 Same-key-read: 4 Delete records: 475 Record pointer size: 1 Key cacheing used Write cacheing used Locking used test2 -L -K -R1 -m2000 ; Should give error 135 - Creating isam-file - Writing key:s - Delete - Update - Same key: first - next -> last - prev -> first - All keys: first - next -> last - prev -> first - Test if: Read first - next - prev - prev - next == first - Test if: Read last - prev - next - next - prev == last - Test read key-part - Read key (first) - next - delete - next -> last - Read last of key - prev - delete - prev -> first - Read first - delete - next -> last - Read last - delete - prev -> first - Test if: Read rrnd - same - Test nisam_records_in_range - nisam_info - nisam_extra(CACHE) + nisam_rrnd.... + nisam_extra(NO_CACHE) - Removing keys Following test have been made: Write records: 1647 Update records: 125 Same-key-read: 8 Delete records: 1647 Record pointer size: 1 Key cacheing used Locking used echo "test2 -L -K -R1 -m2000 ; Should give error 135" test2 -L -K -R1 -m2000 echo "test2 -L -K -P -S -R3 -m50 -b1000000" test2 -L -K -P -S -R3 -m50 -b1000000 - Creating isam-file - Writing key:s - Delete - Update - Same key: first - next -> last - prev -> first - All keys: first - next -> last - prev -> first - Test if: Read first - next - prev - prev - next == first - Test if: Read last - prev - next - next - prev == last - Test read key-part - Test if: Read rrnd - same - Test nisam_records_in_range - nisam_info - nisam_extra(CACHE) + nisam_rrnd.... + nisam_extra(NO_CACHE) - Removing keys Following test have been made: Write records: 50 Update records: 5 Same-key-read: 2 Delete records: 50 Record pointer size: 3 Key cacheing used Locking used echo "test2 -L -B" test2 -L -B - Creating isam-file - Writing key:s - Delete - Update - Same key: first - next -> last - prev -> first - All keys: first - next -> last - prev -> first - Test if: Read first - next - prev - prev - next == first - Test if: Read last - prev - next - next - prev == last - Test read key-part - Read key (first) - next - delete - next -> last - Read last of key - prev - delete - prev -> first - Test if: Read rrnd - same - Test nisam_records_in_range - nisam_info - nisam_extra(CACHE) + nisam_rrnd.... + nisam_extra(NO_CACHE) - Removing keys Following test have been made: Write records: 903 Update records: 86 Same-key-read: 5 Delete records: 903 Locking used blobs used echo "test2 -L -K -W -P -m50 -l" test2 -L -K -W -P -m50 -l - Creating isam-file - Writing key:s - Delete - Update - Same key: first - next -> last - prev -> first - All keys: first - next -> last - prev -> first - Test if: Read first - next - prev - prev - next == first - Test if: Read last - prev - next - next - prev == last - Test read key-part - Test if: Read rrnd - same - Test nisam_records_in_range - nisam_info - nisam_extra(CACHE) + nisam_rrnd.... + nisam_extra(NO_CACHE) - Removing keys Following test have been made: Write records: 50 Update records: 5 Same-key-read: 2 Delete records: 50 Key cacheing used Write cacheing used Locking used Commands Used count Errors Recover errors open 14 0 0 write 700 0 0 update 70 0 0 delete 700 0 0 close 14 0 0 extra 84 0 0 Total 1582 0 0 isamlog echo "test2 -L -K -W -P -m50 -l -b100" test2 -L -K -W -P -m50 -l -b100 - Creating isam-file - Writing key:s - Delete - Update - Same key: first - next -> last - prev -> first - All keys: first - next -> last - prev -> first - Test if: Read first - next - prev - prev - next == first - Test if: Read last - prev - next - next - prev == last - Test read key-part - Test if: Read rrnd - same - Test nisam_records_in_range - nisam_info - nisam_extra(CACHE) + nisam_rrnd.... + nisam_extra(NO_CACHE) - Removing keys Following test have been made: Write records: 50 Update records: 5 Same-key-read: 2 Delete records: 50 Key cacheing used Write cacheing used Locking used Commands Used count Errors Recover errors open 15 0 0 write 750 0 0 update 75 0 0 delete 750 0 0 close 15 0 0 extra 90 0 0 Total 1695 0 0 isamlog echo "time test2" time test2 - Creating isam-file - Writing key:s - Delete - Update - Same key: first - next -> last - prev -> first - All keys: first - next -> last - prev -> first - Test if: Read first - next - prev - prev - next == first - Test if: Read last - prev - next - next - prev == last - Test read key-part - Read key (first) - next - delete - next -> last - Read last of key - prev - delete - prev -> first - Test if: Read rrnd - same - Test nisam_records_in_range - nisam_info - nisam_extra(CACHE) + nisam_rrnd.... + nisam_extra(NO_CACHE) - Removing keys Following test have been made: Write records: 907 Update records: 87 Same-key-read: 6 Delete records: 907 echo "time test2 -K" time test2 -K - Creating isam-file - Writing key:s - Delete - Update - Same key: first - next -> last - prev -> first - All keys: first - next -> last - prev -> first - Test if: Read first - next - prev - prev - next == first - Test if: Read last - prev - next - next - prev == last - Test read key-part - Read key (first) - next - delete - next -> last - Read last of key - prev - delete - prev -> first - Test if: Read rrnd - same - Test nisam_records_in_range - nisam_info - nisam_extra(CACHE) + nisam_rrnd.... + nisam_extra(NO_CACHE) - Removing keys Following test have been made: Write records: 907 Update records: 87 Same-key-read: 6 Delete records: 907 Key cacheing used echo "time test2 -L" time test2 -L - Creating isam-file - Writing key:s - Delete - Update - Same key: first - next -> last - prev -> first - All keys: first - next -> last - prev -> first - Test if: Read first - next - prev - prev - next == first - Test if: Read last - prev - next - next - prev == last - Test read key-part - Read key (first) - next - delete - next -> last - Read last of key - prev - delete - prev -> first - Test if: Read rrnd - same - Test nisam_records_in_range - nisam_info - nisam_extra(CACHE) + nisam_rrnd.... + nisam_extra(NO_CACHE) - Removing keys Following test have been made: Write records: 907 Update records: 87 Same-key-read: 6 Delete records: 907 Locking used echo "time test2 -L -K" time test2 -L -K - Creating isam-file - Writing key:s - Delete - Update - Same key: first - next -> last - prev -> first - All keys: first - next -> last - prev -> first - Test if: Read first - next - prev - prev - next == first - Test if: Read last - prev - next - next - prev == last - Test read key-part - Read key (first) - next - delete - next -> last - Read last of key - prev - delete - prev -> first - Test if: Read rrnd - same - Test nisam_records_in_range - nisam_info - nisam_extra(CACHE) + nisam_rrnd.... + nisam_extra(NO_CACHE) - Removing keys Following test have been made: Write records: 907 Update records: 87 Same-key-read: 6 Delete records: 907 Key cacheing used Locking used echo "time test2 -L -K -W" time test2 -L -K -W - Creating isam-file - Writing key:s - Delete - Update - Same key: first - next -> last - prev -> first - All keys: first - next -> last - prev -> first - Test if: Read first - next - prev - prev - next == first - Test if: Read last - prev - next - next - prev == last - Test read key-part - Read key (first) - next - delete - next -> last - Read last of key - prev - delete - prev -> first - Test if: Read rrnd - same - Test nisam_records_in_range - nisam_info - nisam_extra(CACHE) + nisam_rrnd.... + nisam_extra(NO_CACHE) - Removing keys Following test have been made: Write records: 907 Update records: 87 Same-key-read: 6 Delete records: 907 Key cacheing used Write cacheing used Locking used echo "time test2 -L -K -W -S" time test2 -L -K -W -S - Creating isam-file - Writing key:s - Delete - Update - Same key: first - next -> last - prev -> first - All keys: first - next -> last - prev -> first - Test if: Read first - next - prev - prev - next == first - Test if: Read last - prev - next - next - prev == last - Test read key-part - Read key (first) - next - delete - next -> last - Read last of key - prev - delete - prev -> first - Test if: Read rrnd - same - Test nisam_records_in_range - nisam_info - nisam_extra(CACHE) + nisam_rrnd.... + nisam_extra(NO_CACHE) - Removing keys Following test have been made: Write records: 907 Update records: 87 Same-key-read: 6 Delete records: 907 Key cacheing used Write cacheing used Locking used
myisam/mi_dynrec.c +1 −1 Original line number Diff line number Diff line Loading @@ -62,7 +62,7 @@ int _mi_write_blob_record(MI_INFO *info, const byte *record) extra=ALIGN_SIZE(MI_MAX_DYN_BLOCK_HEADER)+MI_SPLIT_LENGTH+ MI_DYN_DELETE_BLOCK_HEADER+1; reclength= (info->s->base.pack_reclength+ info->s->base.pack_bits+ reclength= (info->s->base.pack_reclength+ _my_calc_total_blob_length(info,record)+ extra); if (reclength > MI_DYN_MAX_ROW_LENGTH) { Loading
myisam/mi_open.c +2 −0 Original line number Diff line number Diff line Loading @@ -602,6 +602,8 @@ void mi_setup_functions(register MYISAM_SHARE *share) share->compare_unique=_mi_cmp_dynamic_unique; share->calc_checksum= mi_checksum; /* add bits used to pack data to pack_reclength for faster allocation */ share->base.pack_reclength+= share->base.pack_bits; if (share->base.blobs) { share->update_record=_mi_update_blob_record; Loading
mysql-test/r/isam.result +2 −0 Original line number Diff line number Diff line Loading @@ -8,3 +8,5 @@ Table Op Msg_type Msg_text test.t1 repair status OK Table Op Msg_type Msg_text test.t1 check status OK Table Op Msg_type Msg_text test.t1 check status OK