<!DOCTYPE html>
<html>
  <head>
  </head>
  <body>
    <dl style="line-height: 1.5; margin-left: 2em">
      <dt style="clear: both; float: left; font-weight: bold; width: 8em">Author</dt>
      <dd style="margin-left: 8.5em">susumu.yata &lt;susum****@gmail*****&gt;</dd>
      <dt style="clear: both; float: left; font-weight: bold; width: 8em">Date</dt>
      <dd style="margin-left: 8.5em">2014-06-11 09:13:45 +0900 (Wed, 11 Jun 2014)</dd>
      <dt style="clear: both; float: left; font-weight: bold; width: 8em">New Revision</dt>
      <dd style="margin-left: 8.5em"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e">15298c3b4cde064ff640968cbd509593991d989e</a></dd>
      <dt style="clear: both; float: left; font-weight: bold; width: 8em">Message</dt>
      <dd style="margin-left: 8.5em"><pre style="border: 1px solid #aaa; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; padding: 0.5em; width: auto">Update the new interface candidate.</pre></dd>
      <dt style="clear: both; float: left; font-weight: bold; width: 8em">Added files</dt>
      <dd style="margin-left: 8.5em">
        <ul>
          <li><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#diff-4">new-interface/merger.hpp</a></li>
          <li><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#diff-5">new-interface/row-set.hpp</a></li>
        </ul>
      </dd>
      <dt style="clear: both; float: left; font-weight: bold; width: 8em">Modified files</dt>
      <dd style="margin-left: 8.5em">
        <ul>
          <li><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#diff-0">new-interface/cursor.hpp</a></li>
          <li><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#diff-1">new-interface/db.hpp</a></li>
          <li><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#diff-2">new-interface/expression-builder.hpp</a></li>
          <li><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#diff-3">new-interface/expression.hpp</a></li>
          <li><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#diff-6">new-interface/sorter-builder.hpp</a></li>
          <li><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#diff-7">new-interface/sorter.hpp</a></li>
          <li><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#diff-8">new-interface/table.hpp</a></li>
        </ul>
      </dd>
    </dl>

    <div class="diff-section" style="clear: both">
      <table style="border-collapse: collapse; border: 1px solid #aaa">
        <thead>
          <tr class="diff-header" style="border: 1px solid #aaa">
            <td colspan="3">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">  Modified: new-interface/cursor.hpp (+14 -7)</span>
<span class="diff-header-mark" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">===================================================================</span>
</pre>
            </td>
          </tr>
        </thead>
        <tbody>
          <tr>
            <th class="diff-line-number" style="border: 1px solid #aaa">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L0L9">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L0L10">10</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L0L11">11</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L0L12">12</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L0L13">13</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L0L14">14</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L0L15">15</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L0L16">16</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L0L17">17</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L0L18">18</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L0L19">19</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L0L20">20</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L0L21">21</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L0L22">22</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L0L23">23</a></span>
</pre>
            </th>
            <th class="diff-line-number" style="border: 1px solid #aaa">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L0R9">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L0R10">10</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L0R11">11</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L0R12">12</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L0R13">13</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L0R14">14</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L0R15">15</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L0R16">16</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L0R17">17</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L0R18">18</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L0R19">19</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L0R20">20</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L0R21">21</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L0R22">22</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L0R23">23</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L0R24">24</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L0R25">25</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L0R26">26</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L0R27">27</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L0R28">28</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L0R29">29</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L0R30">30</a></span>
</pre>
            </th>
            <td class="diff-content" style="border: 1px solid #aaa">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-hunk-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">@@ -10,14 +10,21 @@ <span class="diff-context" style="background-color: #ffffaa; color: #000000">class Cursor {</span></span>
<span class="diff-not-changed" style="display: block; white-space: pre">   Cursor();</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   virtual ~Cursor();</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> </span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  // カーソルの位置を進めて移動量を返す.</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  // 途中で終端に到達したときは,そこで移動を停止し,それまでの移動量を返す.</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  virtual int64_t seek(int64_t count) = 0;</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // カーソルの位置を最大で count 進める.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // 成功すれば移動量を返す.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // 失敗したときは *error にその内容を格納し, -1 を返す.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  //</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // 途中で終端に到達したときは count より小さい値を返す.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  virtual int64_t seek(Error *error, int64_t count) = 0;</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> </span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  // カーソルの位置を進めて移動量を返す.</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  // 途中で終端に到達したときは,そこで移動を停止し,それまでの移動量を返す.</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  // 移動中に取得した行 ID は *row_ids に格納する.</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  virtual int64_t read(int64_t count, RowID *row_ids) = 0;</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // カーソルの位置を最大で count 進める.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // 成功すれば移動量を返す.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // 失敗したときは *error にその内容を格納し, -1 を返す.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  //</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // カーソルの移動中に取得した行は *row_set の末尾に追加する.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  //</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // 途中で終端に到達したときは count より小さい値を返す.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  virtual int64_t read(Error *error, int64_t count, RowSet *row_set) = 0;</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> };</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> </span>
<span class="diff-not-changed" style="display: block; white-space: pre"> }  // namespace grnxx</span>
</pre>
            </td>
          </tr>
        </tbody>
      </table>
      <table style="border-collapse: collapse; border: 1px solid #aaa">
        <thead>
          <tr class="diff-header" style="border: 1px solid #aaa">
            <td colspan="3">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">  Modified: new-interface/db.hpp (+2 -1)</span>
