Bug #377

grn_table_cursor_openにて、GRN_CURSOR_PREFIXが指定されている場合にも、offset/limitがテーブルのレコード数で正規化される

Added by Tasuku SUENAGA 2 months ago. Updated 23 days ago.

Status:完了チェック待ち Start:07/02/2010
Priority:Low Due date:
Assigned to:Kouhei Sutou % Done:

0%

Category:- Spent time: -
Target version:-

Description

grn_table_cursor_openの冒頭において、grn_normalize_offset_and_limit()が呼び出される。

grn_normalize_offset_and_limit()の第2引数がgrn_table_size()の呼び出し結果になっている。
GRN_CURSOR_PREFIXが指定された場合には、対象のレコード群のサイズはgrn_table_size()と同じが、より小さい。

offset/limitに負の値が設定され、かつ、レコード群のサイズがgrn_table_size()より小さい場合、
一般に想定される挙動と異なるoffset/limitが設定されることになる。

offsetについては、負の値を指定できないという仕様はどうか。

limitについては、-1を指定することによる全件指定は使いたい。今のGRN_CURSOR_PREFIXの実処理を行う3関数では、
limitがgrn_table_size()より大きくなっても問題がないはず。

limitについては、-1以外の負の数については、やはり指定できないということにするのはどうか。

History

Updated by Tasuku SUENAGA about 1 month ago

  • Status changed from 要仕様議論 to 担当者作業中
  • Assigned to set to Kouhei Sutou

offsetについては、負の値を指定できない。
limitについては、-1以外の負の数については、やはり指定できない。

TODO:
  • groonga.hでのドキュメント修正
  • 実装の修正

Updated by Kouhei Sutou 23 days ago

  • Status changed from 担当者作業中 to 完了チェック待ち

13b0f4e672695de220af2921900c2d00f8d2d22a
で、ドキュメント・実装ともに修正しました。

Also available in: Atom PDF