<!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 <kou****@clear*****></dd>
<dt style="clear: both; float: left; font-weight: bold; width: 8em">Date</dt>
<dd style="margin-left: 8.5em">2011-11-23 16:29:57 +0900 (Wed, 23 Nov 2011)</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/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0">16b643edbfbf4ee820e3e38658e9b1613dbe14a0</a></dd>
<dt style="clear: both; float: left; font-weight: bold; width: 8em">Log</dt>
<dd style="margin-left: 8.5em"><pre style="border: 1px solid #aaa; font-family: Consolas, Menlo, "Liberation Mono", Courier, monospace; line-height: 1.2; padding: 0.5em">report parse error in fulltext search query.</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/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#diff-0">ha_mroonga.cc</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, "Liberation Mono", Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal"><span class="diff-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre"> Modified: ha_mroonga.cc (+16 -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, "Liberation Mono", Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal"><span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0L5372">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0L5373">5373</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0L5374">5374</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0L5375">5375</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0L5376">5376</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0L5377">5377</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0L5378">5378</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0L5379">5379</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0L5380">5380</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0L5381">5381</a></span>
<span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0L5414">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0L5415">5415</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0L5416">5416</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0L5417">5417</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0L5418">5418</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0L5419">5419</a></span>
<span class="diff-line-number-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0L5420">5420</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0L5421">5421</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0L5422">5422</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0L5423">5423</a></span>
</pre>
</th>
<th class="diff-line-number" style="border: 1px solid #aaa">
<pre style="border: 0; font-family: Consolas, Menlo, "Liberation Mono", Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal"><span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0R5372">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0R5373">5373</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0R5374">5374</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0R5375">5375</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0R5376">5376</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0R5377">5377</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0R5378">5378</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0R5379">5379</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0R5380">5380</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0R5381">5381</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0R5382">5382</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0R5383">5383</a></span>
<span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0R5416">...</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0R5417">5417</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0R5418">5418</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0R5419">5419</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre"> </span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0R5420">5420</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0R5421">5421</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0R5422">5422</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0R5423">5423</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0R5424">5424</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0R5425">5425</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0R5426">5426</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0R5427">5427</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0R5428">5428</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0R5429">5429</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0R5430">5430</a></span>
<span class="diff-line-number-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0R5431">5431</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0R5432">5432</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0R5433">5433</a></span>
<span class="diff-line-number-not-changed" style="display: block; white-space: pre"><a href="https://github.com/mroonga/mroonga/commit/16b643edbfbf4ee820e3e38658e9b1613dbe14a0#L0R5434">5434</a></span>
</pre>
</th>
<td class="diff-content" style="border: 1px solid #aaa">
<pre style="border: 0; font-family: Consolas, Menlo, "Liberation Mono", Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal"><span class="diff-hunk-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">@@ -5373,9 +5373,11 @@ <span class="diff-context" style="background-color: #ffffaa; color: #000000">FT_INFO *ha_mroonga::generic_ft_init_ext(uint flags, uint key_nr, String *key)</span></span>
<span class="diff-not-changed" style="display: block; white-space: pre"> GRN_EXPR_CREATE_FOR_QUERY(info->ctx, info->table,</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> expression, expression_variable);</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> if (flags & FT_BOOL) {</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">- const char *keyword = key->ptr();</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">- uint keyword_length = key->length();</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ const char *keyword, *keyword_original;</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ uint keyword_length, keyword_length_original;</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> grn_operator default_operator = GRN_OP_OR;</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ keyword = keyword_original = key->ptr();</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ keyword_length = keyword_length_original = key->length();</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> // WORKAROUND: support only '*D+', '*D-' and '*DOR' pragma.</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> if (keyword_length > 0) {</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> if (keyword[0] == '*' && keyword_length > 1) {</span>
<span class="diff-hunk-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">@@ -5415,9 +5417,18 @@ <span class="diff-context" style="background-color: #ffffaa; color: #000000">FT_INFO *ha_mroonga::generic_ft_init_ext(uint flags, uint key_nr, String *key)</span></span>
<span class="diff-not-changed" style="display: block; white-space: pre"> keyword, keyword_length,</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> match_columns, GRN_OP_MATCH, default_operator,</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> expression_flags);</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">- // TODO: check rc</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">- grn_table_select(info->ctx, info->table, expression,</span>
<span class="diff-deleted" style="background-color: #ffaaaa; color: #000000; display: block; white-space: pre">- info->result, GRN_OP_OR);</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ if (rc) {</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ char error_message[MRN_MESSAGE_BUFFER_SIZE];</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ snprintf(error_message, MRN_MESSAGE_BUFFER_SIZE,</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ "failed to parse fulltext search keyword: <%.*s>: <%s>",</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ keyword_length_original, keyword_original,</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ info->ctx->errbuf);</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ my_message(ER_PARSE_ERROR, error_message, MYF(0));</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ GRN_LOG(info->ctx, GRN_LOG_ERROR, "%s", error_message);</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ } else {</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ grn_table_select(info->ctx, info->table, expression,</span>
<span class="diff-added" style="background-color: #aaffaa; color: #000000; display: block; white-space: pre">+ info->result, GRN_OP_OR);</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"> } else {</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> grn_obj query;</span>
<span class="diff-not-changed" style="display: block; white-space: pre"> GRN_TEXT_INIT(&query, GRN_OBJ_DO_SHALLOW_COPY);</span>
</pre>
</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>