<span class="diff-header-mark" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">===================================================================</span>
</pre>
            </td>
          </tr>
        </thead>
        <tbody>
          <tr>
            <th class="diff-line-number" style="border: 1px solid #aaa">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L1L112">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L1L113">113</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L1L114">114</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L1L115">115</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L1L116">116</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L1L117">117</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L1L118">118</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L1L119">119</a></span>
</pre>
            </th>
            <th class="diff-line-number" style="border: 1px solid #aaa">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L1R112">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L1R113">113</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L1R114">114</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L1R115">115</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L1R116">116</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L1R117">117</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L1R118">118</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L1R119">119</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L1R120">120</a></span>
</pre>
            </th>
            <td class="diff-content" style="border: 1px solid #aaa">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-hunk-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">@@ -113,7 +113,8 @@ <span class="diff-context" style="background-color: #ffffaa; color: #000000">class DB {</span></span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // - 指定された名前のファイルに対するアクセス権限がない.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // - 作業領域が確保できない.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // - ディスクの空き容量が足りない.</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  virtual bool save(Error *error, const char *path,</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  virtual bool save(Error *error,</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+                    const char *path,</span>
<span class="diff-not-changed" style="display: block; white-space: pre">                     const DBOptions &amp;options) const = 0;</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> };</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> </span>
</pre>
            </td>
          </tr>
        </tbody>
      </table>
      <table style="border-collapse: collapse; border: 1px solid #aaa">
        <thead>
          <tr class="diff-header" style="border: 1px solid #aaa">
            <td colspan="3">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">  Modified: new-interface/expression-builder.hpp (+8 -5)</span>
<span class="diff-header-mark" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">===================================================================</span>
</pre>
            </td>
          </tr>
        </thead>
        <tbody>
          <tr>
            <th class="diff-line-number" style="border: 1px solid #aaa">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L2L42">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L2L43">43</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L2L44">44</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L2L45">45</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L2L46">46</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L2L47">47</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L2L48">48</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L2L49">49</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L2L50">50</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L2L51">51</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L2L52">52</a></span>
<span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L2L56">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L2L57">57</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L2L58">58</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L2L59">59</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L2L60">60</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L2L61">61</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L2L62">62</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L2L63">63</a></span>
</pre>
            </th>
            <th class="diff-line-number" style="border: 1px solid #aaa">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L2R42">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L2R43">43</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L2R44">44</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L2R45">45</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L2R46">46</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L2R47">47</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L2R48">48</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L2R49">49</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L2R50">50</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L2R51">51</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L2R52">52</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L2R53">53</a></span>
<span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L2R57">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L2R58">58</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L2R59">59</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L2R60">60</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L2R61">61</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L2R62">62</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L2R63">63</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L2R64">64</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L2R65">65</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L2R66">66</a></span>
</pre>
            </th>
            <td class="diff-content" style="border: 1px solid #aaa">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-hunk-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">@@ -43,10 +43,11 @@ <span class="diff-context" style="background-color: #ffffaa; color: #000000">class ExpressionBuilder {</span></span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // - 演算子と引数が対応していない.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   //  - 演算子が求める引数の型・数と実際の引数の型・数が異なる.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // - リソースを確保できない.</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  virtual ExpressionNode *create_operator_node(Error *error,</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-                                               OperatorType operator_type,</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-                                               int64_t num_args,</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-                                               ExpressionNode **args) = 0;</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  virtual ExpressionNode *create_operator_node(</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+      Error *error,</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+      OperatorType operator_type,</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+      int64_t num_args,</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+      ExpressionNode * const *args) = 0;</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> </span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // すべてのノードを破棄する.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   virtual void clear();</span>
<span class="diff-hunk-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">@@ -57,7 +58,9 @@ <span class="diff-context" style="background-color: #ffffaa; color: #000000">class ExpressionBuilder {</span></span>
<span class="diff-not-changed" style="display: block; white-space: pre">   //</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // 失敗する状況としては,以下のようなものが挙げられる.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // - リソースを確保できない.</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  virtual std::unique_ptr&lt;Expression&gt; create_expression(Error *error) const;</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  virtual std::unique_ptr&lt;Expression&gt; create_expression(</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+      Error *error,</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+      const ExpressionOptions &amp;options) const;</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> };</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> </span>
<span class="diff-not-changed" style="display: block; white-space: pre"> }  // namespace grnxx</span>
</pre>
            </td>
          </tr>
        </tbody>
      </table>
      <table style="border-collapse: collapse; border: 1px solid #aaa">
        <thead>
          <tr class="diff-header" style="border: 1px solid #aaa">
            <td colspan="3">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">  Modified: new-interface/expression.hpp (+17 -22)</span>
