Permalink
Browse files

sync with tokyotyrant-1.4.28.tar.gz

  • Loading branch information...
1 parent 5f0f683 commit 7581b07d9e4f3ede25658affe7b2e6322d6ce3b6 @clement committed Jul 3, 2009
Showing with 1,875 additions and 493 deletions.
  1. +14 −0 ChangeLog
  2. +2 −0 Makefile.in
  3. +10 −10 configure
  4. +2 −2 configure.in
  5. +1 −1 doc/index.html
  6. +1 −1 doc/index.ja.html
  7. +20 −5 doc/spex-en.html
  8. +24 −5 doc/spex-ja.html
  9. BIN doc/tokyoproducts.pdf
  10. BIN doc/tokyoproducts.ppt
  11. +27 −3 example/Makefile
  12. +1 −1 example/tctchat.c
  13. +13 −16 example/tctchat.tmpl
  14. +94 −0 example/tctsearch.c
  15. +122 −0 example/tctsearch.tmpl
  16. +48 −20 lab/htmldoctotsv
  17. +22 −0 man/tctdb.3
  18. +6 −2 man/tctmgr.1
  19. +3 −1 man/tcucodec.1
  20. +4 −1 man/tcutil.3
  21. +1 −1 man/tokyocabinet.3
  22. +1 −1 tcadb.c
  23. +1 −1 tcbmgr.c
  24. +10 −8 tcbtest.c
  25. +1 −1 tcfdb.c
  26. +1 −1 tcfmgr.c
  27. +10 −8 tcftest.c
  28. +1 −1 tchdb.c
  29. +1 −1 tchmgr.c
  30. +10 −8 tchtest.c
  31. +691 −244 tctdb.c
  32. +72 −0 tctdb.h
  33. +107 −23 tctmgr.c
  34. +4 −0 tctmttest.c
  35. +42 −10 tcttest.c
  36. +30 −4 tcucodec.c
  37. +11 −1 tcutest.c
  38. +402 −98 tcutil.c
  39. +60 −14 tcutil.h
  40. +5 −0 tokyocabinet.idl
