[Commits] Rev 2832: Fix for LP BUG#606013: Adding bit field support for heap tables. in file:///home/bell/maria/bzr/work-maria-5.3-lp606013/

Michael Widenius monty at askmonty.org
Mon Nov 22 18:26:00 EET 2010


Hi!

Here is a review of this


<cut>

> --- a/storage/heap/hp_create.c	2010-08-05 19:56:11 +0000
> +++ b/storage/heap/hp_create.c	2010-11-16 21:03:26 +0000
> @@ -104,6 +104,13 @@ int heap_create(const char *name, uint k
>            */
>            keyinfo->seg[j].type= HA_KEYTYPE_VARTEXT1;
>            break;
> +        case HA_KEYTYPE_BIT:
> +          /*
> +            The odd bits which stored separately (if they are present
> +            (bit_pos, bit_length)) are already present in seg[j].length as
> +            additional byte.

Add:  See field.h, function key_length()

<cut>

> @@ -720,7 +765,8 @@ uint hp_rb_make_key(HP_KEYDEF *keydef, u
>      {
>        uint length= seg->length;
>        uchar *pos= (uchar*) rec + seg->start;
> -      
> +      DBUG_ASSERT(seg->type != HA_KEYTYPE_BIT);

Add a check in the test suite that one can't create a rb key with bit
fields.

Add also a MRT for this. (you can probable reuse something from
type_bit.test and archive_bitfield.test for this)

Regards,
Monty


More information about the commits mailing list