<span class="diff-header-mark" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">===================================================================</span>
</pre>
            </td>
          </tr>
        </thead>
        <tbody>
          <tr>
            <th class="diff-line-number" style="border: 1px solid #aaa">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L16">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L17">17</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L18">18</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L19">19</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L20">20</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L21">21</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L22">22</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L23">23</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L24">24</a></span>
<span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L25">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L26">26</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L27">27</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L28">28</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L29">29</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L30">30</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L31">31</a></span>
<span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L35">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L36">36</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L37">37</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L38">38</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L39">39</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L40">40</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L41">41</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L42">42</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L43">43</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L44">44</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L45">45</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L46">46</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L47">47</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L48">48</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L49">49</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L50">50</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L51">51</a></span>
<span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L56">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L57">57</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L58">58</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L59">59</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L60">60</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L61">61</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L62">62</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L63">63</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L64">64</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L65">65</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L66">66</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L67">67</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L68">68</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L69">69</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L70">70</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L71">71</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L72">72</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L73">73</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L74">74</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L75">75</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L76">76</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L77">77</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L78">78</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L79">79</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L80">80</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L81">81</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L82">82</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L83">83</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L84">84</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L85">85</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L86">86</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L87">87</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L88">88</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3L89">89</a></span>
</pre>
            </th>
            <th class="diff-line-number" style="border: 1px solid #aaa">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R16">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R17">17</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R18">18</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R19">19</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R20">20</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R21">21</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R22">22</a></span>
<span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R23">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R24">24</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R25">25</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R26">26</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R27">27</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R28">28</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R29">29</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R30">30</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R31">31</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R32">32</a></span>
<span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R36">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R37">37</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R38">38</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R39">39</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R40">40</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R41">41</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R42">42</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R43">43</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R44">44</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R45">45</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R46">46</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R47">47</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R48">48</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R49">49</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R50">50</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R51">51</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R52">52</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R53">53</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R54">54</a></span>
<span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R59">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R60">60</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R61">61</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R62">62</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R63">63</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R64">64</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R65">65</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R66">66</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R67">67</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R68">68</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R69">69</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R70">70</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R71">71</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R72">72</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R73">73</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R74">74</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R75">75</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R76">76</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R77">77</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R78">78</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R79">79</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R80">80</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R81">81</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R82">82</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R83">83</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L3R84">84</a></span>
</pre>
            </th>
            <td class="diff-content" style="border: 1px solid #aaa">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-hunk-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">@@ -17,8 +17,6 @@ <span class="diff-context" style="background-color: #ffffaa; color: #000000">class Expression {</span></span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // 評価結果の型を取得する.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   virtual DataType data_type() const = 0;</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> </span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  // TODO: 行の一覧とスコアの受け渡し方を決める.</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // 行の一覧をフィルタにかける.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // 成功すればフィルタにかけて残った行数を返す.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // 失敗したときは *error にその内容を格納し, -1 を返す.</span>
