Permalink
Browse files

sync with tokyocabinet-1.4.13.tar.gz

  • Loading branch information...
1 parent c14f5b3 commit eb6657adb8b4ce8ccb9439cd27410cf713d0be5f @etrepum etrepum committed Apr 6, 2009
Showing with 2,120 additions and 199 deletions.
  1. +11 −1 ChangeLog
  2. +14 −14 configure
  3. +6 −6 configure.in
  4. +1 −1 doc/index.html
  5. +1 −1 doc/index.ja.html
  6. +61 −5 doc/spex-en.html
  7. +64 −8 doc/spex-ja.html
  8. +50 −2 man/tcadb.3
  9. +6 −1 man/tcamgr.1
  10. +50 −2 man/tcfdb.3
  11. +1 −1 man/tokyocabinet.3
  12. BIN tako
  13. +282 −0 tcadb.c
  14. +65 −4 tcadb.h
  15. +89 −0 tcamgr.c
  16. +186 −1 tcatest.c
  17. +236 −36 tcbtest.c
  18. +548 −103 tcfdb.c
  19. +35 −2 tcfdb.h
  20. +292 −1 tcftest.c
  21. +1 −1 tchdb.c
  22. +83 −3 tchtest.c
  23. +3 −3 tcutil.h
  24. +35 −3 tokyocabinet.idl
