Because the many-to-many relationships are not real relationships,
they can not be introspected with DBIx::Class. Many-to-many
relationships are actually just a collection of convenience methods
installed to bridge two relationships. This DBIx::Class component
can be used to store all relevant information about these
non-relationships so they can later be introspected and examined.
This module is fairly esoteric and, unless you are dynamically
creating something out of of a DBIC Schema, is probably the wrong
solution for whatever it is you are trying to do. Please be advised
that compatibility is not guaranteed for DBIx::Class 0.09000+. We
will try to mantain all compatibility, but internal changes might
make it impossible.
* Fix a bug in the page cache that can lead database corruption following
a rollback. This bug was first introduced in version 3.6.4.
* Two other very minor bug fixes
* Fix a define that prevented memsys5 from compiling
* Fix a problem in the virtual table commit mechanism that was causing
a crash in FTS3.
* Add the application-defined page cache
* Added built-in support for VxWorks
Changes 3.6.5:
* Add the MEMORY option to the journal_mode pragma.
* Added the sqlite3_db_mutex() interface.
* Added the SQLITE_OMIT_TRUNCATE_OPTIMIZATION compile-time option.
* Fixed the truncate optimization so that sqlite3_changes() and
sqlite3_total_changes() interfaces and the count_changes pragma return
the correct values.
* Added the sqlite3_extended_errcode() interface.
* The COMMIT command now succeeds even if there are pending queries. It returns * SQLITE_BUSY if there are pending incremental BLOB I/O requests.
* The error code is changed to SQLITE_BUSY (instead of SQLITE_ERROR) when
an attempt is made to ROLLBACK while one or more queries are still pending.
* Drop all support for the experimental memory allocators memsys4 and memsys6.
* Added the SQLITE_ZERO_MALLOC compile-time option.
important change: 3.51.12 doesn't work anymore with mysql-client-5.0.67nb1,
a function has been removed from the mysql-client library.
Other changes:
* lots of bug fixes
* Added FLAG_COLUMN_SIZE_S32 to limit the reported column size to a
signed 32-bit integer. This option is automatically enabled for ADO
applications, in order to work around a bug in ADO. (Bug #13776)
* Added FLAG_MULTI_STATEMENTS to allow issuing queries that contain
multiple statements. Also added to the setup GUI. (Bug #7445)
* Removed support for the TRACE and TRACEFILE DSN options. The standard
ODBC logging should be used.
* Added support for SQL_ATTR_ROW_BIND_OFFSET_PTR in normal cursors.
(Bug #6741)
* Added SSL options to the GUI setup dialog.
* Added an option (CHARSET) for specifying the default character
set for a connection. This must be used instead of a "SET NAMES"
statement. Also available from the GUI setup dialog. (Related
to Bug #6667 and Bug #9498.)
* Dis-allow NULL ptr for null indicator when calling SQLGetData()
if value is null. Now returns SQL_ERROR w/state 22002.
* Fixed calling convention ptr and wrong free in myodbc3i, and fixed
the null terminating (was only one, not two) when writing DSN to string.
* Added support for using SSL. This is not yet exposed in the setup GUI,
but must be enabled through configuration files or the DSN. (Bug #12918)
* Added auto-reconnect option because automatic reconnect is now
disabled by default in libmysql
* Added auto is null option (Bug #10910)
* Added support for SQLMoreResults
* Checking SQL_ATTR_CONNECTION_DEAD now always calls mysql_ping() to
check for a dead connection.
* Remove ODBC escape syntax { and } that begin and terminate statements,
allowing {CALL (?)} for procedures that don't require OUT or INOUT
parameters
* Improved regression tests
* Added --with-separate-debug-driver ./configure option
2008-10-24 Patrick Galbraith <patg@patg.net> (4.010)
* Fix to dbd_bind_ph() for uninitialized value 'buffer_length'
thanks for bug report and patch from Askniel.com (thanks!)
2008-10-21 Patrick Galbraith <patg@patg.net> (4.009)
* Fix to re-enable TAKE_IMP_DATA_VERSION. Still have to ensure DBI version 1.607 or higher
* Fix to escaped single quotes throwing off bind param detection. Patch from Zhurs (zhurs@yandex.ru) Spasibo!
2008-8-15 Patrick Galbraith <patg@patg.net> (4.008)
* Multi statement patch, thanks to Chris Heath!
* Disabled TAKE_IMP_DATA_VERSION because segfault with DBI < 1.607
* #29528: bind_param(..., SQL_FLOAT) ignores exponents - fixed, Thanks to
Tokuhiro Matsuno!
* Cleanups to make mysqlEmb work under Cygwin - Thanks to Chris Rodgers
<http://rodgers.org.uk/> !
* Modified and disabled tests for MySQL version < 4.1 for unsupported features
2008-5-11 Patrick Galbraith <patg@patg.net> (4.007)
* Took out mysql_server_init call where not needed
* Complete re-write of test suit to use Test::More - tons of cleanups!
* Makefile.PL changes to use current user in 'make test' if not defined
* Fix GiST index corruption due to marking the wrong index entry
"dead" after a deletion.
This would result in index searches failing to find rows they
should have found.
* Fix backend crash when the client encoding cannot represent a
localized error message.
We have addressed similar issues before, but it would still fail if
the "character has no equivalent" message itself couldn't be
converted. The fix is to disable localization and send the plain
ASCII error message when we detect such a situation.
* Fix possible crash in bytea-to-XML mapping.
* Fix possible crash when deeply nested functions are invoked from a
trigger.
* Improve optimization of "expression" IN ("expression-list") queries.
* Fix mis-expansion of rule queries when a sub-SELECT appears in a
function call in FROM, a multi-row VALUES list, or a RETURNING list.
* Fix Assert failure during rescan of an IS NULL search of a GiST
index.
* Fix memory leak during rescan of a hashed aggregation plan.
* Ensure an error is reported when a newly-defined PL/pgSQL trigger
function is invoked as a normal function.
* Force a checkpoint before "CREATE DATABASE" starts to copy files.
* Prevent possible collision of relfilenode numbers when moving a
table to another tablespace with "ALTER SET TABLESPACE".
* Fix incorrect text search headline generation when single query
item matches first word of text.
* Fix improper display of fractional seconds in interval values when
using a non-ISO datestyle in an "--enable-integer-datetimes" build.
* Make ILIKE compare characters case-insensitively even when they're
escaped.
* Ensure "DISCARD" is handled properly by statement logging.
* Fix incorrect logging of last-completed-transaction time during
PITR recovery.
* Ensure SPI_getvalue and SPI_getbinval behave correctly when the
passed tuple and tuple descriptor have different numbers of columns.
* Mark SessionReplicationRole as PGDLLIMPORT so it can be used by
Slony on Windows.
* Fix small memory leak when using libpq's gsslib parameter.
* Ensure libgssapi is linked into libpq if needed.
* Fix ecpg's parsing of "CREATE ROLE".
* Fix recent breakage of pg_ctl restart.
* Ensure "pg_control" is opened in binary mode.
* Update time zone data files to tzdata release 2008i (for DST law
changes in Argentina, Brazil, Mauritius, Syria)
* Fix GiST index corruption due to marking the wrong index entry
"dead" after a deletion.
This would result in index searches failing to find rows they
should have found.
* Fix backend crash when the client encoding cannot represent a
localized error message.
We have addressed similar issues before, but it would still fail if
the "character has no equivalent" message itself couldn't be
converted. The fix is to disable localization and send the plain
ASCII error message when we detect such a situation.
* Fix possible crash when deeply nested functions are invoked from a
trigger.
* Improve optimization of "expression" IN ("expression-list") queries.
Cases in which there are query variables on the right-hand side had
been handled less efficiently in 8.2.x and 8.3.x than in prior
versions. The fix restores 8.1 behavior for such cases.
* Fix mis-expansion of rule queries when a sub-SELECT appears in a
function call in FROM, a multi-row VALUES list, or a RETURNING list.
* Fix memory leak during rescan of a hashed aggregation plan.
* Ensure an error is reported when a newly-defined PL/pgSQL trigger
function is invoked as a normal function.
* Prevent possible collision of relfilenode numbers when moving a
table to another tablespace with "ALTER SET TABLESPACE".
The command tried to re-use the existing filename, instead of
picking one that is known unused in the destination directory.
* Fix incorrect tsearch2 headline generation when single query item
matches first word of text.
* Fix improper display of fractional seconds in interval values when
using a non-ISO datestyle in an "--enable-integer-datetimes" build.
* Ensure SPI_getvalue and SPI_getbinval behave correctly when the
passed tuple and tuple descriptor have different numbers of columns.
* Fix ecpg's parsing of "CREATE ROLE".
* Fix recent breakage of pg_ctl restart.
* Ensure "pg_control" is opened in binary mode.
pg_controldata and pg_resetxlog did this incorrectly, and so could
fail on Windows.
* Update time zone data files to tzdata release 2008i (for DST law
changes in Argentina, Brazil, Mauritius, Syria)
* Fix GiST index corruption due to marking the wrong index entry
"dead" after a deletion.
This would result in index searches failing to find rows they
should have found.
* Fix backend crash when the client encoding cannot represent a
localized error message.
We have addressed similar issues before, but it would still fail if
the "character has no equivalent" message itself couldn't be
converted. The fix is to disable localization and send the plain
ASCII error message when we detect such a situation.
* Fix possible crash when deeply nested functions are invoked from a
trigger.
* Fix mis-expansion of rule queries when a sub-SELECT appears in a
function call in FROM, a multi-row VALUES list, or a RETURNING list
* Ensure an error is reported when a newly-defined PL/pgSQL trigger
function is invoked as a normal function.
* Prevent possible collision of relfilenode numbers when moving a
table to another tablespace with "ALTER SET TABLESPACE".
The command tried to re-use the existing filename, instead of
picking one that is known unused in the destination directory.
* Fix incorrect tsearch2 headline generation when single query item
matches first word of text.
* Fix improper display of fractional seconds in interval values when
using a non-ISO datestyle in an "--enable-integer-datetimes" build
* Ensure SPI_getvalue and SPI_getbinval behave correctly when the
passed tuple and tuple descriptor have different numbers of columns.
* Fix ecpg's parsing of "CREATE ROLE".
* Fix recent breakage of pg_ctl restart.
* Update time zone data files to tzdata release 2008i (for DST law
changes in Argentina, Brazil, Mauritius, Syria)
Changes:
# ----------------------------------------------------------
# 0.09001 2008-08-19
# ----------------------------------------------------------
* Added support for CREATE VIEW + tests in the mysql producer
(groditi)
* Added support for SET fields in the mysql producer + test (groditi)
* Added support for proper booleans in the mysql producer, when a
mysql version of at least 4.x is supplied
* Added support for proper enums under pg (as of 8.3), with pg
version check, and deferrable constraints
* Added support to truncate long constraint and index names in the
mysql producer, because of a change to DBIx::Class to produce such
long names in some cases.
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