<span class="diff-hunk-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">@@ -26,6 +24,9 @@ <span class="diff-context" style="background-color: #ffffaa; color: #000000">class Expression {</span></span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // 評価結果が真になる行のみを残し,前方に詰めて隙間をなくす.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // フィルタにかける前後で順序関係は維持される.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   //</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // 先頭の offset 件はそのままにする.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // 返り値はフィルタをかけて残った行数から offset を引いたものになる.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  //</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // 有効でない行 ID を渡したときの動作は未定義である.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   //</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // 失敗する状況としては,以下のようなものが挙げられる.</span>
<span class="diff-hunk-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">@@ -36,16 +37,18 @@ <span class="diff-context" style="background-color: #ffffaa; color: #000000">class Expression {</span></span>
<span class="diff-not-changed" style="display: block; white-space: pre">   //  - NaN が発生する.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   //   - TODO: これらの取り扱いについては検討の余地がある.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   virtual int64_t filter(Error *error,</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-                         int64_t num_row_ids,</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-                         RowID *row_ids,</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-                         double *scores) = 0;</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+                         RowSet *row_set,</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+                         int64_t offset) = 0;</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> </span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // スコアを調整する.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // 成功すれば true を返す.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // 失敗したときは *error にその内容を格納し, false を返す.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   //</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  // 評価結果を *scores に格納する.</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  // 式において _score を指定することにより, scores を入力として使うこともできる.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // 評価結果を *row_set に格納する.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // 式の構築において _score を指定することにより,</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // 既存のスコアを入力として使うこともできる.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  //</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // 先頭の offset 件はそのままにする.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   //</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // 有効でない行 ID を渡したときの動作は未定義である.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   //</span>
<span class="diff-hunk-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">@@ -57,33 +60,25 @@ <span class="diff-context" style="background-color: #ffffaa; color: #000000">class Expression {</span></span>
<span class="diff-not-changed" style="display: block; white-space: pre">   //  - NaN が発生する.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   //   - TODO: これらの取り扱いについては検討の余地がある.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   virtual bool adjust(Error *error,</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-                      int64_t num_row_ids,</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-                      RowID *row_ids,</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-                      double *scores) = 0;</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+                      RowSet *row_set,</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+                      int64_t offset) = 0;</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> </span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // 行の一覧に対する評価結果を取得する.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // 成功すれば true を返す.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // 失敗したときは *error にその内容を格納し, false を返す.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   //</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  // TODO: 汎用型を配列にするのは効率が悪いため,ほかの方法が望ましい.</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  //       専用の型を用意することも含めて検討したい.</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  //</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  // TODO: 整列などにも使うことを考えれば,ネイティブな型を返すインタフェースが欲しい.</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  //       少なくとも内部インタフェースとして用意する必要がある.</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  //</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  // 有効でない行 ID を渡したときの動作は未定義である.</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  //</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // 失敗する状況としては,以下のようなものが挙げられる.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // - 演算において例外が発生する.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   //  - オーバーフローやアンダーフローが発生する.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   //  - ゼロによる除算が発生する.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   //  - NaN が発生する.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   //   - TODO: これらの取り扱いについては検討の余地がある.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // - リソースが確保できない.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   virtual bool evaluate(Error *error,</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-                        int64_t num_row_ids,</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-                        const RowID *row_ids,</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-                        const double *scores,</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-                        Datum *values) = 0;</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+                        const RowSet &amp;row_set,</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+                        int64_t offset,</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+                        int64_t limit,</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+                        Data *values) = 0;</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> };</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> </span>
<span class="diff-not-changed" style="display: block; white-space: pre"> }  // namespace grnxx</span>
</pre>
            </td>
          </tr>
        </tbody>
      </table>
      <table style="border-collapse: collapse; border: 1px solid #aaa">
        <thead>
          <tr class="diff-header" style="border: 1px solid #aaa">
            <td colspan="3">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">  Added: new-interface/merger.hpp (+48 -0) 100644</span>
<span class="diff-header-mark" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">===================================================================</span>
</pre>
            </td>
          </tr>
        </thead>
        <tbody>
          <tr>
            <th class="diff-line-number" style="border: 1px solid #aaa">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4L-1">...</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
</pre>
            </th>
            <th class="diff-line-number" style="border: 1px solid #aaa">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R0">...</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R1">1</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R2">2</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R3">3</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R4">4</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R5">5</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R6">6</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R7">7</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R8">8</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R9">9</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R10">10</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R11">11</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R12">12</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R13">13</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R14">14</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R15">15</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R16">16</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R17">17</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R18">18</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R19">19</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R20">20</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R21">21</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R22">22</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R23">23</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R24">24</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R25">25</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R26">26</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R27">27</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R28">28</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R29">29</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R30">30</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R31">31</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R32">32</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R33">33</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R34">34</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R35">35</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R36">36</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R37">37</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R38">38</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R39">39</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R40">40</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R41">41</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R42">42</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R43">43</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R44">44</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R45">45</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R46">46</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R47">47</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L4R48">48</a></span>
</pre>
            </th>
            <td class="diff-content" style="border: 1px solid #aaa">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-hunk-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">@@ -0,0 +1,48 @@</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+#ifndef GRNXX_MERGER_HPP</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+#define GRNXX_MERGER_HPP</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+#include &quot;grnxx/types.hpp&quot;</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+namespace grnxx {</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+enum MergeStatus {</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  MERGE_CONTINUE,</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  MERGE_FINISH</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+};</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+class Merger {</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ public:</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  Merger();</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  virtual ~Merger();</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // 所属するテーブルを取得する.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  virtual Table *table() const = 0;</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // 行の一覧を合成する.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // 成功すれば出力された行数を返す.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // 失敗したときは *error にその内容を格納し, -1 を返す.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  //</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // 入力がまだ残っているときは MERGE_CONTINUE,</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // 入力がもう残っていないときは MERGE_FINISH を指定する.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  //</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // lhs_row_set, rhs_row_set を入力として,</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // 合成した結果を result_row_set に出力する.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // 合成に使用された行は lhs_row_set, rhs_row_set から取り除かれる.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // そのため,空になった方の入力に行を補充することで合成を継続できる.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  //</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // 入力は行 ID 昇順もしくは降順になっているものとする.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // また,入力はそれぞれ重複を含まないものとする.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  //</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // 失敗する状況としては,以下のようなものが挙げられる.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // - スコアが合成によって不正な値になる.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // - リソースが確保できない.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  virtual int64_t merge(Error *error,</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+                        RowSet *lhs_row_set,</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+                        RowSet *rhs_row_set,</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+                        RowSet *result_row_set,</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+                        MergeStatus status) const = 0;</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+};</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+}  // namespace grnxx</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+#endif  // GRNXX_MERGER_HPP</span>
</pre>
            </td>
          </tr>
        </tbody>
      </table>
      <table style="border-collapse: collapse; border: 1px solid #aaa">
        <thead>
          <tr class="diff-header" style="border: 1px solid #aaa">
            <td colspan="3">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">  Added: new-interface/row-set.hpp (+50 -0) 100644</span>
<span class="diff-header-mark" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">===================================================================</span>
</pre>
            </td>
          </tr>
        </thead>
        <tbody>
          <tr>
            <th class="diff-line-number" style="border: 1px solid #aaa">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5L-1">...</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
</pre>
            </th>
            <th class="diff-line-number" style="border: 1px solid #aaa">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R0">...</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R1">1</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R2">2</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R3">3</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R4">4</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R5">5</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R6">6</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R7">7</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R8">8</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R9">9</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R10">10</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R11">11</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R12">12</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R13">13</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R14">14</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R15">15</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R16">16</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R17">17</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R18">18</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R19">19</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R20">20</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R21">21</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R22">22</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R23">23</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R24">24</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R25">25</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R26">26</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R27">27</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R28">28</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R29">29</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R30">30</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R31">31</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R32">32</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R33">33</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R34">34</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R35">35</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R36">36</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R37">37</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R38">38</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R39">39</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R40">40</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R41">41</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R42">42</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R43">43</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R44">44</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R45">45</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R46">46</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R47">47</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R48">48</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R49">49</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L5R50">50</a></span>
</pre>
            </th>
            <td class="diff-content" style="border: 1px solid #aaa">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-hunk-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">@@ -0,0 +1,50 @@</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+#ifndef GRNXX_ROW_SET_HPP</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+#define GRNXX_ROW_SET_HPP</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+#include &quot;grnxx/types.hpp&quot;</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+namespace grnxx {</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+class RowSet {</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ public:</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  RowSet();</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  ~RowSet();</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // 所属するテーブルを取得する.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  Table *table() const;</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // 行 ID を取得する.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  RowID get_row_id(Int64 i) const;</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // スコアを取得する.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  double get_score(Int64 i) const;</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // スコアを正規化する.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // 成功すれば true を返す.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // 失敗したときは *error にその内容を格納し, false を返す.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  //</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // TODO: 具体的な正規化方法を決める.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  //       最大値ですべてのスコアを除算するというのが簡単そうである.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  //       正規化後の最大値を指定できると便利かもしれない.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  //       ほかにも何か必要な正規化があるかどうか.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  //</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // 失敗する状況としては,以下のようなものが挙げられる.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // - 最大値が 0.0, negative, infinity である.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  bool normalize(Error *error, const NormalizeOptions &amp;options);</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // TODO: Sorter を使うより RowSet::sort() の方が良い?</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // 整列する.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // 成功すれば true を返す.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // 失敗したときは *error にその内容を格納し, false を返す.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  //</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // TODO: 整列条件の指定方法を決める.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  //</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // 失敗する状況としては,以下のようなものが挙げられる.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // - リソースが足りない.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // - 演算において例外が発生する.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  bool sort(Error *error, const SortConditions &amp;conditions);</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+};</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+}  // namespace grnxx</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+#endif  // GRNXX_ROW_SET_HPP</span>
</pre>
            </td>
          </tr>
        </tbody>
      </table>
      <table style="border-collapse: collapse; border: 1px solid #aaa">
        <thead>
          <tr class="diff-header" style="border: 1px solid #aaa">
            <td colspan="3">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">  Modified: new-interface/sorter-builder.hpp (+5 -3)</span>
<span class="diff-header-mark" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">===================================================================</span>
</pre>
            </td>
          </tr>
        </thead>
        <tbody>
          <tr>
            <th class="diff-line-number" style="border: 1px solid #aaa">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6L28">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6L29">29</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6L30">30</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6L31">31</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6L32">32</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6L33">33</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6L34">34</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6L35">35</a></span>
<span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6L42">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6L43">43</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6L44">44</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6L45">45</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6L46">46</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6L47">47</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6L48">48</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6L49">49</a></span>
<span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6L54">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6L55">55</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6L56">56</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6L57">57</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6L58">58</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6L59">59</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6L60">60</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6L61">61</a></span>
</pre>
            </th>
            <th class="diff-line-number" style="border: 1px solid #aaa">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6R28">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6R29">29</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6R30">30</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6R31">31</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6R32">32</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6R33">33</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6R34">34</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6R35">35</a></span>
<span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6R42">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6R43">43</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6R44">44</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6R45">45</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6R46">46</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6R47">47</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6R48">48</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6R49">49</a></span>
<span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6R54">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6R55">55</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6R56">56</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6R57">57</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6R58">58</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6R59">59</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6R60">60</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6R61">61</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6R62">62</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L6R63">63</a></span>
</pre>
            </th>
            <td class="diff-content" style="border: 1px solid #aaa">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-hunk-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">@@ -29,7 +29,7 @@ <span class="diff-context" style="background-color: #ffffaa; color: #000000">class Sorter {</span></span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // - 式の評価結果が大小関係を持たない型になる.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // - リソースを確保できない.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   virtual bool add_precondition(Error *error,</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-                                const Expression *expression,</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+                                const Expression &amp;expression,</span>
<span class="diff-not-changed" style="display: block; white-space: pre">                                 SortOrder order) const = 0;</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> </span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // 整列条件を追加する.</span>
<span class="diff-hunk-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">@@ -43,7 +43,7 @@ <span class="diff-context" style="background-color: #ffffaa; color: #000000">class Sorter {</span></span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // - 式の評価結果が大小関係を持たない型になる.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // - リソースを確保できない.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   virtual bool add_condition(Error *error,</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-                             const Expression *expression,</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+                             const Expression &amp;expression,</span>
<span class="diff-not-changed" style="display: block; white-space: pre">                              SortOrder order) const = 0;</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> </span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // すべての条件を破棄する.</span>
<span class="diff-hunk-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">@@ -55,7 +55,9 @@ <span class="diff-context" style="background-color: #ffffaa; color: #000000">class Sorter {</span></span>
<span class="diff-not-changed" style="display: block; white-space: pre">   //</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // 失敗する状況としては,以下のようなものが挙げられる.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // - リソースを確保できない.</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  virtual std::unique_ptr&lt;Sorter&gt; create_sorter(Error *error) const;</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  virtual std::unique_ptr&lt;Sorter&gt; create_sorter(</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+      Error *error,</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+      const SorterOptions &amp;options) const;</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> };</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> </span>
<span class="diff-not-changed" style="display: block; white-space: pre"> }  // namespace grnxx</span>
</pre>
            </td>
          </tr>
        </tbody>
      </table>
      <table style="border-collapse: collapse; border: 1px solid #aaa">
        <thead>
          <tr class="diff-header" style="border: 1px solid #aaa">
            <td colspan="3">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">  Modified: new-interface/sorter.hpp (+3 -2)</span>
<span class="diff-header-mark" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">===================================================================</span>
</pre>
            </td>
          </tr>
        </thead>
        <tbody>
          <tr>
            <th class="diff-line-number" style="border: 1px solid #aaa">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L7L23">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L7L24">24</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L7L25">25</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L7L26">26</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L7L27">27</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L7L28">28</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L7L29">29</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L7L30">30</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L7L31">31</a></span>
</pre>
            </th>
            <th class="diff-line-number" style="border: 1px solid #aaa">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L7R23">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L7R24">24</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L7R25">25</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L7R26">26</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L7R27">27</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L7R28">28</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L7R29">29</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L7R30">30</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L7R31">31</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L7R32">32</a></span>
</pre>
            </th>
            <td class="diff-content" style="border: 1px solid #aaa">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-hunk-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">@@ -24,8 +24,9 @@ <span class="diff-context" style="background-color: #ffffaa; color: #000000">class Sorter {</span></span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // - 演算において例外が発生する.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // - リソースを確保できない.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   virtual bool sort(Error *error,</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-                    int64_t num_row_ids, RowID *row_ids,</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-                    int64_t offset, int64_t limit);</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+                    RowSet *row_set,</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+                    int64_t offset,</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+                    int64_t limit);</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> };</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> </span>
<span class="diff-not-changed" style="display: block; white-space: pre"> }  // namespace grnxx</span>
</pre>
            </td>
          </tr>
        </tbody>
      </table>
      <table style="border-collapse: collapse; border: 1px solid #aaa">
        <thead>
          <tr class="diff-header" style="border: 1px solid #aaa">
            <td colspan="3">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">  Modified: new-interface/table.hpp (+44 -48)</span>
