* Make "DISCARD ALL" release advisory locks, in addition to
everything it already did
This was decided to be the most appropriate behavior. This could
affect existing applications, however.
* Fix whole-index GiST scans to work correctly
This error could cause rows to be lost if a table is clustered on a
GiST index.
* Fix crash of xmlconcat(NULL)
* Fix possible crash in ispell dictionary if high-bit-set characters
are used as flags
This is known to be done by one widely available Norwegian
dictionary, and the same condition may exist in others.
* Fix misordering of pg_dump output for composite types
The most likely problem was for user-defined operator classes to be
dumped after indexes or views that needed them.
* Improve handling of URLs in headline() function
* Improve handling of overlength headlines in headline() function
* Prevent possible Assert failure or misconversion if an encoding
conversion is created with the wrong conversion function for the
specified pair of encodings
* Fix possible Assert failure if a statement executed in PL/pgSQL is
rewritten into another kind of statement, for example if an
"INSERT" is rewritten into an "UPDATE"
* Ensure that a snapshot is available to datatype input functions
* Make it safer for SPI-using functions to be used within datatype
I/O; in particular, to be used in domain check constraints
* Avoid unnecessary locking of small tables in "VACUUM"
* Fix a problem that sometimes kept "ALTER TABLE ENABLE/DISABLE RULE"
from being recognized by active sessions
* Fix a problem that made UPDATE RETURNING tableoid return zero
instead of the correct OID
* Allow functions declared as taking ANYARRAY to work on the
pg_statistic columns of that type
This used to work, but was unintentionally broken in 8.3.
* Fix planner misestimation of selectivity when transitive equality
is applied to an outer-join clause
This could result in bad plans for queries like ... from a left
join b on a.a1 = b.b1 where a.a1 = 42 ...
* Improve optimizer's handling of long IN lists
This change avoids wasting large amounts of time on such lists when
constraint exclusion is enabled.
* Prevent synchronous scan during GIN index build
Because GIN is optimized for inserting tuples in increasing TID
order, choosing to use a synchronous scan could slow the build by a
factor of three or more.
* Ensure that the contents of a holdable cursor don't depend on the
contents of TOAST tables
* Fix memory leak when a set-returning function is terminated without
reading its whole result
* Fix encoding conversion problems in XML functions when the database
encoding isn't UTF-8
* Fix "contrib/dblink"'s dblink_get_result(text,bool) function
* Fix possible garbage output from "contrib/sslinfo" functions
* Fix incorrect behavior of "contrib/tsearch2" compatibility trigger
when it's fired more than once in a command
* Fix possible mis-signaling in autovacuum
* Support running as a service on Windows 7 beta
* Fix ecpg's handling of varchar structs
* Fix configure script to properly report failure when unable to
obtain linkage information for PL/Perl
* Make all documentation reference pgsql-bugs and/or pgsql-hackers as
appropriate, instead of the now-decommissioned pgsql-ports and
pgsql-patches mailing lists
* Update time zone data files to tzdata release 2009a (for Kathmandu
and historical DST corrections in Switzerland, Cuba)
* Improve handling of URLs in headline() function
* Improve handling of overlength headlines in headline() function
* Prevent possible Assert failure or misconversion if an encoding
conversion is created with the wrong conversion function for the
specified pair of encodings
* Fix possible Assert failure if a statement executed in PL/pgSQL is
rewritten into another kind of statement, for example if an
"INSERT" is rewritten into an "UPDATE"
* Ensure that a snapshot is available to datatype input functions
* Make it safer for SPI-using functions to be used within datatype
I/O; in particular, to be used in domain check constraints
* Avoid unnecessary locking of small tables in "VACUUM"
* Fix a problem that made UPDATE RETURNING tableoid return zero
instead of the correct OID
* Fix planner misestimation of selectivity when transitive equality
is applied to an outer-join clause
This could result in bad plans for queries like ... from a left
join b on a.a1 = b.b1 where a.a1 = 42 ...
* Improve optimizer's handling of long IN lists
This change avoids wasting large amounts of time on such lists when
constraint exclusion is enabled.
* Ensure that the contents of a holdable cursor don't depend on the
contents of TOAST tables
* Fix memory leak when a set-returning function is terminated without
reading its whole result
* Fix "contrib/dblink"'s dblink_get_result(text,bool) function
* Fix possible garbage output from "contrib/sslinfo" functions
* Fix configure script to properly report failure when unable to
obtain linkage information for PL/Perl
* Make all documentation reference pgsql-bugs and/or pgsql-hackers as
appropriate, instead of the now-decommissioned pgsql-ports and
pgsql-patches mailing lists
* Update time zone data files to tzdata release 2009a (for Kathmandu
and historical DST corrections in Switzerland, Cuba)
* Fix crash in autovacuum
The crash occurs only after vacuuming a whole database for
anti-transaction-wraparound purposes, which means that it occurs
infrequently and is hard to track down.
* Improve handling of URLs in headline() function
* Improve handling of overlength headlines in headline() function
* Prevent possible Assert failure or misconversion if an encoding
conversion is created with the wrong conversion function for the
specified pair of encodings
* Avoid unnecessary locking of small tables in "VACUUM"
* Ensure that the contents of a holdable cursor don't depend on the
contents of TOAST tables
* Fix uninitialized variables in "contrib/tsearch2"'s get_covers()
function
* Fix configure script to properly report failure when unable to
obtain linkage information for PL/Perl
* Make all documentation reference pgsql-bugs and/or pgsql-hackers as
appropriate, instead of the now-decommissioned pgsql-ports and
pgsql-patches mailing lists
* Update time zone data files to tzdata release 2009a (for Kathmandu
and historical DST corrections in Switzerland, Cuba)
2009-02-05 Mikio Hirabayashi <mikio@users.sourceforge.net>
* ttutil.c (ttservstart, ttservaddtimedhandler): multiple tasks are now supported.
* ttutil.c (ttsockrecv, ttsockgetint32, ttsockgetint64): performance was improved.
* ttserver.c (do_extpc): new function.
- Release: 1.1.14
2009-02-04 Mikio Hirabayashi <mikio@users.sourceforge.net>
* tcrdb.c (tcrdbqrysearchout): a bug related to the protocol format was fixed.
* tcrdb.c (tcrdbqrysearchget): new function.
- Release: 1.1.13
Changes:
2009-01-29 Mikio Hirabayashi <mikio@users.sourceforge.net>
* tcutil.c (tcmapputproc, tctreeputproc, tcmdbputproc, tcndbputproc): new functions.
* tchdb.c (tchdbputproc): new function.
* tchdb.c (TDBTHREADYIELD): "sched_yield" is now used instead of "pthread_yield".
* tcbdb.c (tcbdbputproc): new function.
* tcbdb.c (tcbdbcurkey, tcbdbcurval): the type of the return value was modified.
* tcfdb.c (tcfdbputproc): new function.
* tcadb.c (tcadbputproc): new function.
* tcadb.c (tcadbmisc): sub funcitons "put", "out", and "get" were added.
* tcadb.c (tcstrisnum): new function.
- Release: 1.4.4
One minor change to the rc.d script:
o Postpone setting pidfile to after /etc/rc.conf has been consulted,
so that a non-default setting of mysqld_datadir takes effect.
Without this, mysqld will not start with a non-default mysqld_datadir.
Should fix PR#30636.
Two changes to the rc.d script:
1) Move the setting of pidfile to a place so that setting mysqld_datadir
in rc.conf will actually work; otherwise, if you use a non-default
mysqld_datadir, mysqld will not start.
2) ad@ pointed me to http://bugs.mysql.com/bug.php?id=18526, and said
that --skip-thread-priority should not be used on NetBSD, and the
PR spoke about Darwin / OS/X. I'm guessing that this might work
if the host platform is Linux or SunOS (the latter is unconfirmed).
So add that option to the startup in all other cases.
Changes:
2009-01-21 Mikio Hirabayashi <mikio@users.sourceforge.net>
* tcutil.c (tcatof): new function.
* tcbdb.c (tcbdbleafaddrec): allocation tuning of duplicated records was modified.
* tcadb.c: all methods now support the table database API.
- Release: 1.4.2
Tokyo Cabinet is a library of routines for managing a database. The database is
a simple data file containing records, each is a pair of a key and a value.
Every key and value is serial bytes with variable length. Both binary data and
character string can be used as a key and a value. There is neither concept of
data tables nor data types. Records are organized in hash table, B+ tree, or
fixed-length array.
This package provides Lua binding of Tokyo Cabinet.
Changes:
2009-01-19 Mikio Hirabayashi <mikio@users.sourceforge.net>
* tcutil.c (tctdbsearchimpl): optimized with macros.
* tcbdb.c (tcbdbcurjumpimpl): a bug related to backword positioning was fixed.
* tctdb.c (tctdbsearchimpl): a bug related to numeric range search was fixed.
* tctdb.c (tctdbsetcache, tctdbforeach, tctdbqryproc): new functions.
* tctdb.c (tctdbqryonecondmatch): new function.
- Release: 1.4.1
2009-01-04 Mikio Hirabayashi <mikio@users.sourceforge.net>
* tcutil.c (tccmpdecimal): equal numbers are now distinct by lexical order.
* tcutil.c (tclistnew3, tcmapnew3): new functions.
* tcutil.c (tcatoix, tclistinvert, tclog2l, tclog2d): new functions.
* tcutil.c (tcstrsplit2, tcstrsplit3, tcstrsplit4): new functions.
* tcutil.c (tcstrjoin2, tcstrjoin3, tcstrjoin4): new functions.
* tchdb.c (tchdbputimpl): a bug of memory corruption was fixed.
* tchdb.c (tchdbgetnext3): new function.
* tcbdb.c (tcbdbleafaddrec): a bug of memory corruption was fixed.
* tcbdb.c (tcbdboptimizeimpl): a bug related to parameter accession was fixed.
* tctdb.h, tctdb.c, tcttest.c, tctmttest.c, tctmgr.c: new files.
- Release: 1.4.0
Pkgsrc changes:
o Update patch to Makefile.PL to avoid reading stdin.
Upstream changes: (Nothing marked 1.17 from upstream...)
Version 1.16_04, released 4 January, 2009
------------------------------------------
* added tests to prove valid quoting (most of them fail)
* Reformat the source
* add some (profiled) tweaks as removing useless regex to speed up SELECT
* Fixed Bugs:
* 14217 Does not correctly handle SQL statements with comments
* 15686 Join syntax is case-sensitive, and common columns in natural
joins are "ambiguous" [patch]
* 13080 Cannot update a field based on its previous value
* 26058 functions on computed columns aliased to the underlying column
name are not called
Version 1.16_03, released 1 January, 2009
------------------------------------------
* removed *.orig and *.rej relicts
Version 1.16_02, released 1 January, 2009
------------------------------------------
* Changing join_2_tables to reduce memory usage when joining a lot of tables
* Fixed Bugs:
* 15688 Columns aliased with double quotes are a fatal error
* 16579 Speed optimizations
* 30590 Bug in SQL::Statement::is_number()
* 41875 Bug in synopsis example
Version 1.16_01, released 1 January, 2009
------------------------------------------
* With this release, I'd like to welcome Jens Rehsack as co-maintainer of
the SQL::Statement and SQL::Parser modules. Jens has added in some
great improvements.
Thanks Jens! -- Jeff
* Adding a lot of join tests (once from Jeff, 48 from
PostgreSQL official handbook) - no error of them will be corrected in the
first run
Thanks to Alexander Breibach <alexander.breibach@gmx.de> -- Jens
1.5.0b2
- fixed bug #12117: disconnect() does not work as documented
- fixed bug #13815: incomplete regexp in the Reverse module
- fixed bug #13928: Invalid triggers created for 'ON UPDATE'
- fixed bug #14302: Connection errors were not always returned
1.5.0b1
- request #12731: added truncateTable() in the Manager module
- request #12732: added vacuum() in the Manager module for OPTIMIZE/VACUUM TABLE abstraction
- fixed bug #12924: correctly handle internal expected errors even with custom error handling
- added standaloneQuery() and databaseExists()
- request #13106: added unixtimestamp() in the Function module
- fixed bug #13201: better regexp in errorInfo()
- fixed bug #13283: replace() doesn't respect quote_identifiers option
- fixed bug #13303: PRIMARY keys are not always returned in listTableConstraints()
and in getTableConstraintDefinition()
1.5.0a2
- fixed bug #12105: new error message in the SQLite driver (patch by Adam Ashley)
- fixed bug #12145: missing optional spaces in regexp in _getTableColumns() in the
Reverse module
- request #12012: added charset support in createDatabase() and collation support
in createTable() for table fields
1.5.0a1
- initial support for FOREIGN KEY and CHECK constraints in the Reverse and Manager modules
(on FK creation, some triggers are automatically created to enforce the FK constraint)
- in listTableConstraints() in the Reverse module, also search in table definition
for PRIMARY KEYs and FOREIGN KEYs
- fixed bug #11428: propagate quote() errors with invalid data types
- fixed bug #11790: avoid array_diff() because it has a memory leak in PHP 5.1.x
- fixed bug #12083: createTable() in the Manager module now returns MDB2_OK on success,
as documented
- fixed bug #12146: wrong regex in _getTableColumns($sql) in the Reverse module
- fixed bug #12269: tableInfo() in the Reverse module detect 'clob' data type
as first option
1.5.0b2
- fixed bug #12117: disconnect() does not work as documented
- fixed bug #13481: getTableConstraintDefinition() may return incomplete results
- fixed bug #13877: UNIQUE index not always recognized as constraint
- fixed bug #14292: alterTable() cannot change column type when no implicit cast is defined
- fixed bug #14510: getTableFieldDefinition() does not unquote defaults
- fixed bug #14828: unixtimestamp() generates invalid SQL for non-constant argument
- fixed bug #15056: tableInfo does not work with pgsql schemas (added support to
table schemas to Manager module)
1.5.0b1
- request #12731: added truncateTable() in the Manager module
- request #12732: added vacuum() in the Manager module for OPTIMIZE/VACUUM TABLE abstraction
- request #12800: added alterDatabase() in the Manager module
- fixed bug #12846: missing escape in getSequenceName() on PostgreSQL 8.2.4
[thanks to Stephane Berthelot]
- fixed bug #12920: added new error info and fixed escape method if connection doesn't exist [afz]
- fixed bug #12922: use standaloneQuery() in alterDatabase() [afz]
- fixed bug #12924: correctly handle internal expected errors even with custom error handling
- added standaloneQuery() and databaseExists()
- fixed bug #13112: the Reverse module does not know the timestamptz data type
- request #13106: added unixtimestamp() in the Function module
- fixed bug #13281: list FOREIGN KEY constraints in listTableConstraints() in the Manager module
- fixed bug #13356: added float4 to _mapNativeDatatype()
- fixed query in getTableConstraintDefinition() for FK constraints in the Reverse module
(thanks to Andre Restivo)
1.5.0a2
- fixed bug #12376: getTableConstraintDefinition() in the Reverse module
uses incorrect column number in certain cases (thanks to Dennis Birne)
- request #12338: added 'disable_smart_seqname' option to make improved
getSequenceName() behaviour optional (thanks to Dennis Birne) (@see bug #9106)
- request #12012: added collation support in createDatabase()
1.5.0a1
- initial support for FOREIGN KEY and CHECK constraints in the Reverse and Manager modules
- fixed bug #10986: Using more random statement names (request #11625)
- request #11297: added support for "schema.table" (or "owner.table") notation
in the Reverse module (related to bug #11207)
- fixed bug #11428: propagate quote() errors with invalid data types
- fixed bug in MDB2_Statement_pgsql::_execute(), called property of invalid object
- fixed bug #11624: getSequenceName() returning incorrect results with multiple
schemas and 'SET search_path'
- fixed bug #11652: failed prepared queries containing the "::type" style of casting
- fixed bug #11694: remove data type cast from DEFAULT value in getTableFieldDefinition()
in the Reverse module
- fixed bug #11753: NOTICEs in alterTable() in the Manager module
- fixed bug #11790: avoid array_diff() because it has a memory leak in PHP 5.1.x
- fixed some E_STRICT errors with PHP5
- fixed bug #12083: createTable() in the Manager module now returns MDB2_OK on success,
as documented
- fixed bug #12269: tableInfo() in the Reverse module detect 'clob' data type
as first option
1.5.0b2
- fixed bug #12117: disconnect() does not work as documented
- fixed bug #13412: sometimes getTableConstraintDefinition() fails for FOREIGN KEYs
- fixed bug #13581: wrong query in beginTransaction() for certain MySQL versions
- request #13657: in setCharset(), use mysql_set_charset() if available [cwiedmann]
- fixed bug #13928: Invalid triggers created for 'ON UPDATE'
- fixed bug #15051: Cannot create constraints with field length
- add index on FK column(s) or a FK constraint cannot be created in some cases
1.5.0b1
- fixed bug #11831: createTable() now supports tables with a multi-field PRIMARY KEY
where one field is defined as AUTO_INCREMENT
- request #11204: support AUTO_INCREMENT for FLOAT data type and UNSIGNED option
for FLOAT and DECIMAL data type [afz]
- fixed bug #11692: value of $db->supports('transactions') changes after query [afz]
- request #12731: added truncateTable() in the Manager module
- request #12732: added vacuum() in the Manager module for OPTIMIZE/VACUUM TABLE abstraction
- request #12800: added alterDatabase() in the Manager module [afz]
- fixed quoting in createDatabase() in the Manager module
- fixed bug #12924: correctly handle internal expected errors even with custom error handling
- added standaloneQuery() and databaseExists()
- request #13106: added unixtimestamp() in the Function module
- fixed regexp in listTableConstraints() in the Manager module to list FOREIGN KEY constraints
- fixed bug #13180: MySQL driver tells SAVEPOINT is supported for MyISAM tables
- fixed bug #13283: replace() doesn't respect quote_identifiers option
- request #13313: setCharSet() supports 'COLLATE' too
- fixed bug #13370: some capabilities depend on user options, so check them after
a setOption() call
- when triggers are supported, two triggers are created to emulate ON UPDATE / ON DELETE actions
for FOREIGN KEY constraints. Known limitation: since mysql doesn't support multiple triggers
with the same action time and event for one table, if there are multiple table referencing
the same table, only the first one will have the triggers created.
1.5.0a2
- fixed bug #12516: error in FK constraint creation query
- request #12012: added charset/collation support in createDatabase()
1.5.0a1
- fixed bug #10024: Added new option 'lob_allow_url_include' (default false) to
[dis]allow inserting a LOB from an url (file, http, ...).
- fixed bug #10986: Using more random statement names (request #11625)
- fixed bug #11055: Using placeholders with := variable assignment fails [bekarau]
- initial support for FOREIGN KEY constraints in the Manager and Reverse modules
- request #11389: added many new MySQL 5.1 error codes in errorInfo()
- fixed bug #11428: propagate quote() errors with invalid data types
- fixed bug #11590: _getServerCapabilities() has to be called once per connection
- fixed bug #11790: avoid array_diff() because it has a memory leak in PHP 5.1.x
- fixed some E_STRICT errors with PHP5
- fixed bug #12010: MDB2_PORTABILITY_RTRIM option was ignored
- fixed bug #12083: createTable() in the Manager module now returns MDB2_OK on success,
as documented
- fixed bug #12217: mysql_num_rows() returns FALSE on failure, not NULL (thanks to zaa@zaa.pp.ru)
- fixed bug #12242: missing charset info in the Reverse module (patch by Carsten Wiedmann)
- fixed bug #12269: tableInfo() in the Reverse module detect 'clob' data type
as first option
- fixed bug #12336: supply default value for NOT NULL timestamp fields
2.5.0b2
- fixed bug #12117: disconnect() does not work as documented
- fixed bug #12912: replace() documentation
- fixed bug #13811: _skipDelimitedStrings() fails on empty strings
- fixed bug #13898: more tolerant check for 'new_link' DSN option
- request #13929: added 'default_fk_action_ondelete' and 'default_fk_action_onupdate'
options for default FOREIGN KEY constraints actions
- fixed bug #14124: _skipDelimitedStrings() and prepare() fail with sql comments
inside quoted strings
- fixed bug #14179: declaration of MDB2_Driver_Common::raiseError() must be
compatible with that of PEAR::raiseError()
- fixed doc bug #14290: connect should mention the type of object returned
- fixed bug #14831: $ignores in _skipDelimitedStrings() [patch by Aleksander Machniak]
2.5.0b1
- request #12731: added truncateTable() in the Manager module
- request #12732: added vacuum() in the Manager module for OPTIMIZE/VACUUM TABLE abstraction
- request #12800: added alterDatabase() in the Manager module [afz]
- fixed bug #12924: correctly handle internal expected errors even with custom error handling
- fixed bug #12991: new error code in errorInfo() [afz]
- added databaseExists() method [afz]
- request #13106: added unixtimestamp() in the Function module
- added max_identifiers_length option
2.5.0a2
- fixed bug #12358: E_STRICT changes in latest alpha broke PHP4 compatibility
- fixed bug #12351: wrong case for function PEAR::isError() in the Reverse module
[was: IsError()]
- fixed bug #12530: MDB2_Extended::autoPrepare() gives error if $types is null
- request #12012: added charset/collation support in createDatabase() for the
drivers that support this feature
- added bindname_format option (this is the regexp used to recognize named
placeholders in prepared statements)
2.5.0a1
- fixed bug #10024: Security fix for LOBs. Added an option to turn lob_allow_url_include off by default
- fixed bug #11179: prepared statements with named placeholders fail if extra values are provided
- request #11297: added support for "schema.table" (or "owner.table") notation in the Reverse module
- initial support for FOREIGN KEY and CHECK constraints in the Reverse and Manager modules
- fixed bug #11428: propagate quote() errors with invalid data types
- added new test cases in the test suite
- added LENGTH() function in the Function module
- fixed bug #11612: raiseError() must be compatible with PEAR::raiseError() [PHP6]
- fixed bug #11790: avoid array_diff() because it has a memory leak in PHP 5.1.x
- fixed bug #11906: quoteIdentifier fails for names with dots
- fixed bug #11975: Extended::autoExecute() does not work with Oracle when using LOBs
(patch by Pieter Meulen, van der)
- fixed some E_STRICT errors with PHP5
- fixed bug #12083: createTable() in the Manager module now returns MDB2_OK on success,
as documented
- fixed bug #12246: wrong check in MDB2::isStatement() (thanks to zaa@zaa.pp.ru)
This despite one of the selftests still fail.
Upstream changes:
2.11.8 Released December 28, 2008
- Fix minor bug in t/12placeholders.t test (CPAN bug #41723)
Upstream changes:
0.39 14 Jan 2009
* add missing file to MANIFEST that causes tests to fail in 0.38
0.38 12 Jan 2009
* use maybe::next::method
* fix view_on_single_result bug in Test::Controller
* Fix two bugs, which when combined might result in incorrect query results.
Both bugs were harmless by themselves; only when they team up do they cause
problems.
Changes 3.6.8:
* Added support for nested transactions.
* Enhanced the query optimizer so that it is able to use multiple indices
to efficiently process OR-connected constraints in a WHERE clause.
* Added support for parentheses in FTS3 query patterns using
the SQLITE_ENABLE_FTS3_PARENTHESIS compile-time option.
Testing with databases can be tricky. If you are developing a system
married to a single database then you can make some assumptions
about your environment and ask the user to provide relevant connection
information. But if you need to test a framework that uses DBI,
particularly a framework that uses different types of persistence
schemes, then it may be more useful to simply verify what the
framework is trying to do -- ensure the right SQL is generated and
that the correct parameters are bound. DBD::Mock makes it easy to
just modify your configuration (presumably held outside your code)
and just use it instead of DBD::Foo (like DBD::Pg or DBD::mysql)
in your framework.
4.7.3: (Python 2.6 release. First release with Python 3.0 support)
* "private" is a keyword in C++. (Duncan Grisby)
* setup.py should install "bsddb.h". (Duncan Grisby)
* "DB_remove" memory corruption & crash. (Duncan Grisby)
* Under Python 3.0, you can't use string keys/values, but
bytes ones. Print the right error message.
* "DB.has_key()" allowed transactions as a positional parameter.
We allow, now, transactions as a keyword parameter also, as
documented.
* Correct "DB.associate()" parameter order in the documentation.
* "DB.append()" recognizes "txn" both as a positional and a
keyword parameter.
* Small fix in "dbshelve" for compatibility with Python 3.0.
* A lot of changes in "dbtables" for compatibility with Python 3.0.
* Huge work making the testsuite compatible with Python 3.0.
* In some cases the C module returned Unicode strings under
Python 3.0. It should return "bytes", ALWAYS. Solved.
* Remove a dict.has_key() use to silence a warning raised under
Python2.6 -3 parameter. Python SVN r65391, Brett Cannon.
* Solve some memory leaks - Neal Norwitz
* If DBEnv creation fails, library can crash. (Victor Stinner)
* Raising exceptions while doing a garbage collection
will kill the interpreter. (Victor Stinner)
* Crash in "DB.verify()". Noted by solsTiCe d'Hiver.
Changes:
2009-12-27 Mikio Hirabayashi <mikio@users.sourceforge.net>
* tcadb.c (tcadbmisc): the return value of the "getlist" function was modified.
- Release: 1.3.27
2008-12-17 Mikio Hirabayashi <mikio@users.sourceforge.net>
* tchdb.c (tchdbforeach): global locking was replaced by record locking.
* tcbdb.c (tcbdbforeachimpl): cache adjustment was added.
* tcadb.c (tcadbmisc): new function.
- Release: 1.3.26
Features:
- a second axis can now be displayed in rrd_graph. look for
documentation on second-axis. feature was sponsored by VoltWerk.
Bugfixes:
- rrd_fetch: is more careful when seeking. it should not try to seek
outside the file anymore.
- rrd_graph: CDEF:x= raises an error now and does not segfault
- rrd_graph: --font TITLE:12: problem fixed (affecting cacti)
- rrd_graph: make VDEF work with SHIFT (bug #177)
- rrd_xport: make it work when exporting datasources without
uniform step size.
- rrd_tool: rely on function return values and not on errno. (bug #176)
Features:
- a second axis can now be displayed in rrd_graph. look for
documentation on second-axis. feature was sponsored by VoltWerk.
- win32 port of the source. see WIN32-BUILD-TIPS.txt for details.
contributed by exitgames
Bugfixes:
- rrd_fetch: is more careful when seeking. it should not try to seek
outside the file anymore.
- rrd_restore: works on platforms where "NaN" is not represented as
"NaN" works now (HPUX)
- rrd_graph: label ordering in --full-size is correct now.
- ruby bindings: fix for last method
- perl bindings: fix for build on MacOSX
- rrd_update: make sure time stamp of rrd files get updated even on
platforms with broken MS_ASYNC implementations (osx and old linux)
- rrd_graph: CDEF:x= raises an error now and does not segfault
- Solaris isfinite portability improved
- rrd_graph: --font TITLE:12: problem fixed (affecting cacti)
incompatibilities. Here are the major changes.
- Dropped support for Python below 2.3 and PostgreSQL below 7.4.
- Improved performance of fetchall() for large result sets
by speeding up the type casts (as suggested by Peter Schuller).
- Exposed exceptions as attributes of the connection object.
- Exposed connection as attribute of the cursor object.
- Cursors now support the iteration protocol.
- Added new method to get parameter settings.
- Added customizable row_factory as suggested by Simon Pamies.
- Separated between mandatory and additional type objects.
- Added keyword args to insert, update and delete methods.
- Added exception handling for direct copy.
- Release the GIL while making a connection
(as suggested by Peter Schuller).
- If available, use decimal.Decimal for numeric types.
- Allow DB wrapper to be used with DB-API 2 connections
(as suggested by Chris Hilton).
- Made private attributes of DB wrapper accessible.
- Dropped dependence on mx.DateTime module.
- Support for PQescapeStringConn() and PQescapeByteaConn();
these are now also used by the internal _quote() functions.
- Added 'int8' to INTEGER types. New SMALLINT type.
- Added a way to find the number of rows affected by a query()
with the classic pg module by returning it as a string.
For single inserts, query() still returns the oid as an integer.
The pgdb module already provides the "rowcount" cursor attribute
for the same purpose.
- Improved getnotify() by calling PQconsumeInput() instead of
submitting an empty command.
- Removed compatibility code for old OID munging style.
- The insert() and update() methods now use the "returning" clause
if possible to get all changed values, and they also check in advance
whether a subsequent select is possible, so that ongoing transactions
won't break if there is no select privilege.
- Added "protocol_version" and "server_version" attributes.
- Revived the "user" attribute.
- The pg module now works correctly with composite primary keys;
these are represented as frozensets.
- Removed the undocumented and actually unnecessary "view" parameter
from the get() method.
- get() raises a nicer ProgrammingError instead of a KeyError
if no primary key was found.
- delete() now also works based on the primary key if no oid available
and returns whether the row existed or not.
Pkgsrc changes:
o Canonicalize HOMEPAGE
Upstream changes:
# ----------------------------------------------------------
# 0.09002 2008-12-05
# ----------------------------------------------------------
* parsing MySQL CURRENT_TIMESTAMP as scalar ref so it can be produced without
quotes (jgoulah)
* Add ignore_opts parser arg (to ignore table options) in Parser::MySQL
(jgoulah)
* Skip tests for buggy Spreadsheet::ParseExcel versions (rbo)
* Add support for skip tables parser arg in Parser::DBI::MySQL (jgoulah)
* Changed behaviour of ::Producer::Oracle when returning an array of statements
to make it compatible to DBI->do()
* Fixed a few bugs in ::Producer::Oracle
* Applied patch from jgoulah to support mysql's MERGE option
* Applied patch from rbo to add support of multiple database events on a trigger
* Applied patch from lukes to allow drop if exists in sqlite producer, with
version >= 3.3
* Applied patch from rjbs with minor changes, now we support scalar refs in
default values!
* Fixed SQLite producer to end index statements in newlines, in scalar context
* Decreed that all list context statements shall not end in ; or ;\n
* Fixed SQLite, Diff and MySQL producers to agree with Decree.
* Added support for CREATE VIEW + tests in the Pg producer (wreis)
* Added support for CREATE VIEW + tests in the sqlite producer (groditi)
* Added proper argument parsing and documentation to MySQL Parser and
Producer (ribasushi)
* Using DROP VIEW instead of OR REPLACE clause in the Pg producer, as replace
only allows replacement with identical set of columns (wreis)
* Added support for DROP VIEW and fixed CREATE VIEW statement in the sqlite
producer (wreis)
* Removed source_db and target_db accessors from Diff (throwback
to old version, only output_db is used)
* Support for longer varchar fields in MySQL
Pkgsrc changes:
o Fix the problem with the sqlite3-using regression test properly;
apparently sqlite3 thinks it's an error to drop a nonexistent table.
This is a follow-up on CPAN ticket #41769.
o Adapt substitution pattern for sqlite3 after upstream change.
o Add dependency on p5-IPC-Cmd, as per upstream change.
Upstream changes:
0.13 16 Dec 2008
* fixes for Perl 5.10 File::Copy
* use IPC::Cmd::run to create db in t/lib/MyDB.pm
Based on diffs and testing done by Jens Rehsack, while following
up on PR#39232, patch also submitted there.
Pkgsrc changes:
o Support different oracle library options
o Add HOMEPAGE using search.cpan.org
Upstream changes:
Changes in DBD-Oracle 1.21(svn rev 11067) 11th April 2008 ^
Added Notes to README.win32.txt on installing Instant Client
11.1.0.6.0 from John Scoles
Added the oci_typecode_name method to get the name rather than
just the number of an OCI_TYPECODE from John Scoles
Fixed a unreported bug with Embedded Objects from John Scoles
Fixes for #34621 & 33791 from RT cpan
Added patch to allow faster fetch from REF CURSORs from Biswadeep Chowdhury
Updated the Todo file for next version from John Scoles
Added support for the 10.2 Data Interface for Persistent LOBs by John Scoles
Changed the way pre-fetching is done by John Scoles
Added support for Scrollable cursors from John Scoles
Changed the max size of cache_rows to a sb4 rather than a int
and or a ub4 from John Scoles
Added support for Lobs in select of OCI Embedded Objects from
John Scoles with a big thankyou to Paul Weiss
Fixed for embedded object in object from Paul Weiss
Added support for direct insert of large XML data into XMLType
fields from Hendrik Fuss & John Scoles
Fixed memory leak (not releasing Temp Lob with OCILobFreeTemporary)
when created for a bind from John Scoles
Added support for bind_param_inout_array for use with execute_array
from John Scoles
Added enhancement for Embedded Objects handling from Paul G. Weiss
Fixed to Makefile.PL let it read makefiles from other makes from
Alexander V Alekseev
Updated POD to tell users to Avoid Using "SQL Call" from Charles Jardine
Updated POD to account for rt.cpan.org #30910: "DBD-Oracle crashes
when trying to read empty LOB" from John Scoles
Added DBD::Oracle impdata/threads patch from Jeffrey Klein
Changes in DBD-Oracle 1.20(svn rev 10517) 11th January 2008 ^
Fixed lob test so it skips the one test that relies on it if v$
session. from Rafael Kitover
Fixed // with /* */ in dbdimp.c from John Scoles
Fixed for execute_for_fetch in Oracle.pm returning 0 instead of
0E0. from Martin J. Evans
Added README.64bit.txt that contains help for compiling on 64
bit boxes from John Scoles
Fixed typo in Oracle.pm from Tom R.
Added support for ora_charset, ora_ncharset from Stephen J. Smith
Fixed Makefile.PL for better handling of empty array in
File::Find::find from Slaven Rezic
Fixed references to README.clients.txt in Makefile.PL from John Scoles
Added PERL_NO_GET_CONTEXT for better multi-threaded support from John Scoles
Changed required version of DBI to be 1.51 from John Scoles
Fixed bug in 31lob.t from John Scoles
Added notes on installing Instantclient .rpm to README.Lunix.txt
Added support for OCI array bind from Alexander V Alekseev
Added support for select of OCI Embedded Objects from John Scoles
Added a tip in README.64bit.txt from cartmanltd
Added fix to Makefile.PL for finding SQLplus for Ubuntu Server
(but should work for others) from Martin J. Evans
Added fix to Makefile.PL for Gentoo AMD64 from Tom R.
Added fix to dbdimp.c for speed up of Null-Operations from Andreas Behal
Added fix to dbdimp.c for SQLCS_NCHAR index use on varchar2s from
Peter J. Holzer
This despite one of the self-tests failing.
Pkgsrc changes:
o Change HOMEPAGE to using search.cpan.org
Upstream changes:
2.11.7 Released December 13, 2008
- Fix placeholder parsing logic (CPAN bug #41582)
2.11.6 Released November 30, 2008 (subversion r12126)
- Only set UTF8 flag on array items after UTF8 test. (CPAN bug #41253)
[Armando Santos]
2.11.5 Released November 24, 2008 (subversion r12102)
- Clear prepared_statement name on failure to prepare: prevents
the wrong error when using prepare_cached. [GSM]
2.11.4 Released November 12, 2008
- Don't set LC_MESSAGES unless superuser in tests. Remove all
language-specific string checking for tests. (CPAN bug #40604)
2.11.3 Released November 3, 2008 (subversion r12031)
- Force LC_MESSAGES to 'C' inside tests (CPAN bug #40604)
- Minor compiler tweaks.
- Fix small POD error (CPAN bug #40209)
- Tweak Perl::Critic policy list (CPAN bug #40130)
2.11.2 Released October 15, 2008 (subversion r11983)
- Fix core dump when invalid placeholders used. (CPAN bug #40075) [GSM]
2.11.1 Released October 14, 2008 (subversion r11980)
- $sth->{ParamTypes} returns 'TYPE' when possible.
2.11.0 Released October 13, 2008 (subversion r11976)
- $sth->{ParamTypes} now returns a hashref per the DBI docs. [GSM]
- Adjustment of Makefile.PL to fix problem with Strawberry Perl.
Thanks to Martin Evan (martin.evans@easysoft.com) and Brian
(elspicyjack@gmail.com) on the dbi-users list.
2.10.7 Released September 22, 2008 (subversion r11869)
- Fix test issue when dbname contains dashes.
[Rainer Tammer]
- Revert META.yml to 1.0, until such time as tools
can handle 1.1 (CPAN bug #39461) [Taro Nishino]
2.10.6 Released September 19, 2008 (subversion r11830)
- Correctly quote all bytea characters. (CPAN bug #39390) [Rod Taylor]
- Prevent core dump when checking $dbh->{standard_conforming_strings}
on older servers. [GSM]
- Skip unicode tests if server is set to 'LATIN1' [GSM]
2.10.5 Released September 16, 2008 (subversion r11800)
- Fix SIGNATURE file
2.10.4 Released September 16, 2008 (subversion r11797)
- Force use of math library when compiling. Per report
of AIX problems by Rainer Tammer.
2.10.3 Released August 31, 2008 (subversion r11706)
- Previous version had wrong SIGNATURE file
2.10.2 Released August 31, 2008 (subversion r11704)
- Fix minor problem in t/99_yaml.t
2.10.1 Released August 31, 2008 (subversion r11697)
- Minor testing fix.
2.10.0 Released August 26, 2008 (subversion r11678)
- Add the 'DBD' trace setting to output only non-DBI trace messages,
and allow 'dbd_verbose' as a connection attribute for the same
effect. [GSM]
- Fix a minor problem with testing against 7.4 databases [GSM]
- Allow multi-statement do() calls with parameters to work if pg_server_prepare
is set to 0 (CPAN bug #38623) [GSM]
2.9.2 Released August 18, 2008 (subversion r11664)
- Empty Postgres arrays should return empty Perl arrays, not undef.
(CPAN bug #38552) [David E. Wheeler]
2.9.1 Released August 17, 2008 (subversion r11660)
- Return undef when mapping Postgres array to Perl array and
the array is empty '{}'. (CPAN bug #38552) [GSM]
- Minor documentation improvements. [GSM]
2.9.0 Released August 3, 2008 (subversion r11624)
- Add support for database handle attribute "ReadOnly". This allows
use of $dbh->{ReadOnly} = 1 to enforce read only mode at
the server level. [GSM]
- Move PQexec structures to statement handle, to prevent
excessive malloc and free within execute function. [GSM]
- Add more attribute tests, improve testing system. [GSM]
- Many documentation improvements. [GSM]
- Win32 build improvements [T.J. Ferraro]
2.8.7 Released July 24, 2008 (subversion r11582)
- Modify test scripts to work better on FreeBSD boxes. [GSM]
- Much documentation improvement and POD tweaking. [GSM]
2.8.6 Released July 21, 2008 (subversion r11558)
- More testing improvements to increase odds of all tests being
run, especially when testing as root. [GSM]
2.8.5 Released July 13, 2008 (subversion r11529)
- Fix an obscure bug in which a coredump occurs if client_min_messages
is set to DEBUG3 or greater, and we then exit without disconnecting
while AutoCommit is off. The new behavior is to simply not attempt to
output the debugging information about the final 'rollback'. [GSM]
- More documentation improvements. [GSM]
2.8.4 Released July 10, 2008 (subversion r11520)
- Minor Perl::Critic test adjustments. [GSM]
- Documentation enhancements. [GSM]
- Yet more minor testing tweaks. [GSM]
2.8.3 Released July 6, 2008 (subversion r11495)
- Minor testing functionality tweaks, lots of test cleanups, minor doc enhancements. [GSM]
2.8.2 Released June 29, 2008 (subversion r11466)
- Minor testing tweaks, doc fixes. [GSM]
2.8.1 Released June 11, 2008 (subversion r11417)
- Force testing to use a custom socket dir, to avoid
permission problems. Thanks to Frank Wiegand for
help in uncovering this. [GSM]
2.8.0 Released June 1, 2008 (subversion r11366)
- Added in payload strings for LISTEN/NOTIFY in 8.4
via $dbh->pg_notifies() [GSM]
- Fixed problem preventing some pg_type bind_arrays
from working [GSM]
- Fix tests in t.04misc.t to handle Windows newlines.
(CPAN bug #36237) [Ian Macdonald]
- Clean up get_info() information. [GSM]
2.7.2 Released May 14, 2008 (subversion r11269)
- Handle embedded commas in quotes properly when destringifying
arrays.(CPAN bug #35862) [GSM]
- Fix typo in docs with trace_parser_flags() (Martin J. Evans)
- More testing tweaks [GSM]
2.7.1 Released May 11, 2008 (subversion r11250)
- Yet more minor testing tweaks. [GSM]
2.7.0 Released May 10, 2008 (subversion r11239)
- Have $dbh->quote() return E'' when server is >= 8.1 and string contains
backslashes. Fixes any problems with standard_conforming_strings.
(CPAN bug #27538) [GSM]
2.6.6 Released May 7, 2008 (subversion r11214)
- Fix minor problem in t/99_spellcheck.t [GSM]
2.6.5 Released May 7, 2008 (subversion r11209)
- Add spell checker to tests. [GSM]
- More tweaks to the testing suite. [GSM]
2.6.4 Released May 2, 2008 (subversion r11186)
- More tweaks to the test suite. [GSM]
2.6.3 Released May 1, 2008 (subversion r11169)
- Minor tweaks to the test suite. [GSM]
2.6.2 Released April 30, 2008 (subversion r11161)
- Fix coredump when pg_getcopydata copies 0 rows into a
freshly created var. (CPAN bug #35556) [David Harris]
- Allow 'make test' create a test database from scratch if
it cannot find an existing one to use. [GSM]
2.6.1 Released April 22, 2008 (subversion r11133)
- Don't free placeholder section, fixes problem when using
more than one named placeholder with the same name.
(CPAN bug #35303) [GSM]
2.6.0 Released April 16, 2008 (subversion r11095)
- Make pg_notifies a true function, so that you can now
use $dbh->pg_notifies instead of $dbh->func('pg_notifies') [GSM]
- Various performance improvements [GSM]
- Fix minor build and compilation issues with Strawberry Perl [GSM]
- Add Bundle::DBD::Pg [GSM]
2.5.1 Released April 7, 2008 (subversion r11056)
- Correctly handle negative PID numbers on Win32 systems when
generating prepared statement names (CPAN bug # 34738) [GSM]
2.5.0 Released March 23, 2008 (subversion r10990)
- Add pg_enum_values to $dbh->column_info()
[Dave Rolsky] (CPAN ticket #34351)
- Minor test fixes. [GSM]
2.4.0 Released March 21, 2008 (subversion r10974)
- Remove problematic and unneeded Test::Warn test from 00basic.t.
- Add $sth->{pg_current_row} [GSM]
2.3.0 Released March 19, 2008 (subversion r10951)
- Add $sth->{pg_bound} and $sth->{pg_numbound} [GSM]
- Fix broken call to $sth->{pg_segments} [GSM]
Pkgsrc changes:
o Canonicalize HOMEPAGE
o Adjust dependencies to match the new requirements
o Add substitution so that sqlite3 can be picked up by the tests
Upstream changes:
0.12 22 Nov 2008
* add missing req in Makefile.PL
* add IPC::Cmd dep so we can test for sqlite3 in tests
0.11 18 Nov 2008
* base controller no longer sets current_view
* copy all static/css/crud/*.css files for CX::CRUD::YUI 0.008
0.10 29 Sept 2008
* added missing req to Makefile.PL
0.09 11 Sept 2008
* add real tests with example schema supplied by laust from #catalyst
0.09_05 27 Aug 2008
* fix UTF-8 encoding bug where JSON:XS utf8() flag was
incorrectly set to 'on'.
* move bulk of the code into smaller packages:
CatalystX::CRUD::YUI
Rose::HTMLx::Form::Related
Rose::DBx::Object::MoreHelpers
This refactoring means that DBIC users can use all the YUI interface
and RHTMLO goodness as well.
* changed the default root/<dir> to 'crud' instead of 'rdgc'
IF YOU ARE UPGRADING, you can symlink or rename rdgc => crud
0.09_04 11 Aug 2008
* update .tt and .pm files to support multi-column PKs
0.09_03 31 July 2008
* split up rdgc/footer.tt into yui_footer.tt
* add default_sort_by() to Form::Metadata
* toggle rowsPerPage via select popup
* throw_error if !can_read in autocomplete()
* support on* attributes for js in autocomplete
* added RDGC::Excel for .xls output
* refactor the takes_object_as_argument feature
* link_panel now uses same YAHOO ResizePanel widget as addRowPanel
* use double ;; in primary_key_uri_escaped() to match
CatalystX::CRUD 0.28
0.09_02 30 June 2008
* several small bug fixes with .tt files
* allow for related_field mapping at init time
* fix autocomplete CSS
0.09_01 13 Jun 2008
* use column as label if not defined in form
* add support for file upload fields in form.tt
* add support for alternate relationship labels in base Form class
* add support for alternate relationship labels in show_relationships.tt
* tweek the base RDBO flatten() method
* added pseudo_field_labels() method in Form base class
* no 'remove' button if in view mode
* fix bug in yui_datatable_count.tt where js was getting
NaN values if there were no results.
* add 'New' link for each related matrix in show_relationships.tt
* complete refactor of all .tt code to move much of it into
YUI and YUI::DataTable
* complete refactor of all generated code to move much of
it into real base classes and installed .tt
Rose::DBx::AutoReconnect is a subclass of Rose::DB. Additional
features include:
* If using new_or_cached() method, will ping() dbh on every
fetch from cache to ensure that the dbh is connected. This
extends the basic Rose::DB::Cache behaviour beyond
mod_perl/Apache::DBI.
* Convenient logger() method for debugging.
* Always uses DBI connect_cached() method when creating handles.
Rose::DBx::AutoReconnect was written to allow new_or_cached() to
work with MySQL's "morning bug" and to allow for restarting your
database without restarting your application. See also
Rose::DBx::Cache::Anywhere.
Pkgsrc changes:
o Change to Module::Build build method
Upstream changes:
1.0014 Jun 13 23:15:00 2008 EST
- (This version is compatible with 1.0013)
- Fix for RT#36781 (t/44 has an unrequired dependency)
- lock() has been aliased to lock_exclusive(). There is now
a lock_shared() method. The :flock constants are no longer
imported into the DBM::Deep namespace.
**** THIS IS AN API CHANGE ****
Upstream changes:
0.19 12 Dec 2008
* fix long-standing issue with passing additional args to
load() via CXC::Object::RDBO->read
0.18 11 Dec 2008
* fix logic for mangling sort_by with table prefix. If the
sort_by value already has a . (dot) in it, assume the
request knew what it was doing.
* Reorganize the Unix interface in os_unix.c
* Added support for "Proxy Locking" on MacOSX.
* Changed the prototype of the sqlite3_auto_extension() interface in a way
that is backwards compatible but which might cause warnings in new
builds of applications that use that interface.
* Changed the signature of the xDlSym method of the sqlite3_vfs object in
a way that is backwards compatible but which might cause compiler
warnings.
* Added superfluous casts and variable initializations in order to
suppress nuisance compiler warnings.
* Fixes for various minor bugs.
Pkgsrc changes:
- Add build dependency on databases/p5-DBIx-Class for test target
Upstream changes:
0.08 17 Nov 2008
* add unique_value() method similar to Rose::DBx::Object::MoreHelpers
Upstream changes:
0.03 16 Sept 2008
* flatten now just a thin wrapper around as_tree()
core Helper method
0.04 4 Nov 2008
* has_related() now checks if $self can $rel . _count
and tries to handle it sanely if _count is not a method
0.05 4 Nove 2008
* oops. fix 0.04 fix to always turn **integer** not object.
0.06 10 Nov 2008
* add moniker() and unique_value() methods
Upstream changes:
0.15 7 Nov 2008
* (finally) fix load_with to be a real ro_accessor and only
used in _get_objects()
0.16 17 Nov 2008
* pass query if present in *_related() query methods
0.17 25 Nov 2008
* added related_load_with() feature and docs for it and
load_with().
Pkgsrc changes:
- register all dependencies
- add new dependency on devel/p5-Class-Data-Inheritable
Upstream changes:
0.32 21 Oct 2008
* use Class::Data::Inheritable to define delegate_class()
class accessor in base Model
0.33 22 Nov 2008
* fix Tutorial wrt RT#40846
0.34 24 Nov 2008
* fix make_primary_key_string to return undef if multi-col
PK has no values
0.35 24 Nov 2008
* call edit() after initializing object and form with passed
in params, so that the init_form() method can have all data
already set.
* Fix a bug in the b-tree delete algorithm that seems like it might
be able to cause database corruption. The bug was first introduced in
version 3.6.6.
* Fix a memory leak that can occur following a disk I/O error.
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
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
Berkeley DB 4.7.x is not officially supported by OpenLDAP yet and there
have been various reports of problems with this combination.
Bump package revision.
- bug #2031221 [auth] Links to version number on login screen
- bug #2032707 [core] PMA does not start if ini_set() is disabled
- bug #2004915 [bookmarks] Saved queries greater than 1000 chars
not displayed
- bug #2037381 [export] Export type "replace" does not work
- bug #2037375 [export] DROP PROCEDURE needs IF EXISTS
- bug #2045512 [export] Numbers in Excel export
+ [lang] Norwegian UTF-8 original file remerged
- bug #2074250 [parser] Undefined variable seen_from
- [security] Code execution vulnerability
This update fixes the security vulnerability reported in PMASA-2008-7.
This is security fix.
For complete changes, please refer
http://dev.mysql.com/doc/refman/5.0/en/releasenotes-cs-5-0-67.html.
Here is a part of it.
Functionality added or changed:
Security Enhancement:
To enable stricter control over the location from which user-defined
functions can be loaded, the plugin_dir system variable has been
backported from MySQL 5.1. If the value is non-empty, user-defined
function object files can be loaded only from the directory named by this
variable. If the value is empty, the behavior that is used before 5.0.67
applies: The UDF object files must be located in a directory that is
searched by your system's dynamic linker. (Bug#37428)
Important Change: Incompatible Change:
The FEDERATED storage engine is now disabled by default in the .cnf files
shipped with MySQL distributions (my-huge.cnf, my-medium.cnf, and so
forth). This affects server behavior only if you install one of these
files. (Bug#37069)
Cluster API: Important Change:
Because NDB_LE_MemoryUsage.page_size_kb shows memory page sizes in bytes
rather than kilobytes, it has been renamed to page_size_bytes. The name
page_size_kb is now deprecated and thus subject to removal in a future
release, although it currently remains supported for reasons of backward
compatibility. See The Ndb_logevent_type Type, for more information about
NDB_LE_MemoryUsage. (Bug#30271)
Important Change:
Some changes were made to CHECK TABLE ... FOR UPGRADE and REPAIR TABLE
with respect to detection and handling of tables with incompatible .frm
files (files created with a different version of the MySQL server). These
changes also affect mysqlcheck because that program uses CHECK TABLE and
REPAIR table, and thus also mysql_upgrade because that program invokes
mysqlcheck.
For complete changes, please refer
http://dev.mysql.com/doc/refman/5.0/en/releasenotes-cs-5-0-67.html.
Here is a part of it.
Functionality added or changed:
Security Enhancement:
To enable stricter control over the location from which user-defined
functions can be loaded, the plugin_dir system variable has been
backported from MySQL 5.1. If the value is non-empty, user-defined
function object files can be loaded only from the directory named by this
variable. If the value is empty, the behavior that is used before 5.0.67
applies: The UDF object files must be located in a directory that is
searched by your system's dynamic linker. (Bug#37428)
Important Change: Incompatible Change:
The FEDERATED storage engine is now disabled by default in the .cnf files
shipped with MySQL distributions (my-huge.cnf, my-medium.cnf, and so
forth). This affects server behavior only if you install one of these
files. (Bug#37069)
Cluster API: Important Change:
Because NDB_LE_MemoryUsage.page_size_kb shows memory page sizes in bytes
rather than kilobytes, it has been renamed to page_size_bytes. The name
page_size_kb is now deprecated and thus subject to removal in a future
release, although it currently remains supported for reasons of backward
compatibility. See The Ndb_logevent_type Type, for more information about
NDB_LE_MemoryUsage. (Bug#30271)
Important Change:
Some changes were made to CHECK TABLE ... FOR UPGRADE and REPAIR TABLE
with respect to detection and handling of tables with incompatible .frm
files (files created with a different version of the MySQL server). These
changes also affect mysqlcheck because that program uses CHECK TABLE and
REPAIR table, and thus also mysql_upgrade because that program invokes
mysqlcheck.
This is primarily so that p5-Net-Z3950-ZOOM can compile without
having pkgsrc-wip checked out (oops!).
MARC::Record provides yet another collection of routines to process MARC
records.
While 1.3.2 did fix the data corruption bug, and was much faster
with creating graphs, it did break badly when you tried to supply
your own font names and sizes. 1.3.3 fixes this regression.
* Do not crash when user tries to select a font in rrdgraph
* Another attempt at makeing it compile out-of-the box on solaris 8
Release Name: 1.2.4
Notes: This release only updates the generated C file to reflect the
compatibility changes that were made to the SWIG file. Binary builds
(e.g., Windows) are not affected, and need no update. In general, you
will not need this update unless you are using a version of Ruby prior
to 1.8.6.
Release Name: 1.2.3
Notes:
Mostly, this release just fixes the permissions
issue on *nix platforms on the database.rb and
translator.rb files. It also has a few
optimizations and compatibility fixes.
Changes:
=== 1.2.3 / 26 Aug 2008
* Fix incorrect permissions on database.rb and translator.rb [Various]
* Avoid using Object#extend for greater speedups [Erik Veenstra]
* Ruby 1.9 compatibility tweaks for Array#zip [jimmy88@gmail.com]
* Fix linking against Ruby 1.8.5 [Rob Holland <rob@inversepath.com>]
Changes:
* Set config.active_record.timestamped_migrations = false to have
migrations with numeric prefix instead of UTC
timestamp. #446.
* Fixed that create database statements would always include "DEFAULT
NULL" [#334]
* change_column_default preserves the not-null constraint. #617
* Add :tokenizer option to validates_length_of to specify how to split
up the attribute string. #507. Example :
# Ensure essay contains at least 100 words.
validates_length_of :essay, :minimum => 100, :too_short => "Your
essay must be at least %d words."), :tokenizer => lambda {|str|
str.scan(/\w+/) }
* Always treat integer :limit as byte length. #420
* Partial updates don't update lock_version if nothing changed. #426
* Fix column collision with named_scope and :joins. #46
* db:migrate:down and :up update schema_migrations. #369
* PostgreSQL: support :conditions => [':foo::integer', { :foo => 1 }]
without treating the ::integer typecast as a bind variable.
* MySQL: rename_column preserves column defaults. #466
* Add :from option to calculations. #397
* Add :validate option to associations to enable/disable the automatic
validation of associated models. Resolves#301.
* PostgreSQL: use 'INSERT ... RETURNING id' for 8.2 and later.
* Added SQL escaping for :limit and :offset in MySQL
Changes:
(from http://www.jcea.es/programacion/pybsddb.htm, some things are
hyperlinks)
bsddb3-4.7.2: RELEASED. (20080807). Testsuite verified in Unix 32 bit
Python 2.3-2.6b2 and Berkeley DB 4.0-4.7.
If you are going to use replication (Replication Manager or Base
Replication), you should use Berkeley DB 4.6 or up. Previous Berkeley
DB versions are unsupported, when using these functionalities.
Available in PYPI. Changes:
* Solved a race condition in Replication Manager testcode.
* Changing any python code, automatically regenerates the Python3
version. The master version is Python2.
* Compatibility with Python 3.0.
* Solved a crash when DB handle creation fails. STINNER Victor -
http://bugs.python.org/issue3307
* Improve internal error checking, as suggested by Neal Norwitz
when reviewing commit 63207 in Python SVN.
* Routines without parameters should be defined so, as suggested
by Neal Norwitz when reviewing commit 63207 in Python SVN. The
resulting code is (marginally) faster, smaller and clearer.
* Routines with a simple object parameter are defines so, as
suggested by Neal Norwitz when reviewing commit 63207 in Python
SVN. The resulting code is (marginally) faster, smaller and clearer.
* Routines taking objects as arguments can parse them better, as
suggested by Neal Norwitz when reviewing commit 63207 in Python
SVN. The resulting code is (marginally) faster, smaller and clearer.
* Improve testsuite behaviour under MS Windows.
* Use ABC (Abstract Base Classes) under Python 2.6 and 3.0.
* Support for "relative imports".
* Replication testcode behaves better in heavily loaded machines.
bsddb3-4.7.1: RELEASED. (20080702). Testsuite verified in Unix 32 bit
Python 2.3-2.6b1 and Berkeley DB 4.0-4.7.
If you are going to use replication (Replication Manager or Base
Replication), you should use Berkeley DB 4.6 or up. Previous Berkeley
DB versions are unsupported, when using these functionalities.
Available in PYPI. Changes:
* Workaround a problem with un-initialized threads with the
replication callback.
* Export "DBRepUnavailError" exception.
* Get rid of Berkeley DB 3.3 support. Rationale:
http://mailman.argo.es/pipermail/pybsddb/2008-March/000019.html
* Better integration between Python test framework and bsddb3.
* Improved Python 3.0 support in the C code.
* Iteration over the database, using the legacy interface, now
raises a RuntimeError if the database changes while iterating.
http://bugs.python.org/issue2669 - gregory.p.smith
* Create "set_private()" and "get_private()" methods for DB and
DBEnv objects, to allow applications to link an arbitrary object to a
DB/DBEnv. Useful for callbacks.
* Support some more base replication calls: "DB_ENV->rep_start",
"DB_ENV->rep_sync", "DB_ENV->rep_set_config",
"DB_ENV->rep_get_config", "DB_ENV->rep_set_limit",
"DB_ENV->rep_get_limit", "DB_ENV->rep_set_request",
"DB_ENV->rep_get_request".
* Support more base replication calls: "DB_ENV->rep_elect",
"DB_ENV->rep_set_transport" and "DB_ENV->rep_process_message". Support
also related flags.
bsddb3-4.7.0: RELEASED. (20080522). Testsuite verified in Unix 32 bit
Python 2.3-2.6a3 and Berkeley DB 4.0-4.7.
bsddb3 4.7.0 compiles against Berkeley DB 4.0-4.7. If you are
upgrading your Berkeley DB environment at the same time, be sure to
read the BDB upgrade notes carefully.
From this release, the only supported Berkeley DB versions are 4.x.
Support for Berkeley DB 3.3 is deprecated and will be deleted. Mailing
list thread discussing this.
Available in PYPI. Changes:
* Support for Berkeley DB 4.7.
* Support "DB_ENV->log_set_config", and related flags.
* Complete the Berkeley DB Replication Manager support:
"DB_ENV->repmgr_site_list" and related flags. "DB_ENV->repmgr_stat",
"DB_ENV->repmgr_stat_print" and related flags.
* Solved an old crash when building with debug python. (Neal Norwitz)
* Extend the testsuite driver to check also against Python 2.6 (a3).
* Support for RPC client service.
bsddb3-4.6.5: The work on this release is transfered to 4.7.0, since
Oracle just published Berkeley DB 4.7.25. (20080521)
Pkgsrc changes:
o Adjust dependencies, 0.29 of CatalystX::CRUD now required
o Canonicalize HOMEPAGE
Upstream changes:
0.13 23 Aug 2008
* support new *_related methods in core API
Pkgsrc changes:
o Sort dependencies according to list in upstream package
o Add overlooked dependency on p5-Class-Accessor
Upstream changes:
0.29 23 Aug 2008
* fix typos in the Tutorial
* add relationship methods to Controller, ModelAdapter and
Model core API.
* added sugary alias methods for read(), update() and
delete() to match CRUD.
* refactored REST controller to support related methods
and provide better HTTP status checks and responses.
In the tradition of Rose::DB::Object::Helpers, more importable methods.
This class inherits from Rose::Object::MixIn. See the Rose::Object::MixIn
documentation for a full explanation of how to import methods from
this class. The helper methods themselves are described below.
Packages Collection.
The Perl 5 module DBIx::Class::TimeStamp is a DBIx::Class component
providing automatic setting and updating of date and time based
fields.
NetBSD Packages Collection.
The Perl 5 module DBIx::Class::DynamicDefault is a DBIx::Class
component for automatically setting and updating fields with values
calculated at runtime.
MAJOR BUG-FIX:
* When running rrdtool update with multiple updates in one go and
MMAP enabled, there was a data corruption bug at wrap around.
See http://oss.oetiker.ch/rrdtool-trac/ticket/178 for details
Thanks to Kevin Brintnall
OTHER FIXES:
* Forward ported rra cur_row randomization patch from rrdtool
1.2.28 (it got lost in development).
* Contrary to the documentation imginfo did return the full path
of the image and not only the file name.
* Make --lazy mode work even when PRINT commands are present.
http://oss.oetiker.ch/rrdtool-trac/ticket/163
* Fix Ruby Bindings memory leak.
* Fix compilation on solaris 2.8
* Fix a ton of memory leaks in rrd_create and some in rrd_tool as
well. Based on valgrind analysis by Sven Engelhardt. Thanks!
* Fix handling of error conditions in rrd_tool.c (errno is not the
ideal indicator)
ENHANCEMENTS:
* Text Strings entered in the current locale will automatically be
transformed to utf8 for proper handling by Pango.
* Dramatically improved Pango Performance by introducing a static
fontmap. On my test system the persistent fontmap causes the
second graph with the same fonts in a single session to be
created about 0.18s faster than the first one. For a total graph
creation time of 0.21s this is a pretty substantial improvement.
With this patch, performance for the second graph is back to
1.2.x levels or even better.
Packages Collection.
The Perl 5 module DBICx::TestDatabase creates a temporary SQLite
database, deploys your DBIC schema, and then connects to it. This
lets you easily test your DBIC schema. Since you have a fresh
database for every test, you don't have to worry about cleaning up
after your tests, ordering of tests affecting failure, etc.
* Split the pager subsystem into separate pager and pcache subsystems.
* Factor out indentifier resolution procedures into separate files.
* Bug fixes.
Berkeley DB 4.7.25 Change Log
Database or Log File On-Disk Format Changes:
1. The log file format changed in 4.7.
New Features:
1. The lock manager may now be fully partitioned, improving performance
on some multi-CPU systems. [#15880]
2. Replication groups are now architecture-neutral, supporting
connections between differing architectures (big-endian or
little-endian, independent of structure padding). [#15787] [#15840]
3. Java: A new Direct Persistence Layer adds a built-in Plain Old Java
Object (POJO)-based persistent object model, which provides support
for complex object models without compromises in performance. For an
introduction to the Direct Persistence Layer API, see Getting Started
with Data Storage. [#15936]
4. Add the DB_ENV->set_intermediate_dir_mode method to support the
creation of intermediate directories needed during recovery. [#15097]
5. The DB_ENV->failchk method can now abort transactions for threads,
which have failed while blocked on a concurrency lock. This
significantly decreases the need for database environment recovery
after thread of control failure. [#15626]
6. Replication Manager clients now can be configured to monitor the
connection to the master using heartbeat messages, in order to
promptly discover connection failures. [#15714]
7. The logging system may now be configured to pre-zero log files when
they are created, improving performance on some systems. [#15758]
Database Environment Changes:
1. Restructure aborted page allocation handling on systems without an
ftruncate system call. This enables the Berkeley DB High Availability
product on systems, which do not support ftruncate. [#15602]
2. Fix a bug where closing a database handle after aborting a transaction
which included a failed open of that handle could result in
application failure. [#15650]
3. Fix minor memory leaks when closing a private database environment.
[#15663]
4. Fix a bug leading to a panic of "unpinned page returned" if a cursor
was used for a delete multiple times and deadlocked during one of the
deletes. [#15944]
5. Optionally signal processes still running in the environment before
running recovery. [#15984]
Concurrent Data Store Changes:
None.
General Access Method Changes:
1. Fix a bug where closing a database handle after aborting a transaction
which included a failed open of that database handle could result in
application failure. [#15650]
2. Fix a bug that could cause panic in a database environment configured
with POSIX-style thread locking, if a database open failed. [#15662]
3. Fix bug in the DB->compact method which could cause a panic if a
thread was about to release a page while another thread was truncating
the database file. [#15671]
4. Fix an obscure case of interaction between a cursor scan and delete
that was prematurely returning DB_NOTFOUND. [#15785]
5. Fix a bug in the DB->compact method where if read-uncommitted was
configured, a reader reading uncommitted data my see an inconsistent
entry between when the compact method detects an error and when it
aborts the enclosing transaction. [#15856]
6. Fix a bug in the DB->compact method where a thread of control mail
fail if two threads are compacting the same section of a Recno
database. [#15856]
7. Fix a bug in DB->compact method, avoid an assertion failure when zero
pages can be freed. [#15965]
8. Fix a bug return a non-zero error when DB->truncate is called with
open cursors. [#15973]
9. Fix a bug add HANDLE_DEAD checking for DB cursors. [#15990]
10. Fix a bug to now generate errors when DB_SEQUENCE->stat is called
without first opening the sequence. [#15995]
11. Fix a bug to no longer dereference a pointer into a hash structure,
when hash functionality is disabled. [#16095]
Btree Access Method Changes:
None.
Hash Access Method Changes:
1. Fix a bug where a database store into a Hash database could
self-deadlock in a database environment configured for the Berkeley DB
Concurrent Data Store product, and with a free-threaded DB_ENV or DB
handle. [#15718]
Queue Access Method Changes:
1. Fix a bug that could cause a put or delete of a queue element to
return a DB_NOTGRANTED error, if blocked. [#15933]
Recno Access Method Changes:
1. Expose db_env_set_func_malloc, db_env_set_func_realloc, and
db_env_set_func_free through the Windows API for the DB dll. [#16045]
C-specific API Changes:
None.
Java-specific API Changes:
1. Fix a bug where enabling MVCC on a database through the Java API was
ignored. [#15644]
2. Fixed memory leak bugs in error message buffering in the Java API.
[#15843]
3. Fix a bug where Java SecondaryConfig was not setting
SecondaryMultiKeyCreator from the underlying db handle [OTN FORUM}
4. Fix a bug so that getStartupComplete will now return a boolean instead
of an int. [#16067]
5. Fix a bug in the Java API, where Berkeley DB would hang on exit when
using replication. [#16142]
Direct Persistence Layer (DPL), Bindings and Collections API:
1. A new Direct Persistence Layer adds a built-in Plain Old Java Object
(POJO)-based persistent object model, which provides support for
complex object models without compromises in performance. For an
introduction to the Direct Persistence Layer API, see Getting Started
with Data Storage. [#15936]
2. Fixed a bug in the remove method of the Iterator instances returned
by the StoredCollection.iterator method in the collections package.
This bug caused ArrayIndexOutOfBoundsException in some cases when
calling next, previous, hasNext or hasPrevious after calling remove.
(Note that this issue does not apply to StoredIterator instances
returned by the StoredCollection.storedIterator method.) This bug was
reported in this forum thread:
http://forums.oracle.com/forums/thread.jspa?messageID=2187896
[#15858]
3. Fixed a bug in the remove method of the StoredIterator instances
returned by StoredCollection.storedIterator method in the collections
package. If the sequence of methods next-remove-previous was called,
previous would sometimes return the removed record. If the sequence of
methods previous-remove-next was called, next would sometimes return
the removed record. (Note that this issue does not apply to Iterator
instances returned by the StoredCollection.iterator method.) [#15909]
4. Fixed a bug that causes a memory leak for applications where many
Environment objects are opened and closed and the CurrentTransaction
or TransactionRunner class is used. The problem was reported in this
JE Forum thread:
http://forums.oracle.com/forums/thread.jspa?messageID=1782659 [#15444]
5. Added StoredContainer.areKeyRangesAllowed method. Key ranges and the
methods in SortedMap and SortedSet such as subMap and subSet are now
explicitly disallowed for RECNO and QUEUE databases -- they are only
supported for BTREE databases. Before, using key ranges in a RECNO or
QUEUE database did not work, but was not explicitly prohibited in the
Collections API. [#15936]
Tcl-specific API Changes:
1. The Berkeley DB Tcl API does not attempt to avoid evaluating input as
Tcl commands. For this reason, it may be dangerous to pass unreviewed
user input through the Berkeley DB Tcl API, as the input may
subsequently be evaluated as a Tcl command. To minimize the
effectiveness of a Tcl injection attack, the Berkeley DB Tcl API in
the 4.7 release routine resets process' effective user and group IDs
to the real user and group IDs. [#15597]
RPC-specific Client/Server Changes:
None.
Replication Changes:
1. Fix a bug where a master failure resulted in multiple attempts to
perform a "fast election"; subsequent elections, when necessary, now
use the normal nsites value. [#15099]
2. Replication performance enhancements to speed up failover. [#15490]
3. Fix a bug where replication could self-block in a database environment
configured for in-memory logging. [#15503]
4. Fix a bug where replication would attempt to read log file version
numbers in a database configured for in-memory logging. [#15503]
5. Fix a bug where log files were not removed during client
initialization in a database configured for in-memory logging.
[#15503]
6. The 4.7 release no longer supports live replication upgrade from the
4.2 or 4.3 releases, only from the 4.4 and later releases. [#15602]
7. Fix a bug where replication could re-request missing records on every
arriving record. [#15629]
8. Change the DB_ENV->rep_set_request method to use time, not the number
of messages, when re-requesting missed messages on a replication
client. [#15629]
9. Fix a minor memory leak on the master when updating a client during
internal initialization. [#15634]
10. Fix a bug where a client error when syncing with a new replication
group master could result in an inability to ever re-join the group.
[#15648]
11. Change dbenv->rep_set_request to use time-based values instead of
counters. [#15682]
12. Fix a bug where a LOCK_NOTGRANTED error could be returned from the
DB_ENV->rep_process_message method, instead of being handled
internally by replication. [#15685]
13. Fix a bug where the Replication Manager would reject a fresh
connection from a remote site that had crashed and restarted,
displaying the message: "redundant incoming connection will be
ignored". [#15731]
14. The Replication Manager now supports dynamic negotiation of the best
available wire protocol version, on a per-connection basis. [#15783]
15. Fix a bug, which could lead to slow performance of internal
initialization under the Replication Manager, as evidenced by "queue
limit exceeded" messages in verbose replication diagnostic output.
[#15788]
16. Fix a bug where replication control message were not portable between
replication clients with different endian architectures. [#15793]
17. Add a configuration option to turn off Replication Manager's special
handling of elections in 2-site groups. [#15873]
18. Fix a bug making it impossible to call replicationManagerAddRemoteSite
in the Java API after having called replicationManagerStart. [#15875]
19. Fix a bug where the DB_EVENT_REP_STARTUPDONE event could be triggered
too early. [#15887]
20. Fix a bug where the rcvd_ts timestamp is reset when the user just
changes the threshold. [#15895]
21. Fix a bug where the master in a 2-site replication group might wait
for client acknowledgement, even when there was no client connected.
[#15927]
22. Fix a bug, clean up and restart internal init if master log is gone.
[#16006]
23. Fix a bug, ignore page messages that are from an old internal init.
[#16075] [#16059]
24. Fix a bug where checkpoint records do not indicate a database was a
named in-memory database. [#16076]
25. Fix a bug with in-memory replication, where we returned with the log
region mutex held in an error path, leading to self-deadlock. [#16088]
26. Fix a bug which causes the DB_REP_CHECKPOINT_DELAY setting in
rep_set_timeout() to be interpreted in seconds, rather than
microseconds. [#16153]
XA Resource Manager Changes:
1. Fix a bug where the DB_ENV->failchk method and replication in general
could fail in database environments configured for XA. [#15654]
Locking Subsystem Changes:
1. Fix a bug causing a lock or transaction timeout to not be set properly
after the first timeout triggers on a particular lock id. [#15847]
2. Fix a bug that would cause a trap if DB_ENV->lock_id_free was passed
an invalid locker id. [#16005]
3. Fix a bug when thread tracking is enabled where an attempt is made to
release a mutex that is not lock. [#16011]
Logging Subsystem Changes:
1. Fix a bug, handle zero-length log records doing HA sync with in-memory
logs. [#15838]
2. Fix a bug that could cause DB_ENV->failcheck to leak log region
memory. [#15925]
3. Fix a bug where the abort of a transaction that opened a database
could leak log region memory. [#15953]
4. Fix a bug that could leak memory in the DB_ENV->log_archive interface
if a log file was not found. [#16013]
Memory Pool Subsystem Changes:
1. Fix multiple MVCC bugs including a race, which could result in
incorrect data being returned to the application. [#15653]
2. Fixed a bug that left an active file in the buffer pool after a
database create was aborted. [#15918]
3. Fix a bug where there could be uneven distribution of pages if a
single database and multiple cache regions are configured. [#16015]
4. Fix a bug where DB_MPOOLFILE->set_maxsize was dropping the wrong mutex
after open. [#16050]
Mutex Subsystem Changes:
1. Fix a bug where mutex contention in database environments configured
for hybrid mutex support could result in performance degradation.
[#15646]
2. Set the DB_MUTEX_PROCESS_ONLY flag on all mutexes in private
environments, they can't be shared and so we can use the faster,
intra-process only mutex implementations [#16025]
3. Fix a bug so that mutexes are now removed from the environment
signature if mutexes are disabled. [#16042]
Transaction Subsystem Changes:
1. Fix a bug that could cause a checkpoint to selfblock attempting to
flush a file, when the file handle was closed by another thread during
the flush. [#15692]
2. Fix a bug that could cause DB_ENV->failcheck to hang if there were
pending prepared transactions in the environment. [#15925]
3. Prepared transactions will now use the sync setting from the
environment. Default to flushing the log on commit (was nosync).
[#15995]
4. If __txn_getactive fails, we now return with the log region mutex
held. This is not a bus since __txn_getactive cannot really fail.
[#16088]
Utility Changes:
1. Update db_stat with -x option for mutex stats
2. Fix an incorrect assumption about buffer size when getting an overflow
page in db_verify. [#16064]
Configuration, Documentation, Sample Application, Portability and Build
Changes:
1. Fix an installation bug where the Berkeley DB PHP header file was not
installed in the correct place.
2. Merge the run-time configuration sleep and yield functions. [#15037]
3. Fix Handle_DEAD and other expected replication errors in the C++
sample application ReqQuoteExample.cpp. [15568]
4. Add support for monotonic timers. [#15670]
5. Fix bugs where applications using the db_env_func_map and
db_env_func_unmap run-time configuration functions could not join
existing database environments, or open multiple DB_ENV handles for a
single environment. [#15930]
6. Add documentation about building Berkeley DB for VxWorks 6.x.
7. Remove the HAVE_FINE_GRAINED_LOCK_MANAGER flag, it is obsolete in 4.7.
8. Fix a bug in ex_rep, add a missing break which could cause a segment
fault.
9. Fix build warnings from 64 bit Windows build. [#16029]
10. Fix an alignment bug on ARM Linux. Force the assignment to use
memcpy. [#16125]
11. Fix a bug in the Windows specific code of ex_sequence.c, where there
was an invalide printf specifier. [#16131]
12. Improve the timer in ex_tpcb to use high resolution timers. [#16154]
13. Mention in the documentation that env->open() requires DB_THREAD to be
specified when using repmgr. [#16163]
14. Disable support for mmap on Windows CE. The only affect is that we do
not attempt to mmap small read only databases into the mpool. [#16169]
2.5.0:
- Windows binaries are now cross-built using mingw on Linux
- import various fixes from Python 2.6 version
- Connection has new method iterdump() that allows you to create a script file
that can be used to clone a database
- the docs are now built using Sphinx and were imported from Python 2.6's
sqlite3 module
- Connection.enable_load_extension(enabled) to allow/disallow extension
loading. Allows you to use fulltext search extension, for example ;-)
- Give the remaining C functions used in multiple .c source files the pysqlite_
prefix.
- Release GIL during sqlite3_prepare() calls for better concurrency.
- Automatically download the SQLite amalgamation when building statically.
2.4.1:
- Made unicode strings for the database parameter in connect() work again
- Removed bad defaults from setup.cfg
2.4.0:
- Implemented context managers. pysqlite's connections can now be used as
context managers with Python 2.5 or later:
from __future__ import with_statement
from pysqlite2 import dbapi2 as sqlite
con = sqlite.connect(":memory:")
con.execute("create table person (id integer primary key, firstname varchar unique)")
# Successful, con.commit() is called automatically afterwards
with con:
con.execute("insert into person(firstname) values (?)", ("Joe",))
# con.rollback() is called after the with block finishes with an exception, the
# exception is still raised and must be catched
try:
with con:
con.execute("insert into person(firstname) values (?)", ("Joe",))
except sqlite.IntegrityError:
print "couldn't add Joe twice"
- pysqlite connections can now be created from APSW connections. This enables
users to use APSW functionality in applications using the DB-API from
pysqlite:
from pysqlite2 import dbapi2 as sqlite
import apsw
apsw_con = apsw.Connection(":memory:")
apsw_con.createscalarfunction("times_two", lambda x: 2*x, 1)
# Create pysqlite connection from APSW connection
con = sqlite.connect(apsw_con)
result = con.execute("select times_two(15)").fetchone()[0]
assert result == 30
con.close()
Caveat: This will only work if both pysqlite and APSW are dynamically
linked against the same SQLite shared library. Otherwise you will
experience a segfault.
- Fixed shuffled docstrings for fetchXXX methods.
- Workaround for SQLite 3.5.x versions which apparently return NULL for
"no-operation" statements.
- Disable the test for rollback detection on old SQLite versions. This prevents
test failures on systems that ship outdated SQLite libraries like MacOS X.
- Implemented set_progress_handler for progress callbacks from SQLite. This is
particularly useful to update GUIs during long-running queries. Thanks to
exarkun for the original patch.
oriented interface to databases like DBIx-Class is for Perl. It is quite
extensible and widely deployed.
It contains compilers for a number of database engines which are used
only if they're requested explicitly, nevertheless the package offers to
depend on some of them explicitly as requested by
PKG_OPTIONS.py-sqlalchemy.
Tokyo Cabinet is a library of routines for managing a database. The database is
a simple data file containing records, each is a pair of a key and a value.
Every key and value is serial bytes with variable length. Both binary data and
character string can be used as a key and a value. There is neither concept of
data tables nor data types. Records are organized in hash table, B+ tree, or
fixed-length array.
This package provides Ruby binding of Tokyo Cabinet.
Tokyo Cabinet is a library of routines for managing a database. The database is
a simple data file containing records, each is a pair of a key and a value.
Every key and value is serial bytes with variable length. Both binary data and
character string can be used as a key and a value. There is neither concept of
data tables nor data types. Records are organized in hash table, B+ tree, or
fixed-length array.
This package provides Perl binding of Tokyo Cabinet.
Tokyo Cabinet is a library of routines for managing a database. The database is
a simple data file containing records, each is a pair of a key and a value.
Every key and value is serial bytes with variable length. Both binary data and
character string can be used as a key and a value. There is neither concept of
data tables nor data types. Records are organized in hash table, B+ tree, or
fixed-length array.
in the NetBSD Packages Collection.
The Perl 5 module DBIx::Class::InflateColumn::IP is a DBIx::Class
component to declare columns as IP addresses and treat them as
NetAddr::IP objects.
NetBSD Packages Collection.
The Perl 5 module DBIx::Class::Fixtures allows to dump fixtures
from source database to filesystem then import to another database
(with same schema) at any time. Use as a constant dataset for
running tests against or for populating development databases when
impractical to use production clones. Describe fixture set using
relations and conditions based on your DBIx::Class schema.
Collection.
The Perl 5 module Jifty::DBI deals with databases, so that you
don't have to. This module provides an object-oriented mechanism
for retrieving and updating data in a DBI-accessible database.
This module is the direct descendent of DBIx::SearchBuilder. If
you're familiar with SearchBuilder, Jifty::DBI should be quite
familiar to you.
Collection.
The Perl 5 module DBM::Deep is a unique flat-file database module,
written in pure perl. True multi-level hash/array support (unlike
MLDBM, which is faked), hybrid OO / tie() interface, cross-platform
FTPable files, ACID transactions, and is quite fast. Can handle
millions of keys and unlimited levels without significant slow-down.
Written from the ground-up in pure perl -- this is NOT a wrapper
around a C-based DBM. Out-of-the-box compatibility with Unix, Mac
OS X and Windows.
Set archive server to MASTER_SITES instead.
Noticed outdated MASTER_SITES by Zafer Aydogan via private mail.
XXX: Should be switched to individual package found in
XXX: ${MASTER_SITE_PGSQL:=odbc/versions/src} ?
* Added the lookaside memory allocator for a speed improvement in excess of 15%
on some workloads. (Your mileage may vary.)
* Added the SQLITE_CONFIG_LOOKASIDE verb to sqlite3_config() to control the
default lookaside configuration.
* Added verbs SQLITE_STATUS_PAGECACHE_SIZE and SQLITE_STATUS_SCRATCH_SIZE to
the sqlite3_status() interface.
* Modified SQLITE_CONFIG_PAGECACHE and SQLITE_CONFIG_SCRATCH to remove the "+4"
magic number in the buffer size computation.
* Added the sqlite3_db_config() and sqlite3_db_status() interfaces for
controlling and monitoring the lookaside allocator separately on each
database connection.
* Numerious other performance enhancements
* Miscellaneous minor bug fixes
0.28 11 Aug 2008
* API for ModelAdapter changed to pass controller instance in do_model()
* add get_primary_key() and make_primary_key_string()
methods to base Controller.
This allows for PKs composed of multiple columns.
Move from BSD Makefile to libtool
Use DESTDIR
Use PKG_MANDIR
Install the programs with this package as well as the library
Make this build on Mac OS X - there was a problem with case sensitivity
Use modern regexp calls
Get rid of lint
Bump PKGREVISION
Use DESTDIR
Use PKG_MANDIR
Install the programs with this package as well as the library
Make this build on Mac OS X - there was a problem with case sensitivity
Use modern regexp calls
Get rid of lint
Bump PKGREVISION
1.54 Sun Feb 10 21:35:02 PST 2008
Modify fromFileGetTopLines method, remove dependency on bytes
bytes::substr causes infinite loop in some older version of perl
1.53 Thu Jan 3 21:13:40 PST 2008
add "use bytes" to Table.pm
Just patched test.pl, because some OS cannot open in-memory file.
1.52 Fri Dec 14 11:48:42 PST 2007
1.51 Wed Dec 12 15:36:22 PST 2007
1. Add a class methods Data::Table::fromFile(file_name), which can
guess the file format and call fromCSV/fromTSV internally.
fromFile relies on the following new methods
fromFileGuessOS(file_name)
fromFileGetTopLines($file_name, $OS, $lineNumber)
fromFileIsHeader($string)
fromFileGuessDelimiter($arrayRefToLines)
to figure out if the input file is from UNIX/PC/MAC, whether its first
row contains column headers, and whether it uses ",", "\t" or ":" as
field delimiters.
It then calls either fromCSV or fromTSV to return the table object.
$t = Data::Table::fromFile("myFileName_CSVorTSV_HeaderOrNoHeader_UNIXorPCorMAC
");
Please refers to the updated document for details.
2. When fromFile/fromCSV/fromTSV reads from an empty file, it returns
an undef object, rather than quit.
3. Provide more informative error message, when invalid column header is found
.
4. fixed a bug in 1.51 where fromFileGuessOS failed in Windows
Thanks to patches provided by "whitebell".
- patch #1987593 [interface] Table list pagination in navi
- bug #1989081 [profiling] Profiling causes query to be executed again
(really causes a problem in case of INSERT/UPDATE)
- bug #1990342 [import] SQL file import very slow on Windows
- bug [XHTML] problem with tabindex and radio fields
- bug #1971221 [interface] tabindex not set correctly
- bug [views] VIEW name created via the GUI was not protected
with backquotes
- bug #1989813 [interface] Deleting multiple views (space in name)
- bug #1992628 [parser] SQL parser removes essential space
- bug #1989281 [export] CSV for MS Excel incorrect escaping of
double quotes
- bug #1959855 [interface] Font size option problem when no
config file
- bug #1982489 [relation] Relationship view should check for changes
- bug [history] Do not save too big queries in history
- [security] Do not show version info on login screen
- bug #2018595 [import] Potential data loss on import resubmit
- patch #2020630 [export] Safari and timedate
- bug #2022182 [import, export] Import/Export fails because of
Mac files
- [security] protection against cross-frame scripting and
new directive AllowThirdPartyFraming
- [security] possible XSS during setup
- [interface] revert language changing problem introduced
with 2.11.7.1
- small fix for notice about "lang"
This update fixes the security vulnerability reported in PMASA-2008-6.
* image size does get returned properly even with --lazy active
this broke a number of frontends which should work now.
* fix rrd_restore to be able to read rrd 1.0.x generated dumps again.
* several documetation fixes
* make rrdtool.spec work without php
* complain when someone tries to create an rrd file with step size zero.
* added filename to illegal updated interval error message.
* fix number of rows returned by python modules fetch implementation.
directory traversal), CVE-2007-1232 an CVE-2008-0516. Update to 1.2.0 in
order to make this possible at all. Also remove manu as maintainer as he
suggested in mail.
took maintainership
updated REPLACE_PERL section
ChangeLog:
Changes in DBI 1.607 (svn r11571) 22nd July 2008
NOTE: Perl 5.8.1 is now the minimum supported version.
If you need support for earlier versions send me a patch.
Fixed missing import of carp in DBI::Gofer::Execute.
Added note to docs about effect of execute(@empty_array).
Clarified docs for ReadOnly thanks to Martin Evans.
ChangeLog:
Changes log for Perl extension SQL::Statement
Version 1.15, released 2 February, 2006
----------------------------------------
* fixed placeholder bug in SQL::Statement::UPDATE
thanks for bug report Tanktalus
Version 1.14, released 21 April, 2005
----------------------------------------
* fixed circular dependency in tests (one mistakenly required AnyData)
Version 1.13, released 18 April, 2005
----------------------------------------
* pod fixes
Version 1.12, released 18 April, 2005
----------------------------------------
* added support for GROUP BY
(several people sent suggestions for this in the past, please email me
so I can credit you, sorry I lost the names)
* added support for true LIMIT - if a LIMIT clause is specified and
no ORDER BY clause is specified, the SELECT will stop searching
when the limit is reached; with an ORDER BY clause it will still
search the entire table because we can only ORDER a set; using
LIMIT without an ORDER BY will greatly increase speed
* added support for CREATE/DROP keyword|operator|type|function
* optimized process_predicate to only look up scalars once
* completely re-wrote the POD
* fixed bug in primary key search optimization
thanks for bug report and test scripts: Jim Lambert, <jimlambrtATmac.com>
* fixed problem with all_cols slowing inserts
thanks for patch and test Cosimo Streppone <cosimoATcpan.org>
* cleaned up case of temp table column names
thanks for bug report: Dan Wright
* added a META.YML and extra tests
1.817 27 March 2008
* Updated dbinfo
* Applied core patch 32299 - Re-apply change #30562
* Applied core patch 32208
* Applied core patch 32884 - use MM->parse_version() in Makefile.PL
* Applied core patch 32883 - Silence new warning grep in void
context warning
* Applied core patch 32704 to remove use of PL_na in typemap
* Applied core patch 30562 to fix a build issue on OSF
1.816 28 October 2007
* Clarified the warning about building with a different version of
Berkeley DB that is used at runtime.
* Also made the boot version check less strict.
[rt.cpan.org #30013]
* Modifications to the virtual file system interface to support a wider range
of embedded systems.
* All C-preprocessor macros used to control compile-time options now begin
with the prefix "SQLITE_".
* The SQLITE_MUTEX_APPDEF compile-time option is no longer supported.
* The handling of IN and NOT IN operators that contain a NULL on their
right-hand side expression is brought into compliance with the SQL standard
and with other SQL database engines. This is a bug fix, but as it has the
potential to break legacy applications that depend on the older buggy
behavior.
* The result column names generated for compound subqueries have been
simplified to show only the name of the column of the original table and
omit the table name. This makes SQLite operate more like other SQL database
engines.
* Added the sqlite3_config() interface for doing run-time configuration of the
entire SQLite library.
* Added the sqlite3_status() interface used for querying run-time status
information about the overall SQLite library and its subsystems.
* Added the sqlite3_initialize() and sqlite3_shutdown() interfaces.
* The SQLITE_OPEN_NOMUTEX option was added to sqlite3_open_v2().
* Added the PRAGMA page_count command.
* Added the sqlite3_next_stmt() interface.
* Added a new R*Tree virtual table
- verify the dependencies added: p5-File-Temp, p5-Encode
ChangeLog:
1.54 Wed Jul 9 09:34:25 EDT 2008
When aborting transactions, we need to flush our cache,
because SQLite is reusing the primary id for later inserts and the cache
can otherwise become inconsistent.
- bug #1908719 [interface] New field cannot be auto-increment and
primary key
- [dbi] Incorrect interpretation for some mysqli field flags
- bug #1910621 [display] part 1: do not display a TEXT utf8_bin
as BLOB (fixed for mysqli extension only)
- [interface] sanitize the after_field parameter,
thanks to Norman Hippert
- [structure] do not remove the BINARY attribute in drop-down
- bug #1955386 [session] Overriding session.hash_bits_per_character
- [interface] sanitize the table comments in table print view,
thanks to Norman Hippert
- bug #1939031 Auto_Increment selected for TimeStamp by Default
- patch #1957998 [display] No tilde for InnoDB row counter when
we know it for sure, thanks to Vladyslav Bakayev - dandy76
- bug #1955572 [display] alt text causes duplicated strings
- bug #1762029 [interface] Cannot upload BLOB into existing row
- bug #1981043 [export] HTML in exports getting corrupted,
thanks to Jason Judge - jasonjudge
- bug #1936761 [interface] BINARY not treated as BLOB:
update/delete issues
- protection against XSS when register_globals is on and .htaccess
has no effect, thanks to Tim Starling
- bug #1996943 [export] Firefox 3 and .sql.gz (corrupted);
detect Gecko 1.9, thanks to Juergen Wind
- (2.11.7.1) [security] XSRF/CSRF by manipulating the db,
convcharset and collation_connection parameters,
thanks to YGN Ethical Hacker Group
This update fixes the security vulnerability reported in PMASA-2008-5.