doc install: introduce groonga-token-filter-stem package
Merge pull request #259 from myokoym/doc-install-token-filter-stem

doc install: introduce groonga-token-filter-stem package

Patch by Masafumi Yokoyama. Thanks!!!
deb: add missing copyright about onigmo
Fix a regression bug that "equal" against nonexitent reference always matches

grn_obj_get_value() returns value its type is not real value type
for nonexistent reference in the middle of accessor.

For example: Think about the following schema:

    table_create Bookmarks TABLE_HASH_KEY ShortText
    column_create Bookmarks title COLUMN_SCALAR ShortText

    table_create Users TABLE_HASH_KEY ShortText
    column_create Users bookmark COLUMN_SCALAR Bookmarks

And the following data:

    load --table Bookmarks
    [
    {"_key": "http://groonga.org/", "title": "Groonga"}
    ]

    load --table Users
    [
    {"_key": "alice", "bookmark": "http://groonga.org/"},
    {"_key": "bob"}
    ]

"bob" user is important. "bob"'s bookmark column value is
nonexistent. grn_obj_get_value() for "bookmark.name" accessor and "bob"
user returns Bookmarks type value not ShortText type value. Because
grn_obj_get_value() for accessor stops value resolving when there is
nonexistent reference.

With this change, grn_obj_get_value() always returns real value type
even if there is nonexistent reference.
Add a missing space between type name and "*"
Support "make install" without "make"

Reported by akira yamada. Thanks!!!
Add request cancel feature (experimental)

You can cancel a request by this feature with the following steps:

  1. Add "request_id" parameter to your request. For example:

     * "select Table --query 'body:@keyword' --request_id ID"
     * "/d/select?table=Table&query=body:@keyword&request_id=ID"

     Note that the "request_id" value should be unique in concurrent
     requests.

  2. Call "request_cancel" command with the request ID. For example:

     * "request_cancel ID"
     * "/d/request_cancel?id=ID"

  3. "request_cancel" returns the following body:

         {
           "id": "ID",
           "canceled": true
         }

      * Note that the request ID doesn't exist, "canceled" value is false.
      * You can call "request_cancel" multiple times with the same
        request ID.

  4. Request that is specified by the request ID will be canceled. The
     response has -5 (GRN_INTERRUPTED_FUNCTION_CALL) as status code.

TODO:

  * Document me.
  * Test me.
doc ja: remove a needless preceding new line
Update files
Consider the case when some of split chunks become empty.
Update mruby

    % make -C vendor/mruby update
request-canceler: just set ctx->rc for canceling

Error message and logging are done at unregistering the request.
test: add a test for 'vector @ "element"'
deb: add missing copyright
admin: fix wrong file path
Remove needless warning

We accept C99 source. For example, mruby source.
ii: check grn_ii_delete_one()'s return value
Remove declaration of nonexistent function
Add grn_db_recover()

It's an experimental API.

You should use this API carefully. You don't use this API when other
process or thread open the target database. If you use this API for
database that is opened by other process or thread, the database may be
broken.

grn_db_recover() checks the target database. If there are broken objects
by crash(*), it tries to recover it.

(*) Broken objects are detected by checking whether IO lock is remained
or not. Because crash may remain IO lock. If other process or thread
open the database, IO lock may be remained. But the IO lock is normal
lock not unexpected IO lock. So broken objects detection may be failed.

For now, index column is only supported for broken objects detection and
recovering.

TODO:

  * Document me.
  * Support broken object detection other objects.
groonga: add --recover option

This feature is experimental.

You should use this feature carefully. You should this feature when
other process or thread doesn't open the target database. You may break
existing database if other process or thread open the same database.