<span class="diff-header-mark" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">===================================================================</span>
</pre>
            </td>
          </tr>
        </thead>
        <tbody>
          <tr>
            <th class="diff-line-number" style="border: 1px solid #aaa">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L138">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L139">139</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L140">140</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L141">141</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L142">142</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L143">143</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L144">144</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L145">145</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L146">146</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L147">147</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L148">148</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L149">149</a></span>
<span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L238">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L239">239</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L240">240</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L241">241</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L242">242</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L243">243</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L244">244</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L245">245</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L246">246</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L247">247</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L248">248</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L249">249</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L250">250</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L251">251</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L252">252</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L253">253</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L254">254</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L255">255</a></span>
<span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L265">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L266">266</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L267">267</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L268">268</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L269">269</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L270">270</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L271">271</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L272">272</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L273">273</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L274">274</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L275">275</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L276">276</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L277">277</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L278">278</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L279">279</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L280">280</a></span>
<span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L311">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L312">312</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L313">313</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L314">314</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L315">315</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L316">316</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L317">317</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L318">318</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L319">319</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L320">320</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L321">321</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L322">322</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L323">323</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L324">324</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L325">325</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L326">326</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L327">327</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L328">328</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L329">329</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L330">330</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L331">331</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L332">332</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L333">333</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L334">334</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L335">335</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L336">336</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L337">337</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L338">338</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L339">339</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L340">340</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L341">341</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L342">342</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L343">343</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L344">344</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L345">345</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L346">346</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L347">347</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L348">348</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L349">349</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L350">350</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L351">351</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L352">352</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L353">353</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L354">354</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L355">355</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8L356">356</a></span>
</pre>
            </th>
            <th class="diff-line-number" style="border: 1px solid #aaa">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R138">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R139">139</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R140">140</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R141">141</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R142">142</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R143">143</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R144">144</a></span>
