slightly reworked by myself. David will now maintain it.
The 2.x series support OpenLDAP 2.x. From then an incomplete list of
changes is available in the CHANGES file of the distfile.
A set of Perl 5 modules for reading, manipulating, and writing the
.pdb and .prc database files used by PalmOS devices such as the
PalmPilot and its successors.
about pthreads here; g/c the unneeded patch too
XXX eventually we might consider a thread-safe variant of this
module for PHP under Apache 2.x, which would use (thread-safe)
libldap_r rather than the (not thread safe) libldap
bump pkg revision just in case
BUILDLINK_{CPPFLAGS,LDFLAGS}.<pkg> where we're adding search directories.
Using the former should do the right thing for pkgviews if we do binary
package upgrades of dependencies by inserting the right default view
directories into the search path as well.
Changes:
0.241:
======
- XBase: codepage option to XBase->create added, suggested by
Chris Greenhill.
0.240:
======
- XBase: delete_record/undelete_record now corrctly returns
false when the delete fails, problem reported by Boris Kocak.
0.234:
======
- Added test to Makefile.PL and note to INSTALL about case
insensitive clash with Xbase.pm, suggested by Michael Higgins
and Jan from AS.
- Added documentation / comments about datetime, suggested
by John Freed.
- Xbase: Added the recompute_lastrecno parameter, suggested by
Kevin J. Rice. Added EOF to create, suggested by Ilya Sandler.
* Documentation updates
* Fixed bug checking return value of client_step in bind()
* Fixed bug in Entry.pm causing method calls on unblessed references
most popular database language in the world. MySQL is a client-server
implementation that consists of a server daemon `mysqld' and many
different client programs/libraries.
The main goals of MySQL are speed and robustness.
The base upon which MySQL is built is a set of routines that have been
used in a highly demanding production environment for many years. While
MySQL is still in development it already offers a rich and highly useful
function set.
The official way to pronounce 'MySQL' is 'My Ess Que Ell' (Not MY-SEQUEL).
This package contains the MySQL server programs and libraries.
most popular database language in the world. MySQL is a client-server
implementation that consists of a server daemon `mysqld' and many
different client programs/libraries.
The main goals of MySQL are speed and robustness.
The base upon which MySQL is built is a set of routines that have been
used in a highly demanding production environment for many years. While
MySQL is still in development it already offers a rich and highly useful
function set.
The official way to pronounce 'MySQL' is 'My Ess Que Ell' (Not MY-SEQUEL).
This package contains the MySQL client programs and libraries.
dbstats from Heidemann's web page.
Changes since 1.7 apart from bugfixes:
1.12, 30-Oct-02
- NEW: dbcolmultiscale
- NEW: dbcol has -r option for "relaxed error checking"
- NEW: dbcolneaten has new -e option to strip end-of-line spaces
- NEW: dbrow finally has a -v option to negate the test
- NEW: db_to_html_table: simple conversion to html tables
- NEW: dblib now has a function dblib_text2html() that will
1.11, 2-Nov-01
- NEW: dbcolneaten now supports "field specifiers" that
allow some control over how wide columns should be
- OPTIMIZATION: dbsort now tries hard to be filesystem cache-friendly
1.10, 10-Apr-01
- NEW: dbstats now includes a -S option to optimize work on
pre-sorted data (inspired by code contributed by Haobo Yu)
1.9, 6-Nov-00
- NEW: dbfilesplit, split a single input file into multiple output files.
1.8, 28-Jun-00
- NEW: dbrowuniq now optionally checks for uniqueness only on certain fields
- NEW: dbrowsplituniq makes one pass through a file and splits it into
separate files based on the given fields
- NEW: converter for "crl" format network traces
- NEW: anywhere you use arbitrary code (like dbroweval),
_last_foo now maps to the last row's value for field _foo.
- OPTIMIZATION: comment processing slightly changed so that
dbmultistats now is much faster on files with lots of comments.
completely. Please note that a Fortran compiler is not needed by
this package but configure -libtool in fact- tickles it if one is
found.
Also fix build for older NetBSD/sparc64 compiler by patching SHA1
code the usual way.
Clean up Makefile.
Set MAINTAINER to tech-pkg@NetBSD.org (previous maintainer, Alex
Newman, says he no longer maintains this).
Changes are too many to list.
via pkgsrc-wip
The ZODB package is a Python object persistence system. It provides the
Z Object Database separately from Zope so it can be used in non-Zope related
Python applications to provide transparent object-oriented persistency.
problem noted on current-users by Murray Armfield.
The problem was: "Just try executing slapindex to get quite a verbose
libpthread invalid mutex message. slapd still core dumps on
shutdown."
Thanks to Christian for fixing this.
From release announcemenet:
After a lengthy QA process, PHP 4.3.4 is finally out!
This is a medium size maintenance release, with a fair number of bug fixes.
All users are encouraged to upgrade to 4.3.4.
Bugfix release
PHP 4.3.4 contains, among others, following important fixes, additions
and improvements:
* Fixed disk_total_space() and disk_free_space() under FreeBSD.
* Fixed FastCGI support on Win32.
* Fixed FastCGI being unable to bind to a specific IP.
* Fixed several bugs in mail() implementation on win32.
* Fixed crashes in a number of functions.
* Fixed compile failure on MacOSX 10.3 Panther.
* Over 60 various bug fixes!
For full list of changes in PHP 4.3.4, see ChangeLog:
http://www.php.net/ChangeLog-4.php#4.3.4
isn't available anymore
Changes since 0.61:
Version 0.61.2 (August 2003):
- fix some memory leaks
- fix bug binding parameters with NULL indicator
Version 0.61.1 (May 2003):
- Fixed segfault on opening log file in append mode
- locale initialization?
- fix segfault when used with iODBC
- better configure script for HP/UX 11
curses.buildlink2.mk. This was wrong because we _really_ do want to
express that we want _n_curses when we include the buildlink2.mk file.
We should have a better way to say that the NetBSD curses doesn't
quite work well enough. In fact, it's far better to depend on ncurses
by default, and exceptionally note when it's okay to use NetBSD curses
for specific packages. We will look into this again in the future.
set, the packages contain extra security fixes, which are not part
of 3.23.51 distribution
NOTE: this is the last 3.23.x version with bundled mit-pthreads package;
any further upgrade would need some additional efford to keep the package
usable on NetBSD 1.6.x and older
Highlights of changes:
* Add missing <row> tags for mysqldump XML output.
* SHOW VARIABLES LIKE 'xxx' is now case-insensitive
* InnoDB now allows foreign key constraints to be added through the
ALTER TABLE syntax.
* InnoDB tables can now be set to automatically grow in size (autoextend).
* Changed name of server variables Com_show_master_stat to
Com_show_master_status and Com_show_slave_stat to Com_show_slave_status.
* Changed handling of gethostbyname() to make the client library thread-safe
even if gethostbyname_r doesn't exist.
* If we get an overflow when inserting '+11111' for DECIMAL(5,0) UNSIGNED
columns, we will just drop the sign.
* many bugfixes
Full list of changes:
3.23.50:
* Fixed buffer overflow problem if someone specified a too long datadir
parameter to mysqld
* Add missing <row> tags for mysqldump XML output.
* Fixed problem with crash-me and gcc 3.0.4.
* Fixed that @@unknown_variable doesn't hang server.
* Added @@VERSION as a synonym for VERSION().
* SHOW VARIABLES LIKE 'xxx' is now case-insensitive.
* Fixed timeout for GET_LOCK() on HP-UX with DCE threads.
* Fixed memory allocation bug in the glibc library used to build Linux
binaries, which caused mysqld to die in 'free()'.
* Fixed SIGINT and SIGQUIT problems in mysql.
* Fixed bug in character table converts when used with big ( > 64K) strings.
* InnoDB now retains foreign key constraints through ALTER TABLE and
CREATE/DROP INDEX.
* InnoDB now allows foreign key constraints to be added through the
ALTER TABLE syntax.
* InnoDB tables can now be set to automatically grow in size (autoextend).
* Our Linux RPMS and binaries are now compiled with gcc 3.0.4, which should
make them a bit faster.
* Fixed some buffer overflow problems when reading startup parameters.
* Because of problems on shutdown we have now disabled named pipes on Windows
by default. One can enable named pipes by starting mysqld
with --enable-named-pipe.
* Fixed bug when using WHERE key_column = 'J' or key_column='j'.
* Fixed core-dump bug when using --log-bin with LOAD DATA INFILE without
an active database.
* Fixed bug in RENAME TABLE when used with lower_case_table_names=1 (default
on Windows).
* Fixed unlikely core-dump bug when using DROP TABLE on a table that was
in use by a thread that also used queries on only temporary tables.
* Fixed problem with SHOW CREATE TABLE and PRIMARY KEY when using 32 indexes.
* Fixed that one can use SET PASSWORD for the anonymous user.
* Fixed core dump bug when reading client groups from option files using
mysql_options().
* Memory leak (16 bytes per every corrupted table) closed.
* Fixed binary builds to use --enable-local-infile.
* Update source to work with new version of bison.
* Updated shell scripts to now agree with new POSIX standard.
* Fixed bug where DATE_FORMAT() returned empty string when used with GROUP BY.
3.23.51:
* Fix bug with closing tags missing slash for mysqldump XML output.
* Remove end space from ENUM values. (This fixed a problem with SHOW CREATE
TABLE.)
* Fixed bug in CONCAT_WS() that cut the result.
* Changed name of server variables Com_show_master_stat to
Com_show_master_status and Com_show_slave_stat to Com_show_slave_status.
* Changed handling of gethostbyname() to make the client library thread-safe
even if gethostbyname_r doesn't exist.
* Fixed core-dump problem when giving a wrong password string to GRANT.
* Fixed bug in DROP DATABASE with symlinked directory.
* Fixed optimisation problem with DATETIME and value outside DATETIME range.
* Removed Sleepycat's BDB doc files from the source tree, as they're not needed
(MySQL covers BDB in its own documentation).
* Fixed MIT-pthreads to compile with glibc 2.2 (needed for make dist).
* Fixed the FLOAT(X+1,X) is not converted to FLOAT(X+2,X). (This also affected
DECIMAL, DOUBLE and REAL types)
* Fixed the result from IF() is case in-sensitive if the second and third
arguments are case sensitive.
* Fixed core dump problem on OSF/1 in gethostbyname_r.
* Fixed that underflowed decimal fields are not zero filled.
* If we get an overflow when inserting '+11111' for DECIMAL(5,0) UNSIGNED
columns, we will just drop the sign.
* Fixed optimisation bug with ISNULL(expression_which_cannot_be_null) and
ISNULL(constant_expression).
* Fixed host lookup bug in the glibc library that we used with the 3.23.50
Linux-x86 binaries.
used instead of PKG_SYSCONFDIR. The openldap build defines a
ldap_subdir (as /openldap) which is automatically appended (unless
using --without-subdir which also breaks share and libexec). (Okay'd
by wiz.)
Update provided by Min Sik Kim <minskim@bawi.org> in PR pkg/22850.
Changes:
0.5.0
- tried to work around some problems with readline
- some documentation update
20030530
- updated autoconf/automake
- updated man page
- pine import filter update
20021008
- options.c rewritten (new mutt style rc file support)
- palmcsv export filter (Koenraad Heijlen)
- added a spec file for rpm support
- added --with-readline configure option
- merged newtab patch by Sinan Kaan Yerli
- new option: add_email_prevent_duplicates
- bugfixes
2002-03-11
- readline support
- abook can be compiled with g++
- attempt to improve --datafile behavior
- html filter update (Morten Brix Pedersen)
- store rcfile and addressbook to .abook directory
2002-02-04
- use getopt to parse command line (also new options added)
- use strcoll instead of strcmp for sorting entries
- html filter fix
- bugfixes
Add optional dependencies for SASL Authentification mechanisms.
Full ChangeLog at the top of the tarball, here's an extract:
Release 0.29
Work-a-round a bug in IO::Socket::SSL where it leaves the socket
blessed into IO::Socket::SSL when socket_to_SSL fails
Fix reference loop problem by hiding the real object behind a tied
hash and only using the inner hash internally and the outer hash
externally
Extended ldap_error_name, ldap_error_text and ldap_error_desc to take Message args
Added error_name, error_text and error_desc methods
Release 0.28
Fix url host extraction
Fix bug in URL parsing when the host contains a port.
Change root_dse to return a RootDSE object instead of an Entry
Add support for URIs to be passed to ->new. ldap: ldaps: and ldapi:
are supported.
Change Net::LDAPS and Net::LDAPI to be very thin wrappers over new URI code
Support "Notice of Disconnection"
Added LDAP Extensions section
Call the callback, if any, for a message when its
error is explicitly set
Check result of client_step is defined or cause SASL auth to terminate
Check client_start return value
changes now returns an empty array if there were no changes.
Added ->disconnect to do explicit disconnects from the server
Better handling on IO errors
Return schema parse errors
Fix VLV response extraction. Patch from Paul Connolly
Added information about perl-ldap installation in ActiveState Perl.
Changed Messaging Direct to Isode.
Added some information about the ResourcePool perl module.
Replaced XML::Parse with XML::SAX.
Change XML::Parser to XML::SAX::Base
Changed decryptkey to keydecrypt for consistency
Fixed clone(): update $clone->{changetype} and $clone->{changes}.
Added the ablitiy to modify entry information by reading a ldif file. This
requires the patch that I submitted for LDAP.pm.
Added clone() function to copy an Entry object.
This release contains the following major enhancements:
* Transactional backend
* Improved Unicode handling
* Improved DN handlng
* Improved Referral handling
* SASL authentication/authorization mapping
* SASL in-directory storage of authentication secrets
* Enhanced administrative limits/access controls
* Meta backend (experimental)
* Monitor backend (experimental)
* Virtual "glue" backend (experimental)
* LDAP C++ API
* Updated LDAP C and TCL APIs
* LDAPv3 extensions, including:
- Enhanced Language Tag/Range Support
- 'Who am i?' Extended Operation
- 'Matched Values' Control
- 'NOOP' Control
plus lots of bug fixes.
Update (to 2.1.20) from Juan RP in PR pkg/21682 with some tidy up and
update to 2.1.22 by Marc Recht and me.
Also closes PR pkg/21217 by Jean-Luc Wasmer and PR pkg/20972 by Jeremy
Reed.
by Rasputin <rasputin at idoru dot mine dot nu>.
Vapor is a persistent Object-Repository for Ruby, providing
transparent persistence of Ruby objects to a PostgreSQL database.
It's goal is to provide developers with an easy-to-use persistence
framework that does not interfere with the code of classes that
are to be persistently stored.
Vapor does not require any knowledge about relational databases,
so developers can concentrate on the task of writing their application logic.
Some of Vapor's general design was inspired by the JDO
(Java Data Objects) standard.
Inspired by FreeBSD "ports".
Fix the PLISTs accordingly.
Also, while at it, remove now obsolete compileall.py calls in post-install
targets and insure that extension.mk is in included before builinlinks of
other Python modules.
Discussed with/ok'ed by drochner@.
USE_GCC2 or USE_GCC3 where appropriate.
the functionality of the old gcc.buildlink2.mk has been rolled into
compiler.mk now, which is automatically used.
more changes to come later...
Changes from web page:
2003-08-10 2.4.5
* extconf.rb: correspond to MySQL 4.1.
* mysql.c.in: correspond to Ruby 1.8.
2003-02-23 2.4.4a
* make extconf.rb to correspond to Ruby 1.8.0
2003-01-29 2.4.4
* add Mysql::OPT_LOCAL_INFILE.
* add --with-mysql-config option to extconf.rb.
* extconf.rb automatically detect typical library.
2003-01-05 2.4.3c
* modified English README. Thanks to Paul DuBois.
2002-12-24 2.4.3b
* make extconf.rb to correspond to Ruby 1.6.8.
2002-11-07 2.4.3a
* fix bug duplicating constant.
2002-09-10 2.4.3
* for error number with prefix ER_ .
* get error constant from errmsg.h and mysqld_error.h automatically.
2002-03-31 2.4.2a
* change extconf.rb.
Convert to use buildlink2.mk for postgress dependency.
===========================================
Mon Jan 6 2003 version 0.7.1
* async_exec: remove check of PQisBusy.
patch supplied byd <m_seki@mva.biglobe.ne.jp>
Wed Oct 16 2002 version 0.7.0
* rename README.jp -> README.ja.
Thu Oct 10 2002
* get_notify: bug fix Deletes of unnecessary "free(notify);"
debian bug report.
Wed Oct 9 2002
* query: add pgresult_clear.
patch supplied by "Shirai,Kaoru" <shirai@p1jp.com>
Sat Sep 28 2002
* PGconn: add methods escape, quote, escape_bytes.
patch supplied by MoonWolf <moonwolf@moonwolf.com>
Tue Aug 20 2002
* extconf.rb add dir_config('postgres')
patch supplied by Nate Haggard <nate@wordplace.com>
Mon Jun 3 2002 version 0.7.0-pre2
* not to use fe_getauthname().
patch supplied by Neil Conway <nconway@klamath.dyndns.org>
Thu May 30 2002 version 0.7.0-pre1
* Fix to insert_table so that nil values in Ruby are inserted
back into the database as nulls.
patch supplied by Jeremy Henty <jeremy@chaos.org.uk>
* Fix to insert_table to protect characters that Postgres would
otherwise interpret specially.
patch supplied by Jeremy Henty <jeremy@chaos.org.uk>
Wed Apr 24 2002
* Removed unused variables.
* Improve notification code.
* Add a missing "return Qnil" statement in a function
declared to return VALUE.
* Fix an minor error in pgconn_loopen().
patch supplied by Neil Conway <nconway@klamath.dyndns.org>
Tue Mar 5 2002
* fix pglarge_write return.
patch supplied by Noboru Matui <silicon@mx1.freemail.ne.jp>
Mon Jan 7 2002
* refer to POSTGRES_INCLUDE and POSTGTRES_LIB
environmental variables.
patch supplied by Neil Conway <nconway@klamath.dyndns.org>
Sun Dec 16 2001
* add methods "getisnull".
patch supplied by Jeremy Henty <jeremy@chaos.org.uk>
Tue Nov 27 2001
* convert NULL => nil .
patch supplied by "Shirai,Kaoru" <shirai@p1jp.com>
from pkgsrc-wip
This is a utility which will run through PostgreSQL system tables and returns
HTML, DOT, and 2 styles of XML which describes the database. The HTML is human
readable (via webbrowser). The first style of XML is actually the fileformat
of Dia, a UML diagram tool. The second type of XML is similar to the HTML but
in the Docbook 4 format. It enables you to mix in other docbook documentation
via the XREFs, generating PDFs, HTML, RTF, or other formatted documents.
Between these tools and JavaDoc with the appropriate XREFs, documentation
about a project can be generated quickly and be easily updatable yet have a
very professional look with some DSSSL work.
from pkgsrc-wip
pyPgSQL is a package of two modules that provide a Python DB-API 2.0 compliant
interface to PostgreSQL databases. The first module, libpq, exports the
PostgreSQL C API to Python. This module is written in C and can be compiled
into Python or can be dynamically loaded on demand. The second module, PgSQL,
provides the DB-API 2.0 compliant interface and support for various PostgreSQL
data types, such as INT8, NUMERIC, MONEY, BOOL, ARRAYS, etc. This module is
written in Python.
Changes:
GQ has a lot of new features, including
* SASL support (Maurice Massar <massar@unix-ag.uni-kl.de>)
* Correct(!) support for userPassword including SSHA and SMD5 encryption.
* I18N support (if you want to contribute please read README.NLS) including
a rough german translation
* Support for graphical jpegPhoto display (requires gdk-pixbuf to work)
* Support to to view X509 certificates and X509 certificate revocation
lists (CRLs)
* Drag and drop support in browse mode (must be enabled using
--enable-browser-dnd), this feature is possibly dangerous if used without
thought, but it is GREAT if you need it ;-)
* Supports the OpenLDAP experimental client cache. (must be enabled using
--enable-cache)
* Lots of other small bugfixes/enhancements
Some highlights of changes since 4.2.3:
* PCRE updated to 4.3, GD to 2.0.15
* improved Apache2 support
* much improved stream & URL wrapper support, output compression support
* added CLI (Command Line Interface) SAPI
* debug_backtrace() backported from ZendEngine2
* faster build system
* huge number of other bug fixes and improvements
Packaging changes:
* 'pcre', 'xml', and 'session' modules folded back into main package -
'pcre' and 'xml' is required by PEAR, and 'session' is just too essential
to be separate
* 'gd' module now uses bundled PHP GD library, which is better integrated
* PHP modules use shared distinfo when possible to ease future PHP updates
* ${PREFIX}/bin/php is now CLI version, ${PREFIX}/libexec/cgi-big/php
remains CGI version
USE_PKGINSTALL is "YES". bsd.pkg.install.mk will no longer automatically
pick up a INSTALL/DEINSTALL script in the package directory and assume that
you want it for the corresponding *_EXTRA_TMPL variable.
- Remove extraneous bits in the INSTALL script snippet and let the
framework execute the script at post-install time.
- Use OWN_DIRS_PERMS instead of MAKE_DIRS_PERMS for ${MYSQL_DATADIR} thus
save a DEINSTALL script snippet and its handling.
for a possessive (like her, his, whose, their, and its).
Note that I didn't check for proper use of "its" (when it should
be "it is" or "it has" instead).
I also saw over 15 other grammar or punctuation problems, but not
fixed in this commit.
MYSQL_CHARSET is default charracter set of mysql, default is "latin1".
MYSQL_EXTRA_CHARSET is additional charsets to be compiled in mysql,
default is "all".
Fix PR pkg/22560 by myself, OKed by wiz@.
not required. Changes include:
Repair breakage in timestamp-to-date conversion for dates before 2000
Prevent rare possibility of server startup failure (Tom)
Fix bugs in interval-to-time conversion (Tom)
Add constraint names in a few places in pg_dump (Rod)
Improve performance of functions with many parameters (Tom)
Fix to_ascii() buffer overruns (Tom)
Prevent restore of database comments from throwing an error (Tom)
Work around buggy strxfrm() present in some Solaris releases (Tom)
Properly escape jdbc setObject() strings to improve security (Barry)
In particular, the server startup failure mentioned above occurs when the
transaction log ends on a page boundary.
changes:
Make LIMIT work on a compound SELECT statement.
LIMIT 0 now shows no rows. Use LIMIT -1 to see all rows.
Correctly handle comparisons between an INTEGER PRIMARY KEY and a
floating point number.
Fix several important bugs in the new ATTACH and DETACH commands.
Updated the NULL-handling document.
Allow NULL arguments in sqlite_compile() and sqlite_step().
Many minor bug fixes
Enhanced the "PRAGMA integrity_check" command to verify indices.
Added authorization hooks for the new ATTACH and DETACH commands.
Many documentation updates
In rc.d/pgsql call pgsql_initdb directly for initial database
setup, rather than trying to determine the script location
from $0 and calling '$rcd_dir/pgsql initdb'. The previous
form broke when called from /etc/rc.
2003 June 4 (2.8.3)
- Fix a problem that will corrupt the indices on a table if you
do an INSERT OR REPLACE or an UPDATE OR REPLACE on a table that
contains an INTEGER PRIMARY KEY plus one or more indices.
- Add the ability for INSERT and UPDATE statements to refer to
the "rowid" (or "_rowid_" or "oid") columns.
- Other important bug fixes
2003 May 17 (2.8.2)
- Fix a problem that will corrupt the database file if you drop a
table from the main database that has a TEMP index.
2003 May 16 (2.8.1)
- Reactivated the VACUUM command that reclaims unused disk space
in a database file.
- Added the ATTACH and DETACH commands to allow interacting with
multiple database files at the same time.
- Added support for TEMP triggers and indices.
- Added support for in-memory databases.
- Removed the experimental sqlite_open_aux_file(). Its function
is subsumed in the new ATTACH command.
- The precedence order for ON CONFLICT clauses was changed so
that ON CONFLICT clauses on BEGIN statements have a higher
precedence than ON CONFLICT clauses on constraints.
- Many, many bug fixes and compatibility enhancements.
now and not NetBSD-*-arm32. Changes include one or more of:
- Change MACHINE_ARCH == arm32 to also match arm
- Where ONLY_FOR_PLATFORM includes NetBSD-*-arm32, add NetBSD-*-arm
- Where BROKEN or worked around for arm gcc bugs, set USE_GCC3
The last may shake out a few more broken packages the next bulk build.
patches intact.
Changes since 0.60:
* Jan 2003
- Version 0.61
- Dynamic SQL
- Output parameters
- Compute rows
- Varbinary support
- dsn-less ODBC connections
- RPC support (db-lib)
- Compatibility with DBD::Sybase 0.95
- 68 new functions! (see doc/api_status.txt)
- Error/message handling rewritten, uses real error numbers
- new sample programs
- much cleaner code, warning-free compiles
- namespace cleanup
- public domain versions of functions for OSs that lack them
- autoconf portability improvements
- builds in HP-UX, Win32, and cygwin
- No dependency on OpenSSL
Database or Log File On-Disk Format Changes:
1. All of the access method database formats changed in the Berkeley
DB 4.1 release (Btree/Recno: version 8 to version 9, Hash: version
7 to version 8, and Queue: version 3 to version 4). The format
changes are entirely backward compatible, and no database upgrades
are needed.
Major New Features:
1. Berkeley DB now includes support for database encryption using
the AES encryption standard. [#1797]
2. Berkeley DB now includes support for database page checksums
to allow detection of database corruption during I/O. [#1797]
3. The shared memory buffer pool code base was substantially
reworked in the 4.1 release to improve concurrent throughput.
[#4655]
General Environment Changes:
1. Allow applications to specify transaction handles to the DB->open method call, so database creation can be grouped with other Berkeley DB calls in a single transaction. [#4257]
2. Add the DB_ENV->remove and DB_ENV->rename method calls that support transactional protection of database removal and renaming. [#4257]
3. Add the DB_ENV->set_flags flags DB_DIRECT_DB and DB_DIRECT_LOG, which disable the system's buffer cache where possible. [#4526]
4. Unlock the pthread mutex if pthread_cond_wait() returns an error. [#4872]
5. Fix a memory leak caused by running recovery. [#4913]
6. Fix a bug in which closing an environment with open database handles could result in application crashes. [#4991]
7. Fix a bug where DB_CONFIG files were ignored if the database environment defaulted to the application's current working directory. [#5265]
8. Fix a bug where transaction abort or commit could fail to destroy the handle. [#5633]
9. Fix a set of bugs where the Berkeley DB API could return DB_RUNRECOVERY without panic-ing the database environment itself or calling the application's panic-callback function. [#5743]
10. Fix a bug in where DB=>rename and DB->remove method calls could leak a transaction and its locks. [#5824]
11. Fix a bug where recovery feedback could return values greater than 100. [#6193]
12. Fix a bug where a page allocated by a transaction, eventually aborted because of application or system failure, could appear twice in the free list, if catastrophic recovery was performed. [#6222]
13. Add a new flag, DB_AUTO_COMMIT, that wraps all database modification operations inside a transaction, to the DB_ENV->set_flags method. [#6395]
14. Fix a bug where recovery could fail when upgrading between releases. [#6372]
15. Fix a recovery bug where pages that were repeatedly freed and allocated could be lost. [#6479] [#6501]
16. Change DB_CONFIG reading to handle non-<newline> terminated last line. [#6490]
General Access Method Changes:
1. Allow applications to specify transaction handles to the DB->associate method call, so secondary index creation can be grouped with other Berkeley DB calls in a single transaction. [#4185]
2. Add a new flag, DB_AUTO_COMMIT, that wraps single database operations inside a transaction. This flag is supported by the DB->del, DB->open, DB->put, DB->truncate,DB_ENV->remove, and DB_ENV->rename methods. [#4257]
3. The DB_EXCL DB->open method flag has been enhanced to work on subdatabases. [#4257]
4. Fix a bug in which a DB->put(DB_APPEND) could result in leaked memory or a corruption in the returned record number. [#5002]
5. Fix a bug in the database salvage code that could leave pages pinned in the cache. [#5037]
6. Add a flag to the DB->verify method to output salvaged key/data pairs in printable characters. [#5037]
7. Fix a bug in which DB->verify() might continue and report extraneous database corruption after a fatal error. [#5131]
8. Fix a bug where calling the DB->stat method before the DB->open method could drop core. [#5190]
9. Fix a bug in which a DB->get, DBcursor->c_get, or DBcursor->c_pget on a secondary index, in the Concurrent Data Store product, could result in a deadlock. [#5192]
10. Fix a bug in which DB->verify() could correctly report errors but still return success. [#5297]
11. Add support for the DB->set_cache_priority interface, that allows applications to set the underlying cache priority for their database files. [#5375]
12. Fix a bug where calling DBcursor->c_pget with a database that is not a secondary index would drop core. [#5391]
13. Fix a bug where a bug in the DB->truncate method could cause recovery to fail. [#5679]
14. Fix a bug where DB_GET_RECNO would fail if specified to a secondary index. [#5811]
15. Fix a bug where building a secondary index for an existing primary database could fail in Concurrent Data Store environments. [#5811]
16. Fix a bug where the DB->rename method could fail, causing a problem during recovery. [#5893]
17. Fix a bug in which a DB->get or DB->pget call on a secondary index could fail when done with a handle shared among multiple threads. [#5899]
18. Fix a bug in which a DB->put operation on a database with off-page duplicates could leak a duplicate cursor, thereby preventing transactions being able to commit. [#5936]
19. Fix a bug where overflow page reference counts were not properly maintained when databases were truncated. [#6168]
20. Fix a bug where the bulk get APIs could allocate large amounts of heap memory. [#6439] [#6520]
Btree Access Method Changes:
1. Fix a bug that prevented loads of sorted data, with duplicates at the end of the tree, from creating compact trees. [#4926]
2. No longer return a copy of the key if the DB_GET_BOTH or DB_GET_BOTH_RANGE flags are specified. [#4470]
3. Fix a bug where the fast-search code could hold an unlocked reference to a page, which could lead to recovery failure. [#5518]
4. Fix a bug where some cursor operations on a database, for which the bt_minkey size had been specified, could fail to use the correct overflow key/data item size. [#6183]
5. Fix a bug where the recovery of an aborted transaction that did a reverse Btree split might leave a page in an inconsistent state. [#6393]
Hash Access Method Changes:
1. Fix bugs that could cause hash recovery to drop core. [#4978]
2. Use access method flags instead of interface flags to check for readonly access to a hash database with an application-specified hash function. [#5121]
3. Fix a bug where a hash database allocation of a new set of buckets may be improperly recovered by catastrophic recovery if the transaction is split across log files and the beginning segment of the transaction is not included in the set of logs to be recovered. [#5942]
4. Fix a bug where aborting particular hash allocations could lead to a database on which the verifier would loop infinitely. [#5966]
5. Fix a bug where a memory allocation failure could result in a system hang. [#5988]
6. Remove nelem from the Hash access method statistics (the value was incorrect once items had been added or removed from the database). [#6101]
7. Fix a bug where a page allocated by an aborted transaction might not be placed on the free list by recovery, if the file holding the page was created as part of recovery, and a later page was part of a hash bucket allocation. [#6184]
8. Fix a bug where allocated pages could be improperly recovered on systems that require explicit zero-ing of filesystem pages. [#6534]
Queue Access Method Changes:
1. No longer return a copy of the key if the DB_SET_RANGE flag is specified. [#4470]
2. Fix a bug where DBcursor->c_get (with DB_MULTIPLE or DB_MULTIPLE_KEY specified) could fail on a Queue database if the record numbers had wrapped. [#6397]
Recno Access Method Changes:
1. No longer return a copy of the key if the DB_GET_BOTH or DB_GET_BOTH_RANGE flags are specified. [#4470]
2. Fix a bug where non-transactional locking applications could leak locks when modifying Recno databases. [#5766]
3. Fix a bug where DBcursor->c_get with the DB_GET_RECNO flag would panic the environment if the cursor was uninitialized. [#5935]
4. Fix a bug where deleting pages from a three-level Recno tree could cause the database environment to panic. [#6232]
C++-specific API Changes:
1. C++ DbLock::put is replaced by DbEnv::lock_put to match the C and Java API change in Release 4.0. [#5170]
2. Declared destructors and methods within Db and DbEnv classes to be virtual, making subclassing safer. [#5264]
3. Fixed a bug where Dbt objects with no flags set would not be filled with data by some operations. [#5706]
4. Added DbDeadlockException, DbRunRecoveryException, and DbLockNotGrantedException classes to C++, and throw them accordingly. [#6134]
5. Added C++ methods to support remaining conversions between C++ classes and C structs where appropriate. In particular, DbTxn/DB_TXN conversions and DbMpoolFile/DB_MPOOLFILE were added. [#6278]
6. Fix a bug in DbEnv::~DbEnv() that could cause memory corruption if a DbEnv was deleted without being closed. [#6342]
7. Reordered C++ class declarations to avoid a GCC g++ warning about function inlining. [#6406]
8. Fix a bug in the DbEnv destructor that could cause memory corruption when an environment was destroyed without closing first. [#6342]
9. Change DbEnv and Db destructor behavior to close the handle if it was not already closed. [#6342]
Java-specific API Changes:
1. Added check for system property "sleepycat.Berkeley DB.libfile" that can be used to specify a complete pathname for the JNI shared library. This is needed as a workaround on Mac OS X, where libtool cannot currently create a library with a .jnilib extension which is what the current JDK expects by default. [#5664]
2. Fixed handling of JVM out of memory conditions, when some JNI methods return NULL. When the JVM runs out of memory, calls should consistently fail with OutOfMemoryErrors. [#5995]
3. Added Dbt.get_object and Dbt.set_object convenience routines to the Java API to make using serialization easier. [#6113]
4. Fixed a bug that prevented Java's Db.set_feedback from working, fixed document for Java's Db.set_feedback, some callback methods were misnamed. [#6137]
5. Fix a NullPointerException in Db.finalize() if the database had been closed. [#6504]
6. Marked DbEnv constructor with "throws DbException". [#6342]
Tcl-specific API Changes:
None.
RPC-specific Client/Server Changes:
1. Fix a bug where Db and DbEnv handles were not thread-safe. [#6102]
Replication Changes:
1. A large number of replication bugs were fixed in this release. The replication support is now believed to be production quality.
2. Add the DB_ENV->set_rep_limit interface, allowing applications to limit the data sent in response to a single DB_ENV->rep_process_message call. [#5999]
3. Add the DB_ENV->set_rep_stat interface, returning information from the replication subsystem [#5919]
XA Resource Manager Changes:
1. Added support for multi-threaded XA. Environments can now have multiple XA transactions active. db_env_xa_attach() can be used to get a DB_TXN that corresponds to the XA transaction in the current thread. [#5049]
2. Added a com.sleepycat.Berkeley DB.xa package that implements J2EE support for XA. This includes new DbXAResource, DbXid classes that implement the XAResource and Xid interfaces. [#5049]
3. Fix a bug where aborting a prepared transaction after recovery may fail. [#6383]
4. Fix a bug where recovery might fail if a prepared transaction had previously extended the size of a file and then was aborted. [#6387]
5. Fix a bug where if the commit of a prepared transaction fails the transaction would be aborted. [#6389]
Locking Subsystem Changes:
1. Fix a bug where lock counts were incorrect if a lock request returned DB_LOCK_NOTGRANTED or an error occurred. [#4923]
2. Fix a bug where lock downgrades were counted as releases, so the lock release statistics could be wrong. [#5762]
3. Fix a bug where the lock and transaction timeout values could not be reset by threads of control joining Berkeley DB database environments. [#5996]
4. Fix a bug where applications using lock and/or transaction timeouts could hit a race condition that would lead to a segmentation fault. [#6061]
Logging Subsystem Changes:
1. DB_ENV->log_register and DB_ENV->log_unregister have been removed from the interface. [#0046]
2. Fix a bug where creating a database environment with a non-existent logging directory could drop core. [#5833]
3. Add support allowing applications to change the log file size in existing database environments. [#4875]
4. Fix a bug where a write error on a log record spanning a buffer could cause transaction abort to fail and the database environment to panic. [#5830]
Memory Pool Subsystem Changes:
1. The DB_INCOMPLETE error has been removed, as cache flushing can no longer return without completing. [#4655]
2. Fix a bug where Berkeley DB might refuse to open a file if the open was attempted while another thread was writing a large buffer. [#4885]
3. Prefer clean buffers to dirty buffers when selecting a buffer for eviction. [#4934]
4. Fix a bug where transaction checkpoint might miss flushing a buffer to disk. [#5033]
5. Fix a bug where Berkeley DB applications could run out of file descriptors. [#5535]
6. Fix bugs where Berkeley DB could self-deadlock on systems requiring mutex resource reclamation after application failure. [#5722] [#6523]
Transaction Subsystem Changes:
1. Go back only one checkpoint, not two, when performing normal recovery. [#4284]
2. Fix a bug where an abort of a transaction could fail if there was no disk space for the log. [#5740]
3. Fix a bug where the checkpoint log-sequence-number could reference a non-existent log record. [#5789]
4. Fix a bug where subtransactions which allocated pages from the filesystem and subsequently aborted could cause other pages allocated by sibling transactions to not be freed if the parent transaction then aborted. [#5903]
5. Fix a bug where transactions doing multiple updates to a queue database which spanned a checkpoint could be improperly handled by recovery. [#5898]
Utility Changes:
1. Fix a bug where the -p option could not be specified with the -R or -r options. [#5037]
2. The utilities were modified to correctly size their private caches in order to handle databases with large page sizes. [#5055]
3. Fix a bug in which utilities run with the -N option would fail to ignore the environment's panic flag. [#5082]
4. Fix a bug where invalid log records could cause db_printlog to drop core. [#5173]
5. Add a new option to the db_verify utility to support verification of files that include databases having non-standard sorting or hash functions. [#5237]
Configuration, Documentation, Portability and Build Changes:
1. Replace test-and-set mutexes on Windows with a new mutex implementation that signals an event to wake blocked threads. [#4413]
2. Support configuration of POSIX pthread mutexes on systems where the pthread mutexes do not support inter-process locks. [#4942]
3. Add mutex support for the ARM architecture using the gcc compiler. [#5018]
4. On Windows NT/2000/XP, switched to atomic seek-and-read/write operations to improve performance of concurrent reads [#0654].
5. Support cross-compilation using the GNU compiler tool chain. [#4558]
6. Fix a bug where libraries were always installed read-only. [#5096]
7. Fix a bug where temporary files on VxWorks could fail. [#5160]
8. Fix a bug where Berkeley DB did not install correctly if the system cp utility did not support the -f option. [#5111]
9. Correct the documentation for the Queue access method statistics field qs_cur_recno to be the "Next available record number". [#5190]
10. Fix a bug where file rename could fail on Windows/9X. [#5223]
11. Removed support for Microsoft Visual Studio 5.0 [#5231]
12. Switched to using HANDLEs for all I/O operations on Windows to overcome a hard limit of 2048 open file descriptors in Microsoft's C runtime library. [#5249]
13. Fix a bug where Berkeley DB error message routines could drop core on the PowerPC and UltraSPARC architectures. [#5331]
14. Rename OSTREAMCLASS to __DB_OSTREAMCLASS in db_cxx.h to avoid stepping on application name space. [#5402]
15. Support Linux on the S/390 architecture. [#5608]
16. Work around a bug in Solaris where the pthread_cond_wait call could return because a signal was delivered to the application. [#5640]
17. Fix build line for loadable libraries to include -module to support Mac OS X. [#5664]
18. Fix a bug in the PPC mutex support for the Mac OS X system. [#5781]
19. Added support for Java on Mac OS X. A workaround on the Java command line is currently necessary; it is documented. [#5664]
20. Added support for Tcl on Mac OS X. [#5664]
21. Update Windows build instructions to cover Visual C++ .NET. [#5684]
22. AIX configuration changes for building on AIX 4.3.3 and 5 with both standard and Visual Age compilers. [#5779]
23. Add a new UNIX configuration argument, --with-mutex=MUTEX, to allow applications to select a mutex implementation. [#6040]
24. Changed libtool and configure so we can now correctly build and install Tcl and Java loadable shared libraries that work on Mac OS X. [#6117]
25. Fix mutex alignment problems on historic HP-UX releases that could make multi-process applications fail. [#6250]
26. Installed static .a archives on Mac OS X need to be built with the ranlib -c option so linked applications will not see undefined __db_jump errors. [#6215]
27. Upgrade pthread and mmap support in the uClibc library to support Berkeley DB. [#6268]
28. Fixed error in determining include directories during configuration for --enable-java. The error can cause compilation errors on certain systems with newer versions of gcc. [#6445]
- Provide support for blowing away nested transactions
that aren't yet committed
- Fixed how values of returned hashes are downcased.
- Should be a minor perf improvement
- Moved Stan's destryo fix to the right file
- Better oracle support for unique ids on indexes
- DESTROY fix
- make function naming for autoloaded functions a bit more flexible
- Query builder changes to improve some join performance
- Fixes to a tight loop for cache expiry
- Patches for Oracle BLOB support from Brook Schofield
- Rebuilt Postgres query generator
- Select Distinct altered to support oracle
in PR pkg/21303 (added ncurses buildlink so the package works on Linux and
IRIX as well):
Abook is a text-based addressbook program designed to use with mutt
mail client.
Import filters for following formats:
- ldif (Netscape Addressbook)
- mutt alias ( >= 0.4.10 )
- Pine addressbook
Export filters for folllowing formats:
- ldif / Netscape addressbook (.4ld)
- Pine addressbook
- HTML
- mutt alias
- GnomeCard (VCard) addressbook
- elm alias
- plain text
- Spruce address book