/* * インデックス情報の取得。 * * === Return * Hash :: インデックス情報を表すハッシュ。次のキーを持つ。:key_size, :flags, :initial_n_segments, :encoding */ static VALUE index_info(VALUE obj) { struct index_data *data; int key_size, flags, initial_n_segments; sen_encoding encoding; VALUE ret; Data_Get_Struct(obj, struct index_data, data); sen_index_info(data->indexp, &key_size, &flags, &initial_n_segments, &encoding, NULL, NULL, NULL, NULL, NULL, NULL); ret = rb_hash_new(); rb_hash_aset(ret, ID2SYM(rb_intern("key_size")), INT2NUM(key_size)); rb_hash_aset(ret, ID2SYM(rb_intern("flags")), INT2NUM(flags)); rb_hash_aset(ret, ID2SYM(rb_intern("initial_n_segments")), INT2NUM(initial_n_segments)); rb_hash_aset(ret, ID2SYM(rb_intern("encoding")), INT2NUM(encoding)); return ret; }