<span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R233">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R234">234</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R235">235</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R236">236</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R237">237</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R238">238</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R239">239</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R240">240</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R241">241</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R242">242</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R243">243</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R244">244</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R245">245</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R246">246</a></span>
<span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R256">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R257">257</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R258">258</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R259">259</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R260">260</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R261">261</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R262">262</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R263">263</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R264">264</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R265">265</a></span>
<span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R296">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R297">297</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R298">298</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R299">299</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R300">300</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R301">301</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R302">302</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R303">303</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R304">304</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R305">305</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R306">306</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R307">307</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R308">308</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R309">309</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R310">310</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R311">311</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R312">312</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R313">313</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R314">314</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R315">315</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R316">316</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R317">317</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R318">318</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R319">319</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R320">320</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R321">321</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R322">322</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R323">323</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R324">324</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R325">325</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R326">326</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R327">327</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R328">328</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R329">329</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R330">330</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R331">331</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R332">332</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R333">333</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R334">334</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R335">335</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R336">336</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R337">337</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R338">338</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R339">339</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R340">340</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R341">341</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R342">342</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R343">343</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R344">344</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R345">345</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R346">346</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R347">347</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R348">348</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R349">349</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R350">350</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R351">351</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/grnxx/commit/15298c3b4cde064ff640968cbd509593991d989e#L8R352">352</a></span>
</pre>
            </th>
            <td class="diff-content" style="border: 1px solid #aaa">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-hunk-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">@@ -139,11 +139,6 @@ <span class="diff-context" style="background-color: #ffffaa; color: #000000">class Table {</span></span>
