<!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">Kouhei Sutou &lt;kou****@clear*****&gt;</dd>
      <dt style="clear: both; float: left; font-weight: bold; width: 8em">Date</dt>
      <dd style="margin-left: 8.5em">2017-04-04 18:09:31 +0900 (Tue, 04 Apr 2017)</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/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd">02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd</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">cache: support opening existing cache</pre></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/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757">lib/cache.c</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: lib/cache.c (+108 -25)</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/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L23">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L24">24</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L25">25</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L26">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-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L27">27</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L28">28</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L29">29</a></span>
<span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L87">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L88">88</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L89">89</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L90">90</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L91">91</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/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L92">92</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L93">93</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L94">94</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L95">95</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L96">96</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L97">97</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L98">98</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>
<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-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L99">99</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L100">100</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L101">101</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L102">102</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L103">103</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L104">104</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L105">105</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L106">106</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L107">107</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L108">108</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L109">109</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L110">110</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L111">111</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-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L112">112</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L113">113</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L114">114</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L115">115</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L116">116</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L117">117</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/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L118">118</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L119">119</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L120">120</a></span>
<span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L123">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L124">124</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L125">125</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L126">126</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L127">127</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/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L128">128</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L129">129</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L130">130</a></span>
<span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L143">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L144">144</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L145">145</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L146">146</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L147">147</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/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L148">148</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L149">149</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757L150">150</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/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R23">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R24">24</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R25">25</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R26">26</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R27">27</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R28">28</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R29">29</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R30">30</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R31">31</a></span>
<span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R89">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R90">90</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R91">91</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R92">92</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: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R93">93</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R94">94</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R95">95</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R96">96</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: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R97">97</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R98">98</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R99">99</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R100">100</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R101">101</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R102">102</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R103">103</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R104">104</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R105">105</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R106">106</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R107">107</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R108">108</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R109">109</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R110">110</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R111">111</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R112">112</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R113">113</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R114">114</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R115">115</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R116">116</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R117">117</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R118">118</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R119">119</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R120">120</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R121">121</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R122">122</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R123">123</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R124">124</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R125">125</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R126">126</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R127">127</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R128">128</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R129">129</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R130">130</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R131">131</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R132">132</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R133">133</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R134">134</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R135">135</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R136">136</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R137">137</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R138">138</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R139">139</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R140">140</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R141">141</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R142">142</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R143">143</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R144">144</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R145">145</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R146">146</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R147">147</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R148">148</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R149">149</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R150">150</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R151">151</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R152">152</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R153">153</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R154">154</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R155">155</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R156">156</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R157">157</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R158">158</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R159">159</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R160">160</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R161">161</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R162">162</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R163">163</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R164">164</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R165">165</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R166">166</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R167">167</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R168">168</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-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R169">169</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R170">170</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R171">171</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R172">172</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R173">173</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R174">174</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R175">175</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R176">176</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R177">177</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R178">178</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R179">179</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R180">180</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R181">181</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R182">182</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R183">183</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R184">184</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R185">185</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R186">186</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R187">187</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R188">188</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R189">189</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R190">190</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R191">191</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R192">192</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R193">193</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R194">194</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R195">195</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R196">196</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R197">197</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R198">198</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R199">199</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: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R200">200</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R201">201</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R202">202</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R203">203</a></span>
<span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R206">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R207">207</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R208">208</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R209">209</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: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R210">210</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R211">211</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R212">212</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R213">213</a></span>
<span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R226">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R227">227</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R228">228</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R229">229</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: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R230">230</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R231">231</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R232">232</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/02dd8e4e9ac43f7d4f20cefc2bf7768c487cfffd#diff-77dc4b01de73d3c8e529de2216371757R233">233</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,6 +24,8 @@</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> #include &quot;grn_store.h&quot;</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> #include &quot;grn_db.h&quot;</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> </span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+#include &lt;sys/stat.h&gt;</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> typedef struct _grn_cache_entry_memory grn_cache_entry_memory;</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> </span>
<span class="diff-not-changed" style="display: block; white-space: pre"> struct _grn_cache_entry_memory {</span>
<span class="diff-hunk-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">@@ -88,33 +90,114 @@ <span class="diff-context" style="background-color: #ffffaa; color: #000000">grn_cache_open_memory(grn_ctx *ctx, grn_cache *cache)</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"> inline static void</span>
<span class="diff-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre">-grn_cache_open_persistent(grn_ctx *ctx, grn_cache *cache)</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+grn_cache_open_persistent(grn_ctx *ctx,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+                          grn_cache *cache,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+                          const char *base_path)</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> {</span>
<span class="diff-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre">-  cache-&gt;impl.persistent.keys =</span>
<span class="diff-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre">-    grn_hash_create(cache-&gt;ctx,</span>
<span class="diff-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre">-                    NULL,</span>
<span class="diff-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre">-                    GRN_CACHE_MAX_KEY_SIZE,</span>
<span class="diff-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre">-                    sizeof(grn_cache_entry_persistent),</span>
<span class="diff-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre">-                    GRN_OBJ_KEY_VAR_SIZE);</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  char *keys_path = NULL;</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  char *values_path = NULL;</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  char keys_path_buffer[PATH_MAX];</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  char values_path_buffer[PATH_MAX];</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  if (base_path) {</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    struct stat stat_buffer;</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    grn_snprintf(keys_path_buffer, PATH_MAX, PATH_MAX, &quot;%s.keys&quot;, base_path);</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    grn_snprintf(values_path_buffer, PATH_MAX, PATH_MAX, &quot;%s.values&quot;, base_path);</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    keys_path = keys_path_buffer;</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    values_path = values_path_buffer;</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    if (stat(keys_path, &amp;stat_buffer) == 0) {</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      cache-&gt;impl.persistent.keys = grn_hash_open(ctx, keys_path);</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      if (cache-&gt;impl.persistent.keys) {</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+        cache-&gt;impl.persistent.values = grn_ja_open(ctx, values_path);</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      }</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    }</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    if (!cache-&gt;impl.persistent.keys) {</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      if (cache-&gt;impl.persistent.values) {</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+        grn_ja_close(ctx, cache-&gt;impl.persistent.values);</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+        cache-&gt;impl.persistent.values = NULL;</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      }</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      if (stat(keys_path, &amp;stat_buffer) == 0) {</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+        if (grn_hash_remove(ctx, keys_path) != GRN_SUCCESS) {</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+          ERRNO_ERR(&quot;[cache][persistent] &quot;</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+                    &quot;failed to remove path for cache keys: &lt;%s&gt;&quot;,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+                    keys_path);</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+          return;</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+        }</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      }</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      if (stat(values_path, &amp;stat_buffer) == 0) {</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+        if (grn_ja_remove(ctx, values_path) != GRN_SUCCESS) {</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+          ERRNO_ERR(&quot;[cache][persistent] &quot;</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+                    &quot;failed to remove path for cache values: &lt;%s&gt;&quot;,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+                    values_path);</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+          return;</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+        }</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      }</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    }</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  }</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  if (!cache-&gt;impl.persistent.keys) {</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    cache-&gt;impl.persistent.keys =</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      grn_hash_create(ctx,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+                      keys_path,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+                      GRN_CACHE_MAX_KEY_SIZE,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+                      sizeof(grn_cache_entry_persistent),</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+                      GRN_OBJ_KEY_VAR_SIZE);</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    if (!cache-&gt;impl.persistent.keys) {</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      ERR(ctx-&gt;rc,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+          &quot;[cache][persistent] failed to create cache keys storage: &lt;%s&gt;&quot;,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+          keys_path ? keys_path : &quot;(memory)&quot;);</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      return;</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    }</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    cache-&gt;impl.persistent.values =</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      grn_ja_create(ctx,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+                    values_path,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+                    1 &lt;&lt; 16,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+                    0);</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    if (!cache-&gt;impl.persistent.values) {</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      grn_hash_close(ctx, cache-&gt;impl.persistent.keys);</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      ERR(ctx-&gt;rc,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+          &quot;[cache][persistent] failed to create cache values storage: &lt;%s&gt;&quot;,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+          values_path ? values_path : &quot;(memory)&quot;);</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      return;</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    }</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  }</span>
<span class="diff-added" style="background-color: #eaffea; 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">     grn_cache_entry_persistent *entry;</span>
<span class="diff-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre">-    /* TODO: validate ID == GRN_CACHE_PERSISTENT_ROOT_ID */</span>
<span class="diff-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre">-    grn_hash_add(ctx,</span>
<span class="diff-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre">-                 cache-&gt;impl.persistent.keys,</span>
<span class="diff-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre">-                 GRN_CACHE_PERSISTENT_ROOT_KEY,</span>
<span class="diff-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre">-                 GRN_CACHE_PERSISTENT_ROOT_KEY_LEN,</span>
<span class="diff-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre">-                 (void **)&amp;entry,</span>
<span class="diff-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre">-                 NULL);</span>
<span class="diff-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre">-    entry-&gt;next = GRN_CACHE_PERSISTENT_ROOT_ID;</span>
<span class="diff-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre">-    entry-&gt;prev = GRN_CACHE_PERSISTENT_ROOT_ID;</span>
<span class="diff-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre">-    entry-&gt;modified_time.tv_sec = 0;</span>
<span class="diff-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre">-    entry-&gt;modified_time.tv_nsec = 0;</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    grn_id root_id;</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    int added;</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    root_id = grn_hash_add(ctx,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+                           cache-&gt;impl.persistent.keys,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+                           GRN_CACHE_PERSISTENT_ROOT_KEY,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+                           GRN_CACHE_PERSISTENT_ROOT_KEY_LEN,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+                           (void **)&amp;entry,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+                           &amp;added);</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    if (root_id != GRN_CACHE_PERSISTENT_ROOT_ID) {</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      grn_ja_close(ctx, cache-&gt;impl.persistent.values);</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      grn_hash_close(ctx, cache-&gt;impl.persistent.keys);</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      if (values_path) {</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+        grn_ja_remove(ctx, values_path);</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      }</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      if (keys_path) {</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+        grn_hash_remove(ctx, keys_path);</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      }</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      ERR(ctx-&gt;rc,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+          &quot;[cache][persistent] broken cache keys storage: &lt;%s&gt;&quot;,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+          keys_path ? keys_path : &quot;(memory)&quot;);</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      return;</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    }</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    if (added) {</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      entry-&gt;next = root_id;</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      entry-&gt;prev = root_id;</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      entry-&gt;modified_time.tv_sec = 0;</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      entry-&gt;modified_time.tv_nsec = 0;</span>
<span class="diff-added" style="background-color: #eaffea; 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: #ffecec; color: #000000; display: block; white-space: pre">-  cache-&gt;impl.persistent.values =</span>
<span class="diff-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre">-    grn_ja_create(cache-&gt;ctx,</span>
<span class="diff-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre">-                  NULL,</span>
<span class="diff-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre">-                  1 &lt;&lt; 16,</span>
<span class="diff-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre">-                  0);</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   cache-&gt;impl.persistent.timeout = 1000;</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">@@ -124,7 +207,7 @@ <span class="diff-context" style="background-color: #ffffaa; color: #000000">grn_cache_open(grn_ctx *ctx)</span></span>
<span class="diff-not-changed" style="display: block; white-space: pre">   grn_cache *cache = NULL;</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> </span>
<span class="diff-not-changed" style="display: block; white-space: pre">   GRN_API_ENTER;</span>
<span class="diff-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre">-  cache = GRN_<span class="diff-deleted-word" style="background-color: #f8cbcb; color: #000000">M</span>ALLOC(sizeof(grn_cache));</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  cache = GRN_<span class="diff-added-word" style="background-color: #a6f3a6; color: #000000">C</span>ALLOC(sizeof(grn_cache));</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   if (!cache) {</span>
<span class="diff-not-changed" style="display: block; white-space: pre">     ERR(GRN_NO_MEMORY_AVAILABLE, &quot;[cache] failed to allocate grn_cache&quot;);</span>
<span class="diff-not-changed" style="display: block; white-space: pre">     goto exit;</span>
<span class="diff-hunk-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">@@ -144,7 +227,7 @@ <span class="diff-context" style="background-color: #ffffaa; color: #000000">grn_cache_open(grn_ctx *ctx)</span></span>
<span class="diff-not-changed" style="display: block; white-space: pre">   if (cache-&gt;is_memory) {</span>
<span class="diff-not-changed" style="display: block; white-space: pre">     grn_cache_open_memory(ctx, cache);</span>
<span class="diff-not-changed" style="display: block; white-space: pre">   } else {</span>
<span class="diff-deleted" style="background-color: #ffecec; color: #000000; display: block; white-space: pre">-    grn_cache_open_persistent(ctx, cache);</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    grn_cache_open_persistent(ctx, cache<span class="diff-added-word" style="background-color: #a6f3a6; color: #000000">, NULL</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">   if (ctx-&gt;rc != GRN_SUCCESS) {</span>
<span class="diff-not-changed" style="display: block; white-space: pre">     GRN_FREE(cache);</span>
</pre>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
  </body>
</html>