diff options
author | unknown <ingo@mysql.com> | 2005-06-24 19:34:55 +0200 |
---|---|---|
committer | unknown <ingo@mysql.com> | 2005-06-24 19:34:55 +0200 |
commit | 12a640e28023d9d1333fcecb387e7e3915762b2b (patch) | |
tree | 06751ebaff6c1ac08ddbb34769995d84ac9ea2ed /myisam/mi_packrec.c | |
parent | b80eb2b5a83ad7e1ad8fbca7cb94030b3297a3e0 (diff) | |
download | mariadb-git-12a640e28023d9d1333fcecb387e7e3915762b2b.tar.gz |
Bug#8321 - myisampack bug in compression algorithm
Added 64-bit extensions, comments, extended statistics
and trace prints.
include/my_base.h:
Bug#8321 - myisampack bug in compression algorithm
Added a comment.
myisam/mi_packrec.c:
Bug#8321 - myisampack bug in compression algorithm
Fixed a function comment.
myisam/myisampack.c:
Bug#8321 - myisampack bug in compression algorithm
Enlarged the variables which hold Huffman codes to
ulonglong and adjusted the functions accordingly.
Added test code for long Huffman codes.
Enlarged the distinct column values buffer (tree_buff)
and added checks to stay in its range.
Added statistics and trace prints.
Added a lot of comments.
mysys/tree.c:
Bug#8321 - myisampack bug in compression algorithm
Added a check against overflow of the tree element count.
The tree element count is only 31 bits, but sometimes
used for big numbers. There is however no application yet,
which relies on exact tree element counts.
Diffstat (limited to 'myisam/mi_packrec.c')
-rw-r--r-- | myisam/mi_packrec.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/myisam/mi_packrec.c b/myisam/mi_packrec.c index 4b512dd89dd..c251e4dda4a 100644 --- a/myisam/mi_packrec.c +++ b/myisam/mi_packrec.c @@ -416,8 +416,19 @@ static uint find_longest_bitstream(uint16 *table, uint16 *end) } - /* Read record from datafile */ - /* Returns length of packed record, -1 if error */ +/* + Read record from datafile. + + SYNOPSIS + _mi_read_pack_record() + info A pointer to MI_INFO. + filepos File offset of the record. + buf RETURN The buffer to receive the record. + + RETURN + 0 on success + HA_ERR_WRONG_IN_RECORD or -1 on error +*/ int _mi_read_pack_record(MI_INFO *info, my_off_t filepos, byte *buf) { |