<div dir="ltr"><div>村上です。<br><br></div><div>現在、grn_column_createではsizeof(int64_t)=8バイトを超えるものは<br></div><div>可変長カラムのgrn_ja_createが利用されるようになっています。<br><a href="https://github.com/groonga/groonga/blob/v5.1.1/lib/db.c#L4518">https://github.com/groonga/groonga/blob/v5.1.1/lib/db.c#L4518</a><br><br></div><div>一方、固定長カラムのgrn_ra_createはもっと大きいサイズでも入るように<br>デザインされていると思います。<br><a href="https://github.com/groonga/groonga/blob/v5.1.1/lib/store.c#L36-L39">https://github.com/groonga/groonga/blob/v5.1.1/lib/store.c#L36-L39</a><br></div><div><br>ビルトイン型だけの場合、固定長カラムはINT64まででいいと思うのですが、<br>C-APIのgrn_type_createを使って、UINT128,256とかもう少し大きいものを<br>保存したいと考えています。<br><br></div><div>具体的な私のユースケースとしてはカラムのminhash値の最下位ビットk個を<br>保持しておいて高速に類似計算することを実験しています。<br><a href="https://github.com/naoa/groonga-minhash">https://github.com/naoa/groonga-minhash</a><br>kが多いほど精度を上げられるため、64ビット以上のビット列を保持したいと<br>思っています。<br><br>SHORT_TEXTと区別するだけでいいなら、たとえば、以下のように4096以上<br>の場合のみgrn_ja_createにするようにしてもらえないでしょうか?<br><br><span class="">if</span> ((flags &amp; GRN_OBJ_KEY_VAR_SIZE) || value_size &gt;= <span class="">4096</span>) {<br><br>以上、ご検討よろしくお願いします。<br><br></div></div>