groonga/groonga — pull request #181 by kou (2014-07-09 14:06:42+00:00)
Title: Really support weight in uvector

The current bulk stores its value size into flags field when value
embedded mode (= !GRN_BULK_OUTP(bulk)). We can't use flags field to
store GRN_OBJ_WITH_WEIGHT flag when the bulk is value embedded mode.

This commit changes flags behavior in value embedded mode. The current
GRN_BULK_BUFSIZE is 24 bytes. So we can use higher order bits in flags
field. To use higher order bits in flags field, this change use mask
to get value size in value embedded mode.

This change will not break API and ABI. But we need to rebuild related
codes that use uvector with weight. Rroonga will be the code. It will
not be a problem because there are no these codes for now. Newer codes
must be built.

TODO:
* Support outputting uvector with weight in select command and dump command.