View
@@ -1,10 +1,20 @@
+2009-04-02 Mikio Hirabayashi <mikio@users.sourceforge.net>
+
+ * configure.in: a bug related to support for traditional shells was fixed.
+
+ * tcfdb.c (tcfdbtranbegin, tcfdbtrancommit, tcfdbtranabort): new functions.
+
+ * tcadb.c (tcadbtranbegin, tcadbtrancommit, tcadbtranabort): new functions.
+
+ - Release: 1.4.13
+
2009-03-21 Mikio Hirabayashi <mikio@users.sourceforge.net>
* tctdb.c (tctdbqrycount): new function.
* tcadb.c (tcadbmisc): "count" option was added.
- - Release: 1.4.21
+ - Release: 1.4.12
2009-03-11 Mikio Hirabayashi <mikio@users.sourceforge.net>
View
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for tokyocabinet 1.4.12.
+# Generated by GNU Autoconf 2.61 for tokyocabinet 1.4.13.
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
@@ -572,8 +572,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='tokyocabinet'
PACKAGE_TARNAME='tokyocabinet'
-PACKAGE_VERSION='1.4.12'
-PACKAGE_STRING='tokyocabinet 1.4.12'
+PACKAGE_VERSION='1.4.13'
+PACKAGE_STRING='tokyocabinet 1.4.13'
PACKAGE_BUGREPORT=''
# Factoring default headers for most tests.
@@ -1192,7 +1192,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.12 to adapt to many kinds of systems.
+\`configure' configures tokyocabinet 1.4.13 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1253,7 +1253,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of tokyocabinet 1.4.12:";;
+ short | recursive ) echo "Configuration of tokyocabinet 1.4.13:";;
esac
cat <<\_ACEOF
@@ -1354,7 +1354,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-tokyocabinet configure 1.4.12
+tokyocabinet configure 1.4.13
generated by GNU Autoconf 2.61
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1368,7 +1368,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.12, which was
+It was created by tokyocabinet $as_me 1.4.13, which was
generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@
@@ -1724,7 +1724,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# Package information
MYLIBVER=8
-MYLIBREV=3
+MYLIBREV=4
MYFORMATVER="1.0"
# Targets
@@ -4191,7 +4191,7 @@ _ACEOF
fi
fi
-if test "$enable_exlzma" == "yes"
+if test "$enable_exlzma" = "yes"
then
{ echo "$as_me:$LINENO: checking for main in -llzma" >&5
@@ -4259,7 +4259,7 @@ _ACEOF
fi
fi
-if test "$enable_exlzo" == "yes"
+if test "$enable_exlzo" = "yes"
then
{ echo "$as_me:$LINENO: checking for main in -llzo2" >&5
@@ -5604,7 +5604,7 @@ fi
fi
-if test "$enable_exlzma" == "yes"
+if test "$enable_exlzma" = "yes"
then
if test "${ac_cv_header_lzmalib_h+set}" = set; then
{ echo "$as_me:$LINENO: checking for lzmalib.h" >&5
@@ -5741,7 +5741,7 @@ fi
fi
-if test "$enable_exlzo" == "yes"
+if test "$enable_exlzo" = "yes"
then
if test "${ac_cv_header_lzo_lzo1x_h+set}" = set; then
{ echo "$as_me:$LINENO: checking for lzo/lzo1x.h" >&5
@@ -6351,7 +6351,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.12, which was
+This file was extended by tokyocabinet $as_me 1.4.13, which was
generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -6394,7 +6394,7 @@ Report bugs to <bug-autoconf@gnu.org>."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-tokyocabinet config.status 1.4.12
+tokyocabinet config.status 1.4.13
configured by $0, generated by GNU Autoconf 2.61,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
View
@@ -7,11 +7,11 @@
#================================================================
# Package name
-AC_INIT(tokyocabinet, 1.4.12)
+AC_INIT(tokyocabinet, 1.4.13)
# Package information
MYLIBVER=8
-MYLIBREV=3
+MYLIBREV=4
MYFORMATVER="1.0"
# Targets
@@ -257,11 +257,11 @@ if test "$enable_bzip" != "no"
then
AC_CHECK_LIB(bz2, main)
fi
-if test "$enable_exlzma" == "yes"
+if test "$enable_exlzma" = "yes"
then
AC_CHECK_LIB(lzma, main)
fi
-if test "$enable_exlzo" == "yes"
+if test "$enable_exlzo" = "yes"
then
AC_CHECK_LIB(lzo2, main)
fi
@@ -286,11 +286,11 @@ if test "$enable_bzip" != "no"
then
AC_CHECK_HEADER(bzlib.h, true, AC_MSG_ERROR([bzlib.h is required]))
fi
-if test "$enable_exlzma" == "yes"
+if test "$enable_exlzma" = "yes"
then
AC_CHECK_HEADER(lzmalib.h, true, AC_MSG_ERROR([lzmalib.h is required]))
fi
-if test "$enable_exlzo" == "yes"
+if test "$enable_exlzo" = "yes"
then
AC_CHECK_HEADER(lzo/lzo1x.h, true, AC_MSG_ERROR([lzo/lzo1x.h is required]))
fi
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.12.tar.gz">Latest Source Package (version 1.4.12)</a></li>
+<li><a href="tokyocabinet-1.4.13.tar.gz">Latest Source Package (version 1.4.13)</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.12.tar.gz">最新のソースパッケージ(バージョン1.4.12)</a></li>
+<li><a href="tokyocabinet-1.4.13.tar.gz">最新のソースパッケージ(バージョン1.4.13)</a></li>
<li><a href="pastpkg/">過去のバージョン</a></li>
</ul>
View
@@ -121,7 +121,7 @@ <h3 id="features_tctdb">Flexible Implementation of Table Database</h3>
<h3 id="features_practical">Practical Functionality</h3>
-<p>Hash database and B+ tree database feature transaction mechanisms. It is possible to commit a series of operations between the beginning and the end of the transaction in a lump, or to abort the transaction and perform rollback to the state before the transaction. Two isolation levels are supported; serializable and read uncommitted. Durability is secured by write ahead logging and shadow paging.</p>
+<p>Databases on the filesystem feature transaction mechanisms. It is possible to commit a series of operations between the beginning and the end of the transaction in a lump, or to abort the transaction and perform rollback to the state before the transaction. Two isolation levels are supported; serializable and read uncommitted. Durability is secured by write ahead logging and shadow paging.</p>
<p>Tokyo Cabinet provides two modes to connect to a database: `reader' and `writer'. A reader can perform retrieving but neither storing nor deleting. A writer can perform all access methods. Exclusion control between processes is performed when connecting to a database by file locking. While a writer is connected to a database, neither readers nor writers can be connected. While a reader is connected to a database, other readers can be connect, but writers can not. According to this mechanism, data consistency is guaranteed with simultaneous connections in multitasking environment.</p>
@@ -4614,7 +4614,7 @@ <h3 id="tcfdbapi_api">API</h3>
<dt><code>bool tcfdbopen(TCFDB *<var>fdb</var>, const char *<var>path</var>, int <var>omode</var>);</code></dt>
<dd>`<var>fdb</var>' specifies the fixed-length database object which is not opened.</dd>
<dd>`<var>path</var>' specifies the path of the database file.</dd>
-<dd>`<var>omode</var>' specifies the connection mode: `FDBOWRITER' as a writer, `FDBOREADER' as a reader. If the mode is `FDBOWRITER', the following may be added by bitwise-or: `FDBOCREAT', which means it creates a new database if not exist, `FDBOTRUNC', which means it creates a new database regardless if one exists. Both of `FDBOREADER' and `FDBOWRITER' can be added to by bitwise-or: `FDBONOLCK', which means it opens the database file without file locking, or `FDBOLCKNB', which means locking is performed without blocking.</dd>
+<dd>`<var>omode</var>' specifies the connection mode: `FDBOWRITER' as a writer, `FDBOREADER' as a reader. If the mode is `FDBOWRITER', the following may be added by bitwise-or: `FDBOCREAT', which means it creates a new database if not exist, `FDBOTRUNC', which means it creates a new database regardless if one exists, `FDBOTSYNC', which means every transaction synchronizes updated contents with the device. Both of `FDBOREADER' and `FDBOWRITER' can be added to by bitwise-or: `FDBONOLCK', which means it opens the database file without file locking, or `FDBOLCKNB', which means locking is performed without blocking.</dd>
<dd>If successful, the return value is true, else, it is false.</dd>
</dl>
@@ -4994,6 +4994,33 @@ <h3 id="tcfdbapi_api">API</h3>
<dd>The database file is assured to be kept synchronized and not modified while the copying or executing operation is in progress. So, this function is useful to create a backup file of the database file.</dd>
</dl>
+<p>The function `tcfdbtranbegin' is used in order to begin the transaction of a fixed-length database object.</p>
+
+<dl class="api">
+<dt><code>bool tcfdbtranbegin(TCFDB *<var>fdb</var>);</code></dt>
+<dd>`<var>fdb</var>' specifies the fixed-length database object connected as a writer.</dd>
+<dd>If successful, the return value is true, else, it is false.</dd>
+<dd>The database is locked by the thread while the transaction so that only one transaction can be activated with a database object at the same time. Thus, the serializable isolation level is assumed if every database operation is performed in the transaction. All updated regions are kept track of by write ahead logging while the transaction. If the database is closed during transaction, the transaction is aborted implicitly.</dd>
+</dl>
+
+<p>The function `tcfdbtrancommit' is used in order to commit the transaction of a fixed-length database object.</p>
+
+<dl class="api">
+<dt><code>bool tcfdbtrancommit(TCFDB *<var>fdb</var>);</code></dt>
+<dd>`<var>fdb</var>' specifies the fixed-length database object connected as a writer.</dd>
+<dd>If successful, the return value is true, else, it is false.</dd>
+<dd>Update in the transaction is fixed when it is committed successfully.</dd>
+</dl>
+
+<p>The function `tcfdbtranabort' is used in order to abort the transaction of a fixed-length database object.</p>
+
+<dl class="api">
+<dt><code>bool tcfdbtranabort(TCFDB *<var>fdb</var>);</code></dt>
+<dd>`<var>fdb</var>' specifies the fixed-length database object connected as a writer.</dd>
+<dd>If successful, the return value is true, else, it is false.</dd>
+<dd>Update in the transaction is discarded when it is aborted. The state of the database is rollbacked to before transaction.</dd>
+</dl>
+
<p>The function `tcfdbpath' is used in order to get the file path of a fixed-length database object.</p>
<dl class="api">
@@ -6242,7 +6269,7 @@ <h3 id="tcadbapi_api">API</h3>
<dl class="api">
<dt><code>int tcadbaddint(TCADB *<var>adb</var>, const void *<var>kbuf</var>, int <var>ksiz</var>, int <var>num</var>);</code></dt>
-<dd>`<var>adb</var>' specifies the abstract database object connected as a writer.</dd>
+<dd>`<var>adb</var>' specifies the abstract database object.</dd>
<dd>`<var>kbuf</var>' specifies the pointer to the region of the key.</dd>
<dd>`<var>ksiz</var>' specifies the size of the region of the key.</dd>
<dd>`<var>num</var>' specifies the additional value.</dd>
@@ -6254,7 +6281,7 @@ <h3 id="tcadbapi_api">API</h3>
<dl class="api">
<dt><code>double tcadbadddouble(TCADB *<var>adb</var>, const void *<var>kbuf</var>, int <var>ksiz</var>, double <var>num</var>);</code></dt>
-<dd>`<var>adb</var>' specifies the abstract database object connected as a writer.</dd>
+<dd>`<var>adb</var>' specifies the abstract database object.</dd>
<dd>`<var>kbuf</var>' specifies the pointer to the region of the key.</dd>
<dd>`<var>ksiz</var>' specifies the size of the region of the key.</dd>
<dd>`<var>num</var>' specifies the additional value.</dd>
@@ -6288,6 +6315,33 @@ <h3 id="tcadbapi_api">API</h3>
<dd>The database file is assured to be kept synchronized and not modified while the copying or executing operation is in progress. So, this function is useful to create a backup file of the database file.</dd>
</dl>
+<p>The function `tcadbtranbegin' is used in order to begin the transaction of an abstract database object.</p>
+
+<dl class="api">
+<dt><code>bool tcadbtranbegin(TCADB *<var>adb</var>);</code></dt>
+<dd>`<var>adb</var>' specifies the abstract database object.</dd>
+<dd>If successful, the return value is true, else, it is false.</dd>
+<dd>The database is locked by the thread while the transaction so that only one transaction can be activated with a database object at the same time. Thus, the serializable isolation level is assumed if every database operation is performed in the transaction. All updated regions are kept track of by write ahead logging while the transaction. If the database is closed during transaction, the transaction is aborted implicitly.</dd>
+</dl>
+
+<p>The function `tcadbtrancommit' is used in order to commit the transaction of an abstract database object.</p>
+
+<dl class="api">
+<dt><code>bool tcadbtrancommit(TCADB *<var>adb</var>);</code></dt>
+<dd>`<var>adb</var>' specifies the abstract database object.</dd>
+<dd>If successful, the return value is true, else, it is false.</dd>
+<dd>Update in the transaction is fixed when it is committed successfully.</dd>
+</dl>
+
+<p>The function `tcadbtranabort' is used in order to abort the transaction of an abstract database object.</p>
+
+<dl class="api">
+<dt><code>bool tcadbtranabort(TCADB *<var>adb</var>);</code></dt>
+<dd>`<var>adb</var>' specifies the abstract database object.</dd>
+<dd>If successful, the return value is true, else, it is false.</dd>
+<dd>Update in the transaction is discarded when it is aborted. The state of the database is rollbacked to before transaction.</dd>
+</dl>
+
<p>The function `tcadbrnum' is used in order to get the number of records of an abstract database object.</p>
<dl class="api">
@@ -6401,7 +6455,7 @@ <h3 id="tcadbapi_cli">CLI</h3>
<p>This command returns 0 on success, another on failure.</p>
-<p>The command `<code>tcamgr</code>' is a utility for test and debugging of the abstract database API and its applications. `<var>name</var>' specifies the name of a database. `<var>key</var>' specifies the key of a record. `<var>value</var>' specifies the value of a record. `<var>func</var>' specifies the name of a function. `<var>arg</var>' specifies the arguments of the function.</p>
+<p>The command `<code>tcamgr</code>' is a utility for test and debugging of the abstract database API and its applications. `<var>name</var>' specifies the name of a database. `<var>key</var>' specifies the key of a record. `<var>value</var>' specifies the value of a record. `<var>func</var>' specifies the name of a function. `<var>arg</var>' specifies the arguments of the function. `<var>dest</var>' specifies the path of the destination file.</p>
<dl class="api">
<dt><code>tcamgr create <var>name</var></code></dt>
@@ -6418,6 +6472,8 @@ <h3 id="tcadbapi_cli">CLI</h3>
<dd>Print keys of all records, separated by line feeds.</dd>
<dt><code>tcamgr misc [-sx] [-sep <var>chr</var>] [-px] <var>name</var> <var>func</var> [<var>arg</var>...]</code></dt>
<dd>Call a versatile function for miscellaneous operations.</dd>
+<dt><code>tcamgr map [-fm <var>str</var>] <var>name</var> <var>dest</var></code></dt>
+<dd>Map records into another B+ tree database.</dd>
<dt><code>tcamgr version</code></dt>
<dd>Print the version information of Tokyo Cabinet.</dd>
</dl>
Oops, something went wrong.

0 comments on commit eb6657a

Please sign in to comment.