diff options
author | unknown <guilhem@gbichot4.local> | 2007-07-27 12:06:39 +0200 |
---|---|---|
committer | unknown <guilhem@gbichot4.local> | 2007-07-27 12:06:39 +0200 |
commit | a3d2ae4648d739a7ec7820e22c05373fde65b770 (patch) | |
tree | 1c7c807fa27f54c3bc16968151fcc79e1f8b4667 /storage/maria/ma_dynrec.c | |
parent | 662002fc8f6301ec78d2eca14c5f991212d4f67f (diff) | |
download | mariadb-git-a3d2ae4648d739a7ec7820e22c05373fde65b770.tar.gz |
merging MyISAM changes into Maria (not done in 5.1->maria merge of
Jul 7th). "maria.test" and "ps_maria.test" still fail;
"ma_test_all" starts failing (MyISAM has the same issue see BUG#30094).
include/maria.h:
merging MyISAM changes into Maria
mysys/mf_keycache.c:
mi_test_all showed "floating point exception", this was already
fixed in the latest 5.1, importing fix.
sql/item_xmlfunc.cc:
compiler warning (already fixed in latest 5.1)
storage/maria/ha_maria.cc:
merging MyISAM changes into Maria. See #ifdef ASK_MONTY.
storage/maria/ha_maria.h:
merging MyISAM changes into Maria
storage/maria/ma_cache.c:
merging MyISAM changes into Maria
storage/maria/ma_check.c:
merging MyISAM changes into Maria
storage/maria/ma_create.c:
merging MyISAM changes into Maria
storage/maria/ma_dynrec.c:
merging MyISAM changes into Maria
storage/maria/ma_extra.c:
merging MyISAM changes into Maria
storage/maria/ma_ft_boolean_search.c:
merging MyISAM changes into Maria
storage/maria/ma_ft_nlq_search.c:
merging MyISAM changes into Maria
storage/maria/ma_info.c:
merging MyISAM changes into Maria
storage/maria/ma_key.c:
merging MyISAM changes into Maria
storage/maria/ma_loghandler.c:
compiler warning (part->length is size_t)
storage/maria/ma_open.c:
merging MyISAM changes into Maria
storage/maria/ma_preload.c:
merging MyISAM changes into Maria
storage/maria/ma_range.c:
merging MyISAM changes into Maria
storage/maria/ma_rkey.c:
merging MyISAM changes into Maria
storage/maria/ma_rt_index.c:
merging MyISAM changes into Maria
storage/maria/ma_rt_key.c:
merging MyISAM changes into Maria
storage/maria/ma_rt_split.c:
merging MyISAM changes into Maria
storage/maria/ma_search.c:
merging MyISAM changes into Maria
storage/maria/ma_sort.c:
merging MyISAM changes into Maria
storage/maria/maria_def.h:
merging MyISAM changes into Maria
Diffstat (limited to 'storage/maria/ma_dynrec.c')
-rw-r--r-- | storage/maria/ma_dynrec.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/storage/maria/ma_dynrec.c b/storage/maria/ma_dynrec.c index 28b970ef589..246f9787b09 100644 --- a/storage/maria/ma_dynrec.c +++ b/storage/maria/ma_dynrec.c @@ -887,7 +887,7 @@ uint _ma_rec_pack(MARIA_HA *info, register uchar *to, register const uchar *from) { uint length,new_length,flag,bit,i; - char *pos,*end,*startpos,*packpos; + uchar *pos,*end,*startpos,*packpos; enum en_fieldtype type; reg3 MARIA_COLUMNDEF *column; MARIA_BLOB *blob; @@ -941,7 +941,7 @@ uint _ma_rec_pack(MARIA_HA *info, register uchar *to, pos= (uchar*) from; end= (uchar*) from + length; if (type == FIELD_SKIP_ENDSPACE) { /* Pack trailing spaces */ - while (end > (char*) from && *(end-1) == ' ') + while (end > from && *(end-1) == ' ') end--; } else @@ -1007,8 +1007,8 @@ uint _ma_rec_pack(MARIA_HA *info, register uchar *to, *packpos= (char) (uchar) flag; if (info->s->calc_checksum) *to++= (uchar) info->cur_row.checksum; - DBUG_PRINT("exit",("packed length: %d",(int) ((char*)to-startpos))); - DBUG_RETURN((uint) ((char*)to-startpos)); + DBUG_PRINT("exit",("packed length: %d",(int) (to-startpos))); + DBUG_RETURN((uint) (to-startpos)); } /* _ma_rec_pack */ @@ -1018,12 +1018,12 @@ uint _ma_rec_pack(MARIA_HA *info, register uchar *to, Returns 0 if record is ok. */ -my_bool _ma_rec_check(MARIA_HA *info,const char *record, uchar *rec_buff, +my_bool _ma_rec_check(MARIA_HA *info,const uchar *record, uchar *rec_buff, ulong packed_length, my_bool with_checksum, ha_checksum checksum) { uint length,new_length,flag,bit,i; - char *pos,*end,*packpos,*to; + uchar *pos,*end,*packpos,*to; enum en_fieldtype type; reg3 MARIA_COLUMNDEF *column; DBUG_ENTER("_ma_rec_check"); @@ -1123,7 +1123,7 @@ my_bool _ma_rec_check(MARIA_HA *info,const char *record, uchar *rec_buff, else to+= length; } - if (packed_length != (uint) (to - (char*) rec_buff) + + if (packed_length != (uint) (to - rec_buff) + test(info->s->calc_checksum) || (bit != 1 && (flag & ~(bit - 1)))) goto err; if (with_checksum && ((uchar) checksum != (uchar) *to)) |