This module implements the pure Ruby client which connects to the server of
Tokyo Tyrant and speaks its original binary protocol.
Tokyo Tyrant is a package of network interface to the DBM called Tokyo Cabinet.
Though the DBM has high performance, you might bother in case that multiple
processes share the same database, or remote processes access the database.
Thus, Tokyo Tyrant is provided for concurrent and remote connections to Tokyo
Cabinet. It is composed of the server process managing a database and its access
library for client applications. The server can embed Lua, a lightweight script
language so that you can define arbitrary operations of the database.
The server features high concurrency due to thread-pool modeled implementation
and the epoll/kqueue mechanism of the modern Linux/*BSD kernel. The server and
its clients communicate with each other by simple binary protocol on TCP/IP.
Protocols compatible with memcached and HTTP/1.1 are also supported so that
almost all principal platforms and programming languages can use Tokyo Tyrant.
High availability and high integrity are also featured due to such mechanisms as
hot backup, update logging, and replication.
This module implements the pure Perl client which connects to the server of
Tokyo Tyrant and speaks its original binary protocol.
Tokyo Tyrant is a package of network interface to the DBM called Tokyo Cabinet.
Though the DBM has high performance, you might bother in case that multiple
processes share the same database, or remote processes access the database.
Thus, Tokyo Tyrant is provided for concurrent and remote connections to Tokyo
Cabinet. It is composed of the server process managing a database and its access
library for client applications. The server can embed Lua, a lightweight script
language so that you can define arbitrary operations of the database.
The server features high concurrency due to thread-pool modeled implementation
and the epoll/kqueue mechanism of the modern Linux/*BSD kernel. The server and
its clients communicate with each other by simple binary protocol on TCP/IP.
Protocols compatible with memcached and HTTP/1.1 are also supported so that
almost all principal platforms and programming languages can use Tokyo Tyrant.
High availability and high integrity are also featured due to such mechanisms as
hot backup, update logging, and replication.
Changes:
2008-10-19 Mikio Hirabayashi
* myconf.h: missing features of PATH_MAX and nan is now emulated.
* tcutil.c (tczeromap, tczerounmap): new functions.
- Release: 1.3.14
- 0.37 | 2008-05-24
- Configuration change: search $prefix for PostgreSQL headers/libs
- Change to pg-get-connection
This proc now returns #f if its arg's connection is no longer live.
You should probably avoid it altogether; see following NEWS item.
- Planned modesty
Currently, Guile-PG exposes some accounting (implementation) details
that it shouldn't. These are the "serial number" of connection and
result objects, and the link between a result object the connection
object where it originated. These details WILL BE REMOVED after
2008-10-01; do NOT rely on them. Practically speaking, this means
`pg-get-connection' will be deleted and the external representation
for the objects will drop the "N" field:
until 2008-10-01: #<PG-CONN:N:...> and #<PG-RESULT:N:...>
after 2008-10-01: #<PG-CONN:...> and #<PG-RESULT:...>
- Tests issue SQL commands directly to CREATE and DROP the test database
Previously "make check" required the commands createdb(1) and
dropdb(1) (or destroydb(1) for older PostgreSQL versions) to be
installed on the system. Now, the test infrastructure uses Guile-PG
module (database postgres) to connect to "template1" and issues SQL
commands "CREATE DATABASE" and "DROP DATABASE" directly.
- New (database postgres-meta) proc: information-schema-names
- New (database postgres-meta) proc: information-schema-coldefs
These procs describe Guile-PG's "standard introspection" support,
as specified in the PostgreSQL 7.4.19 documentation (chapter 32,
"The Information Schema").
Additionally, loading the module defines type converters for
`cardinal_number', `character_data' and `sql_identifier'. The
`time_stamp' type converter does not seem to be used and is not
provided.
- New pgtable-manager (and -worker) command: #:finish
This closes the (internal) connection and arranges for all future
invocations of the closure to signal a "dead connection" error.
- Proc `gxrepl' closes connection when done
- New support for #:FOO-all combiners in `parse+make-SELECT-tree'
This (database postgres-qcons) proc now supports #:union-all,
#:intersect-all and #:except-all, as combiners.
- Maintenance uses autoconf 2.62, automake 1.10.1, libtool 2.2.2
to trigger/signal a rebuild for the transition 5.8.8 -> 5.10.0.
The list of packages is computed by finding all packages which end
up having either of PERL5_USE_PACKLIST, BUILDLINK_API_DEPENDS.perl,
or PERL5_PACKLIST defined in their make setup (tested via
"make show-vars VARNAMES=...").
2008-10-19 Mikio Hirabayashi
* tcutil.c (tcmdbadddouble): NAN were replaced by the nan function.
* Makefile.in: the compilation command now supports Solaris.
- Release: 1.3.13
* Add option support for LIMIT and ORDER BY clauses on DELETE and UPDATE
statements. Only works if SQLite is compiled with
SQLITE_ENABLE_UPDATE_DELETE_LIMIT.
* Added the sqlite3_stmt_status() interface for performance monitoring.
* Add the INDEXED BY clause.
* The LOCKING_STYLE extension is now enabled by default on Mac OS-X
* Added the TRUNCATE option to PRAGMA journal_mode
* Performance enhancements to tree balancing logic in the B-Tree layer.
* Added the source code and documentation for the genfkey program for
automatically generating triggers to enforce foreign key constraints.
* Added the SQLITE_OMIT_TRUNCATE_OPTIMIZATION compile-time option.
* The SQL language documentation is converted to use syntax diagrams
instead of BNF.
* Other minor bug fixes
DBIx::Class::RDBOHelpers implements several methods with the same
names as those in Rose::DBx::Object::MoreHelpers. This class helps
ease compatability issues when using packages that expect these
methods to exist, like Rose::HTMLx::Form::Related and CatalystX::CRUD::YUI.
Most of these are convenience wrappers rather than implementing
any new features.
Upstream changes:
0.14 11 Sept 2008
* fix add_related() to forget_related() after save, so that
next access reflects the addition.
* move column sort disambiguation from
CatalystX::CRUD::YUI::Controller to here.
* support for 0.30 core api param name change
* add 'int' to column types registered as 'treat_like_int'
* fix query for _related methods.
* update tests to support new make_sql_query() format in core API
Pkgsrc changes:
o Add dependency on newly added p5-Search-QueryParser-SQL
Upstream changes:
0.31 16 Sept 2008
* add missing req to Makefile.PL
* force field_names to be an ARRAY ref in Utils make_sql_query()
0.30 11 Sept 2008
* fix uninit value warning in Controller
* change REST create() : Local to _rest_create() :
Path('create') to make it easier for create_form() to
call create() in superclass.
* clean up old style $self->config->{value} to instead use
$self->value in Controller
* add app_class() and model_meta() accessors to ModelAdapter
* in base Controller, rename view_on_single_result() method
to uri_for_view_on_single_result and make accessor for
the config value 'view_on_single_result'
* change all reserved param names in Model::Utils to use
'cxc-' prefix instead of '_'. Backwards compat is preserved
where possible.
* Model::Utils make_query() will uc() sort direction
* change behaviour of get_primary_key() in base Controller
to not look in req->params for pk values.
This allows for changing the PK as part of an update.
* add new() in REST to call next::method. Works around
(some) multiple inheritance issues.
* check for $c->res->location before redirecting in postcommit()
* Model::Utils was refactored to use Search::QueryParser::SQL.
The following methods were affected:
* sql_query_as_string() -- removed
* params_to_sql_query() -- now returns hashref with 3 items:
- query isa Search::QueryParser::SQL::Query object
- query_hash (formerly query) is a simple param-name =>
[values] hashref
- sql is the output of S::QP::S::Query->rdbo
* make_sql_query() -- returned hash ref now has query_hash
as plain_query value and the stringify'd Query object
as plain_query_str
Search::QueryParser::SQL is a subclass of Search::QueryParser.
Chiefly it extends the unparse() method to stringify free-text
search queries as valid SQL WHERE clauses.
The idea is to allow you to treat your database like a free-text
search index, when it really isn't.
This module parses a query string into a data structure to be
handled by external search engines. For examples of such engines,
see File::Tabular and Search::Indexer.
The query string can contain simple terms, "exact phrases", field
names and comparison operators, '+/-' prefixes, parentheses, and
boolean connectors.
Upstream changes:
0.36 30th September 2008
* Added support for $ENV->log_get_config and $ENV->log_set_config.
Patch supplied by Yuval Kogman (#39651 rt.cpan.org)
0.35 22nd September 2008
* Added a combination of independent patches from Claes Jakobsson
and Yuval Kogman (#38896 rt.cpan.org) to allow multi-key return
from a secondard database.
* Added support for sequences. Initial patch from Claes Jakobsson.
* Get associate to use a transaction if one is specified.
#5855 from rt.cpan.org
* Finish transition of test harness to use Test::More
Pkgsrc changes: fix dependency, this Perl module requires XML::SAX::Writer,
not XML::SAX; handle IPv6 support.
Changes since last packaged version (0.34):
perl-ldap 0.38 -- Sun Sep 21 09:17:25 CDT 2008
==============================================
Bug Fixes
* Fix bug in Net::LDAP::Extension using wrong field for resultCode
* Fix Net::LDAP::Control::PasswordPolicy decoding bug.
Enhancements
* Net::LDAP::Extension::SetPassword now supports controls
perl-ldap 0.37 -- Thu Aug 28 07:48:13 CDT 2008
==============================================
Bug Fixes
* Pass correct hostname to SASL when connecting to a round-robin
* Return the SASL error message when sasl client_start fails
Enhancements
* Add Modify Increment (RFC 4525) support
* Add Content Synchronization (RFC 4453) support
perl-ldap 0.36 -- Mon Apr 21 10:00:09 CDT 2008
==============================================
Bug Fixes
* Fixed Net::LDAP::constant to return correct names for values 0 - 9
* Fixed DSML test to be more tolerant of whitespace
Enhancements
* Added controls for PreRead & PostRead
perl-ldap 0.35 -- Sun Mar 30 13:35:04 CDT 2008
==============================================
Bug Fixes
* Fix wrapping in Net::LDAP::LDIF
* Patch from Gergely Santa to allow entries with no attributes in LDIF
* Fix modr?dn to fetch values in sclar context
* send packets in sizes that IO::Socket::SSL can chew
* Avoid attept to use undef as hash reference in ->sync
* Ensure Bind.pm presents final server response to SASL object
Enhancements
* Added vendorName/vendorVersion (RFC 3045) to root_dse()
* add option to support IPv6
* Allow Entry->deleted to be called with a single value is well as array ref
* Added Net::LDAP::Control::PasswordPolicy to support draft RFC
Tokyo Tyrant is a package of network interface to the DBM called Tokyo Cabinet.
Though the DBM has high performance, you might bother in case that multiple
processes share the same database, or remote processes access the database.
Thus, Tokyo Tyrant is provided for concurrent and remote connections to Tokyo
Cabinet. It is composed of the server process managing a database and its
access library for client applications.
The server features high concurrency due to thread-pool modeled implementation
and the epoll/kqueue mechanism of the modern Linux/*BSD kernel. The server and
its clients communicate with each other by simple binary protocol on TCP/IP.
Protocols compatible with memcached and HTTP/1.1 are also supported so that
almost all principal platforms and programming languages can use Tokyo Tyrant.
High availability and high integrity are also featured due to hot such
mechanisms as hot backup, update logging, and replication.
As for now, the server works on Linux, FreeBSD, Mac OS X only.
* detect short/truncated files on open (rrdtool used to crash later
on some platforms)
* stop rrd_resize from altering the original file (mmap side
effect)
* fix VDEF and SHIFT use. Now it returns correct data and does
not crash anymore.
* fix rrd_xport when used on datasources with different
resolutions. This has been broken from day 1 of this tools
exsitance.
* fixed default prefix for ruby install
* added rpath for perl bindings on bsd
* do not [fm]advise past the end of the file since this
causes crashes on sparc.
2008-09-23 Mikio Hirabayashi
* tchdb.c (tchdbputimpl): performance of the ADDINT mode was improved.
* tcbdb.c (tcbdbleafaddrec): performance of the ADDINT mode was improved.
* tcfdb.c (tcfdbputimpl): performance of the ADDINT mode was improved.
* tcutil.c (tcpagealign): new function.
* tchdb.c (tchdbsetxmsiz): the parameter is now rounded up to multiple of the page size.
* tcfdb.c (tcfdbtune): the parameter is now rounded up to multiple of the page size.
* tchdb.c (tcseekwrite, tcseekread, tcseekreadtry): page border handling was added.
- Release: 1.3.11
2008-09-20 Mikio Hirabayashi
* tcutil.c (tcunlock): new function.
* tchdb.c (tchdbsetmutex): useless locking was eliminated.
* tcbdb.c (tcbdbsetmutex): useless locking was eliminated.
* tcfdb.c (tcfdbsetmutex): useless locking was eliminated.
- Release: 1.3.10
2008-09-10 Mikio Hirabayashi
* tchdb.c (tchdblockallrecords, tchdbunlockallrecords): new functions.
* tcfdb.c (tcfdblockallrecords, tcfdbunlockallrecords): new functions.
- Release: 1.3.9
* Fix to STORE TRIGGER - store trigger was running against all nodes
upon subscription
* Portability changes to some tools/ scripts, fixing some
"bash-isms"
* Fix to switch statement in slonik.c; unknown how it broke
* Fix memory leak