<span class="diff-not-changed" style="display: block; white-space: pre">   //       ただし,頻繁に削除すると隙間だらけになって効率が落ちる.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   //       オプションとしてはよさそう.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   //</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  // TODO: 将来的な検討案.</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  //       削除によって行 ID に空きができたとき,前方へと詰めるという案がある.</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  //       ただし,参照されているテーブルについては参照元の修正が必要になる.</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  //       また,行 ID に特別な意味を持たせている場合は問題になる.</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  //</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // 失敗する状況としては,以下のようなものが挙げられる.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // - 指定された ID が行 ID の最小値より小さいか最大値 + 1 より大きい.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // - キーカラムが存在しないとき</span>
<span class="diff-hunk-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">@@ -239,17 +234,13 @@ <span class="diff-context" style="background-color: #ffffaa; color: #000000">class Table {</span></span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // 自動で delete されて困るときは release() で生のポインタを取り出す必要がある.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   //</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // TODO: 将来的な検討案.</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  //       簡易なものでかまわないので,クエリ文字列をパースして式を構築してくれる</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  //       インタフェースがあれば何かと便利かもしれない.</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  //       テスト用と考えれば,最適化などは一切せず,</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  //       真っ正直にやってくれるのがベスト.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  //       クエリ文字列をパースして式を構築するインタフェースが欲しい.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  //       テストやデバッグに使うのであれば,最適化などは必要ない.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   //</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // 失敗する状況としては,以下のようなものが挙げられる.</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  // - オプションが不正である.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // - リソースが確保できない.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   virtual std::unique_ptr&lt;Expression&gt; create_expression_builder(</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-      Error *error,</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-      const ExpressionOptions &amp;options) const = 0;</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+      Error *error) const = 0;</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> </span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // 整列器を構築するためのオブジェクトを作成する.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // 成功すれば有効なオブジェクトへのポインタを返す.</span>
<span class="diff-hunk-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">@@ -266,15 +257,9 @@ <span class="diff-context" style="background-color: #ffffaa; color: #000000">class Table {</span></span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // 自動で delete されて困るときは release() で生のポインタを取り出す必要がある.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   //</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // 失敗する状況としては,以下のようなものが挙げられる.</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  // - オプションが不正である.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // - リソースが確保できない.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   virtual std::unique_ptr&lt;Sorter&gt; create_sorter_builder(</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-      Error *error,</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-      const SorterOptions &amp;options) const = 0;</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  // TODO: 分類器については,条件をひとつしか受け付けないのであれば,</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  //       create_grouper() が条件を受け取るようにした方がすっきりする.</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  //       Expression, Sorter にあわせて GrouperBuilder を用意する手もある.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+      Error *error) const = 0;</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> </span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // 分類器を作成する.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // 成功すれば有効なオブジェクトへのポインタを返す.</span>
<span class="diff-hunk-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">@@ -312,45 +297,56 @@ <span class="diff-context" style="background-color: #ffffaa; color: #000000">class Table {</span></span>
<span class="diff-not-changed" style="display: block; white-space: pre">   // - リソースが確保できない.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   virtual std::unique_ptr&lt;Grouper&gt; create_grouper(</span>
<span class="diff-not-changed" style="display: block; white-space: pre">       Error *error,</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+      Expression *expression,</span>
<span class="diff-not-changed" style="display: block; white-space: pre">       const GrouperOptions &amp;options) const = 0;</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> </span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  // TODO: 検索結果の型を決める.</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  //</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  // 行 ID の配列とスコアの配列に分けるのと,</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  // 行 ID とスコアをメンバとする構造体の配列にする案がある.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // 行の一覧を逐次マージするためのオブジェクトを作成する.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // 成功すれば有効なオブジェクトへのポインタを返す.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // 失敗したときは *error にその内容を格納し, nullptr を返す.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   //</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  // 前者はスコアを必要としないクエリを無駄なく処理できるのが魅力です.</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  // その代わり,フィルタをかけるにせよ整列をするにせよグループ化をするにせよ,</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  // スコアがある状況では効率がそれなりに悪くなることが予想されます.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // 行の一覧は行 ID 順になっているものとする.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // 昇順と降順については,どちらかをオプションで選択できるものとする.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   //</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  // 後者は,スコアが不要なときに無駄なメモリ消費が発生したり,</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  // キャッシュの効率が少し低下したりすることが予想されます.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // 返り値は std::unique_ptr なので自動的に delete される.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // 自動で delete されて困るときは release() で生のポインタを取り出す必要がある.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   //</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  // 正直なところ,後者の方が良いのではないかという気がしてきました.</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  // 一度,簡単なプログラムでも作って試してみた方がよいだろうと思います.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // マージの種類としては,以下のようなものが挙げられる.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // - AND: 両方に含まれるものを残す.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // - OR: どちらかに含まれるものを残す.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // - XOR: 一方には含まれていて,もう一方には含まれていないものを残す.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // - SUB: 一つ目の入力には含まれていて,二つ目の入力には含まれていないものを残す.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   //</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  // 前者を採用するのであれば,行 ID の配列とスコアの配列が個別にサイズを</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  // 持つような実装は避けたい.しかし,オブジェクトとしては分かれているのに</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  // 取り扱いが不可分になるのは厄介である.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // スコアの合成方法としては,以下のようなものが使われそうである.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // - 単純に加算したり乗算したりする.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  //  - 乗算は必要ないかもしれない.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // - 重みを乗せて加算する.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  //  - これは Adjuster でも対応できる.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // - スコアを正規化する.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  //  - たとえば,最大値が 1.0 になるように修正する.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  //  - すべてのスコアが分かっている状況でなければ適用できないため,</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  //    逐次マージでは使えない.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   //</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  // どちらでも大丈夫なインタフェースを用意したい.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // 失敗する状況としては,以下のようなものが挙げられる.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // - オプションが不正である.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // - リソースが確保できない.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  virtual std::unique_ptr&lt;Merger&gt; create_merger(</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+      Error *error,</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+      const MergerOptions &amp;options) const = 0;</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> </span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  // TODO: 検索結果のマージ方法を検討する.</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  //</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  // 全文検索や全走査を使えば行 ID 順となるが,ほかの索引を使ったときは</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  // 別の順序になるかもしれないため,そういうケースへの対策が必要である.</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  // 行 ID 順についても,昇順と降順があることに注意が必要である.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // 行の一覧を一括でマージする.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // 成功すれば true を返す.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // 失敗したときは *error にその内容を格納し, false を返す.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   //</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  // マージの種類としては,以下のようなものが挙げられる.</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  // - どちらかに含まれるものを残す.</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  // - 両方に含まれるものを残す.</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  // - 片方に含まれていて,もう片方には含まれていないものを残す.</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  //  - XOR と SUBTRACT で区別できる.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // マージの種類やスコアの合成方法は逐次マージと同様になる.</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   //</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  // スコアの合成方法としては,以下のようなものが使われそうである.</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  // - 単純に加算したり乗算したりする.</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  // - 双方を正規化(最大値を 1.0 にするなど)してから加算する.</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">-  //  - スコアを正規化するインタフェースがあれば,単純な加算にできる.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // 失敗する状況としては,以下のようなものが挙げられる.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // - オプションが不正である.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  // - リソースが確保できない.</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+  virtual bool merge(Error *error,</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+                     RowSet *lhs,</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+                     RowSet *rhs,</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+                     RowSet *output,</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+                     const MergerOptions &amp;options);</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> </span>
<span class="diff-not-changed" style="display: block; white-space: pre">  protected:</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   Table();</span>
</pre>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
  </body>
</html>