Navigation Menu

Skip to content

Commit

Permalink
Remove filter() and adjust() from grnxx::Expression.
Browse files Browse the repository at this point in the history
  • Loading branch information
s-yata committed Jun 20, 2014
1 parent 159f02e commit 6939ef3
Showing 1 changed file with 1 addition and 45 deletions.
46 changes: 1 addition & 45 deletions new-interface/expression.hpp
Expand Up @@ -12,55 +12,11 @@ class Expression {
Expression();
virtual ~Expression();

// 所属するテーブルを取得する.
virtual Table *table() const = 0;
// 評価結果の型を取得する.
virtual DataType data_type() const = 0;

// 行の一覧をフィルタにかける.
// 成功すればフィルタにかけて残った行数を返す.
// 失敗したときは *error にその内容を格納し, -1 を返す.
// TODO: 実際の使い方に合わせて修正する.
//
// 評価結果が真になる行のみを残し,前方に詰めて隙間をなくす.
// フィルタにかける前後で順序関係は維持される.
//
// 先頭の offset 件はそのままにする.
// 返り値はフィルタをかけて残った行数から offset を引いたものになる.
//
// 有効でない行 ID を渡したときの動作は未定義である.
//
// 失敗する状況としては,以下のようなものが挙げられる.
// - 評価結果の型が真偽値でない.
// - 演算において例外が発生する.
// - オーバーフローやアンダーフローが発生する.
// - ゼロによる除算が発生する.
// - NaN が発生する.
// - TODO: これらの取り扱いについては検討の余地がある.
virtual int64_t filter(Error *error,
RecordSet *record_set) = 0;

// スコアを調整する.
// 成功すれば true を返す.
// 失敗したときは *error にその内容を格納し, false を返す.
//
// 評価結果を *record_set に格納する.
// 式の構築において _score を指定することにより,
// 既存のスコアを入力として使うこともできる.
//
// 先頭の offset 件はそのままにする.
//
// 有効でない行 ID を渡したときの動作は未定義である.
//
// 失敗する状況としては,以下のようなものが挙げられる.
// - 評価結果をスコアに変換できない.
// - 演算において例外が発生する.
// - オーバーフローやアンダーフローが発生する.
// - ゼロによる除算が発生する.
// - NaN が発生する.
// - TODO: これらの取り扱いについては検討の余地がある.
virtual bool adjust(Error *error,
RecordSet *record_set) = 0;

// 行の一覧に対する評価結果を取得する.
// 成功すれば true を返す.
// 失敗したときは *error にその内容を格納し, false を返す.
Expand Down

0 comments on commit 6939ef3

Please sign in to comment.