View
@@ -1,3 +1,17 @@
+2009-06-22 Mikio Hirabayashi <mikio@users.sourceforge.net>
+
+ * tcutil.c (tcstrutfnorm, tcstrkwic, tcstrtokenize): new functions.
+
+ * tcutil.c (tcstrutfnorm, tcstrucsnorm): "TCUNWIDTH" option was added.
+
+ * tctdb.c (tctdbsetinvcache, tctdbidxsyncicc, tctdbidxcmpkey): new functions.
+
+ * tctdb.c (tctdbmetasearch, tctdbget4, tctdbqrykwic): new functions.
+
+ * tctdb.c (tctdbsetindeximpl): the xmsiz parameter is now configured.
+
+ - Release: 1.4.28
+
2009-06-16 Mikio Hirabayashi <mikio@users.sourceforge.net>
* tcutil.c (tcstrskipspc, tcstrucsnorm): new functions.
View
@@ -472,6 +472,8 @@ check-tdb :
$(RUNENV) $(RUNCMD) ./tctmgr search -m 10 -ord name STRDESC -pv -ph casket > check.out
$(RUNENV) $(RUNCMD) ./tctmgr search -m 10 -ord name STRDESC -pv -ph casket \
name STRBW mi birth NUMBT 19700101,19791231 lang STRAND ja,en > check.out
+ $(RUNENV) $(RUNCMD) ./tctmgr search -ord birth NUMDESC -pv -ms UNION casket \
+ name STREQ mikio name STRINC fal name FTSEX "ba na na"
$(RUNENV) $(RUNCMD) ./tctmgr setindex casket name
$(RUNENV) $(RUNCMD) ./tctmgr setindex -it dec casket birth
$(RUNENV) $(RUNCMD) ./tctmgr setindex casket lang
View
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.63 for tokyocabinet 1.4.27.
+# Generated by GNU Autoconf 2.63 for tokyocabinet 1.4.28.
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
@@ -594,8 +594,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='tokyocabinet'
PACKAGE_TARNAME='tokyocabinet'
-PACKAGE_VERSION='1.4.27'
-PACKAGE_STRING='tokyocabinet 1.4.27'
+PACKAGE_VERSION='1.4.28'
+PACKAGE_STRING='tokyocabinet 1.4.28'
PACKAGE_BUGREPORT=''
# Factoring default headers for most tests.
@@ -1283,7 +1283,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures tokyocabinet 1.4.27 to adapt to many kinds of systems.
+\`configure' configures tokyocabinet 1.4.28 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1344,7 +1344,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of tokyocabinet 1.4.27:";;
+ short | recursive ) echo "Configuration of tokyocabinet 1.4.28:";;
esac
cat <<\_ACEOF
@@ -1448,7 +1448,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-tokyocabinet configure 1.4.27
+tokyocabinet configure 1.4.28
generated by GNU Autoconf 2.63
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1462,7 +1462,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by tokyocabinet $as_me 1.4.27, which was
+It was created by tokyocabinet $as_me 1.4.28, which was
generated by GNU Autoconf 2.63. Invocation command line was
$ $0 $@
@@ -1833,7 +1833,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# Package information
MYLIBVER=8
-MYLIBREV=18
+MYLIBREV=19
MYFORMATVER="1.0"
# Targets
@@ -6719,7 +6719,7 @@ exec 6>&1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by tokyocabinet $as_me 1.4.27, which was
+This file was extended by tokyocabinet $as_me 1.4.28, which was
generated by GNU Autoconf 2.63. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -6769,7 +6769,7 @@ Report bugs to <bug-autoconf@gnu.org>."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\
-tokyocabinet config.status 1.4.27
+tokyocabinet config.status 1.4.28
configured by $0, generated by GNU Autoconf 2.63,
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
View
@@ -7,11 +7,11 @@
#================================================================
# Package name
-AC_INIT(tokyocabinet, 1.4.27)
+AC_INIT(tokyocabinet, 1.4.28)
# Package information
MYLIBVER=8
-MYLIBREV=18
+MYLIBREV=19
MYFORMATVER="1.0"
# Targets
View
@@ -126,7 +126,7 @@ <h2 id="packages">Packages</h2>
<p>The following are the source packages of Tokyo Cabinet. As for binary packages, see the site of each distributor.</p>
<ul>
-<li><a href="tokyocabinet-1.4.27.tar.gz">Latest Source Package (version 1.4.27)</a></li>
+<li><a href="tokyocabinet-1.4.28.tar.gz">Latest Source Package (version 1.4.28)</a></li>
<li><a href="pastpkg/">Past Versions</a></li>
</ul>
View
@@ -167,7 +167,7 @@ <h2 id="packages">ダウンロード</h2>
<p>以下のソースパッケージをダウンロードしてください。バイナリパッケージについては、各ディストリビュータのサイトをご覧ください。</p>
<ul>
-<li><a href="tokyocabinet-1.4.27.tar.gz">最新のソースパッケージ(バージョン1.4.27)</a></li>
+<li><a href="tokyocabinet-1.4.28.tar.gz">最新のソースパッケージ(バージョン1.4.28)</a></li>
<li><a href="pastpkg/">過去のバージョン</a></li>
</ul>
View
@@ -118,7 +118,7 @@ <h3 id="features_tctdb">Flexible Implementation of Table Database</h3>
<p>Table database does not express simple key/value structure but expresses a structure like a table of relational database. Each record is identified by the primary key and has a set of multiple columns named with arbitrary strings. For example, a stuff in your company can be expressed by a record identified by the primary key of the employee ID number and structured by columns of his name, division, salary, and so on. Unlike relational database, table database does not need to define any data schema and can contain records of various structures different from each other.</p>
-<p>Table database supports query functions with not only the primary key but also with conditions about arbitrary columns. Each column condition is composed of the name of a column and a condition expression. Operators of full matching, forward matching, regular expression matching, and so on are provided for the string type. Operators of full matching, range matching and so on are provided for the number type. A query can contain multiple conditions. The order of the result set can be specified as the ascending or descending order of strings or numbers.</p>
+<p>Table database supports query functions with not only the primary key but also with conditions about arbitrary columns. Each column condition is composed of the name of a column and a condition expression. Operators of full matching, forward matching, regular expression matching, and so on are provided for the string type. Operators of full matching, range matching and so on are provided for the number type. Operators for tag search and full-text search are also provided. A query can contain multiple conditions for logical intersection. Search by multiple queries for logical union is also available. The order of the result set can be specified as the ascending or descending order of strings or numbers.</p>
<p>You can create indices for arbitrary columns to improve performance of search and sorting. Although columns do not have data types, indices have types for strings or numbers. Inverted indices for space separated tokens and character N-gram tokens are also supported. The query optimizer uses indices in suitable way according to each query. Indices are implemented as different files of B+ tree database.</p>
@@ -2098,9 +2098,10 @@ <h3 id="tcutilapi_miscapi">API of Miscellaneous Utilities</h3>
<dl class="api">
<dt><code>void tcstrucstoutf(const uint16_t *<var>ary</var>, int <var>num</var>, char *<var>str</var>);</code></dt>
-<dd>`<var>ary</var>' specifies the array of UCS-2 code codes.</dd>
+<dd>`<var>ary</var>' specifies the array of UCS-2 codes.</dd>
<dd>`<var>num</var>' specifies the number of the array.</dd>
<dd>`<var>str</var>' specifies the pointer to the region into which the result UTF-8 string is written. The size of the buffer should be sufficient.</dd>
+<dd>The return value is the length of the result string.</dd>
</dl>
<p>The function `tcstrsplit' is used in order to create a list object by splitting a string.</p>
@@ -2842,7 +2843,7 @@ <h3 id="tcutilapi_cli">CLI</h3>
<dd>Process XML. By default, escape meta characters.</dd>
<dt><code>tcucodec cstr [-d] [-js] [<var>file</var>]</code></dt>
<dd>Perform C-string escaping and its unescaping.</dd>
-<dt><code>tcucodec ucs [-d] [-un] [<var>file</var>]</code></dt>
+<dt><code>tcucodec ucs [-d] [-un] [-kw <var>str</var>] [<var>file</var>]</code></dt>
<dd>Convert UTF-8 string into UCS-2 array.</dd>
<dt><code>tcucodec hash [-crc] [-ch <var>num</var>] [<var>file</var>]</code></dt>
<dd>Calculate the hash value. By default, use MD5 function.</dd>
@@ -2871,6 +2872,7 @@ <h3 id="tcutilapi_cli">CLI</h3>
<li><code>-crc</code> : use CRC32 function.</li>
<li><code>-js</code> : use JSON compatible format.</li>
<li><code>-un</code> : perform UCS normalization.</li>
+<li><code>-kw <var>str</var></code> : generate KWIC string.</li>
<li><code>-ch <var>num</var></code> : use consistent hashing function.</li>
<li><code>-ds <var>str</var></code> : specify the time.</li>
<li><code>-jl <var>num</var></code> : specify the jet lag.</li>
@@ -5751,6 +5753,17 @@ <h3 id="tctdbapi_api">API</h3>
<dd>The return value is the hint string.</dd>
</dl>
+<p>The function `tctdbmetasearch' is used in order to retrieve records with multiple query objects and get the set of the result.</p>
+
+<dl class="api">
+<dt><code>TCLIST *tctdbmetasearch(TDBQRY **<var>qrys</var>, int <var>num</var>, int <var>type</var>);</code></dt>
+<dd>`<var>qrys</var>' specifies an array of the query objects.</dd>
+<dd>`<var>num</var>' specifies the number of elements of the array.</dd>
+<dd>`<var>type</var>' specifies a set operation type: `TDBMSUNION' for the union set, `TDBMSISECT' for the intersection set, `TDBMSDIFF' for the difference set.</dd>
+<dd>The return value is a list object of the primary keys of the corresponding records. This function does never fail. It returns an empty list even if no record corresponds.</dd>
+<dd>If the first query object has the order setting, the result array is sorted by the order. Because the object of the return value is created with the function `tclistnew', it should be deleted with the function `tclistdel' when it is no longer in use.</dd>
+</dl>
+
<h3 id="tctdbapi_example">Example Code</h3>
<p>The following code is an example to use a table database.</p>
@@ -5952,7 +5965,7 @@ <h3 id="tctdbapi_cli">CLI</h3>
<dd>Print the value of a record.</dd>
<dt><code>tctmgr list [-nl|-nb] [-m <var>num</var>] [-pv] [-px] [-fm <var>str</var>] <var>path</var></code></dt>
<dd>Print the primary keys of all records, separated by line feeds.</dd>
-<dt><code>tctmgr search [-nl|-nb] [-ord <var>name</var> <var>type</var>] [-m <var>num</var>] [-sk <var>num</var>] [-pv] [-px] [-ph] [-bt <var>num</var>] [-rm] <var>path</var> [<var>name</var> <var>op</var> <var>expr</var> ...]</code></dt>
+<dt><code>tctmgr search [-nl|-nb] [-ord <var>name</var> <var>type</var>] [-m <var>num</var>] [-sk <var>num</var>] [-kw] [-pv] [-px] [-ph] [-bt <var>num</var>] [-rm] [-ms <var>type</var>] <var>path</var> [<var>name</var> <var>op</var> <var>expr</var> ...]</code></dt>
<dd>Print records matching conditions, separated by line feeds.</dd>
<dt><code>tctmgr optimize [-tl] [-td|-tb|-tt|-tx] [-tz] [-nl|-nb] [-df] <var>path</var> [<var>bnum</var> [<var>apow</var> [<var>fpow</var>]]]</code></dt>
<dd>Optimize a database file.</dd>
@@ -5986,9 +5999,11 @@ <h3 id="tctdbapi_cli">CLI</h3>
<li><code>-fm <var>str</var></code> : specify the prefix of keys.</li>
<li><code>-ord <var>name</var> <var>type</var></code> : specify the order of the result.</li>
<li><code>-sk <var>num</var></code> : specify the number of skipped records.</li>
+<li><code>-kw</code> : print KWIC string.</li>
<li><code>-ph</code> : print hint information also.</li>
<li><code>-bt</code> : specify the number of benchmark tests.</li>
<li><code>-rm</code> : remove every record in the result.</li>
+<li><code>-ms <var>type</var></code> : specify the set operation of meta search.</li>
<li><code>-tz</code> : enable the option `UINT8_MAX'.</li>
<li><code>-df</code> : perform defragmentation only.</li>
<li><code>-it <var>type</var></code> : specify the index type among "lexical", "decimal", "token", "qgram", and "void".</li>
@@ -5997,7 +6012,7 @@ <h3 id="tctdbapi_cli">CLI</h3>
<li><code>-sc</code> : normalize keys as lower cases.</li>
</ul>
-<p>The operator of the `search' subcommand is one of "STREQ", "STRINC", "STRBW", "STREW", "STRAND", "STROR", "STROREQ", "STRRX", "NUMEQ", "NUMGT", "NUMGE", "NUMLT", "NUMLE", "NUMBT", "NUMOREQ", "FTSPH", "FTSAND", "FTSOR", and "FTSEX". If "~" preposes each operator, the logical meaning is reversed. If "+" preposes each operator, no index is used for the operator. The type of the `-ord' option is one of "STRASC", "STRDESC", "NUMASC", and "NUMDESC". This command returns 0 on success, another on failure.</p>
+<p>The operator of the `search' subcommand is one of "STREQ", "STRINC", "STRBW", "STREW", "STRAND", "STROR", "STROREQ", "STRRX", "NUMEQ", "NUMGT", "NUMGE", "NUMLT", "NUMLE", "NUMBT", "NUMOREQ", "FTSPH", "FTSAND", "FTSOR", and "FTSEX". If "~" preposes each operator, the logical meaning is reversed. If "+" preposes each operator, no index is used for the operator. The type of the `-ord' option is one of "STRASC", "STRDESC", "NUMASC", and "NUMDESC". The type of the `-ms' option is one of "UNION", "ISECT", and "DIFF". This command returns 0 on success, another on failure.</p>
<hr />
Oops, something went wrong.

0 comments on commit 7581b07

Please sign in to comment.