Virtuoso is a multi-model data server that delivers a platform-agnostic
solution for data management, access and integration.
Services offered include:
* relational data management
* RDF data management
* XML data management
* free text content management & full text indexing
* document web server
* linked data server
* web application server
* web services deployment (SOAP or REST)
Sqitch is a VCS-aware SQL change management application. What makes
it different from your typical migration-style approaches? A few
things:
* No opinions
* Native scripting
* VCS integration
* Dependency resolution
* No numbering
* Bundling
* Reduced duplication
File too long (should be no more than 24 lines).
Line too long (should be no more than 80 characters).
Trailing empty lines.
Trailing white-space.
Trucated the long files as best as possible while preserving the most info
contained in them.
COMMENT should not be longer than 70 characters.
COMMENT should not begin with 'A'.
COMMENT should not begin with 'An'.
COMMENT should not begin with 'a'.
COMMENT should not end with a period.
COMMENT should start with a capital letter.
pkglint warnings. Some files also got minor formatting, spelling, and style
corrections.
A major security issue fixed in this release, CVE-2013-1899, makes it possible for a connection request containing a database name that begins with "-" to be crafted that can damage or destroy files within a server's data directory. Anyone with access to the port the PostgreSQL server listens on can initiate this request.
Two lesser security fixes are also included in this release: CVE-2013-1900, wherein random numbers generated by contrib/pgcrypto functions may be easy for another database user to guess, and CVE-2013-1901, which mistakenly allows an unprivileged user to run commands that could interfere with in-progress backups. Finally, this release fixes two security issues with the graphical installers for Linux and Mac OS X: insecure passing of superuser passwords to a script, CVE-2013-1903 and the use of predictable filenames in /tmp CVE-2013-1902.
This release contains one major and a number of minor security fixes. It fixes a possible vulnerability to a denial-of-service attack by use of a carefully-crafted set of hash keys, a segmentation fault when reading or writing strings greater than 2^31 bytes in size, and a memory leak in Encode.xs's UTF-8 encoding implementation.
* There was a mistake in patches/patch-lib_functions.php, droping "ssha"
password type.
2012-10-01 Release 1.2.3 master RELEASE-1.2.3
2012-10-01 Update template to show multiselect values
2012-09-06 Language update from launchpad for 1.2.3 (also see #30)
2012-09-05 SF Bug #3531956 - Search / Show Attributes must be lowercase
2012-09-05 SF Bug #3518548 - Missing attributes on some custom forms
2012-09-05 SF Bug #3513210 - Export to VCARD only exports the last entry in the list
2012-09-05 SF Bug #3510648 - Cannot copy between servers
2012-09-05 SF Bug #3510114 - Unable to check passwords when samba hashes are in lowercase
2012-09-05 SF Bug #3452416 - templates <order> non-functional
2012-09-05 SF Bug #3427748 - value id is ignored in select attribute
2012-09-04 SF Bug #3448530 - Treat krbExtraData and krbPrincipalKe as binary
2012-09-02 SF Bug #3497660 - XSS flaws via 'export', 'add_value_form' and 'dn' variables
2012-09-02 SF Bug #3426575 - clicking 'logout' does not unset _SESSION['ACTIVITY']
2012-09-01 SF Feature #3555472 - User-friendly items in entry chooser window.
2012-09-01 SF Feature #3509651 - Add support for SHA512 with OpenLDAP
2012-08-29 SF Patch #3469148 - Display mass edit actions as buttons
2012-01-24 SF Bug #3477910 - XSS vulnerability in query
Changes from previous:
----------------------
0.002103 2012-12-23 17:42:36 CST6CDT
- Lazily load deps for autotable
- Remove HERE BE DRAGONS warning, this module is totally stable \o/
0.002102 2012-11-17 15:43:18 CST6CDT
- Put MetaYAML back in dist
* Fix for a bug in the ORDER BY optimizer that was introduced in version 3.7.15 which would sometimes optimize out the sorting step when in fact the sort was required. Ticket a179fe7465
* Fix a long-standing bug in the CAST expression that would recognize UTF16 characters as digits even if their most-significant-byte was not zero. Ticket 689137afb6da41.
* Fix a bug in the NEAR operator of FTS3 when applied to subfields. Ticket 38b1ae018f.
* Fix a long-standing bug in the storage engine that would (very rarely) cause a spurious report of an SQLITE_CORRUPT error but which was otherwise harmless. Ticket 6bfb98dfc0c.
* The SQLITE_OMIT_MERGE_SORT option has been removed. The merge sorter is now a required component of SQLite.
* Fixed lots of spelling errors in the source-code comments
- PEAR::isError() -> MDB2::isError(), Bug #19491.
- PEAR::loadExtension() -> extension_loaded(), Bug #19583.
- Fix Bug #19262. Updates conditional stagements to use logical operators to
include MDB2_FETCHMODE_OBJECT where appropriate. Was broken in r321197.
- Fixed createIndex not using quoteIdentifier in SQLite driver
- Have dropTable() return MDB2_OK on success, as documented (bug 19199)
- Have dropIndex() return MDB2_OK on success, as documented (bug 19198)
- Have vacuum() return MDB2_OK on success, as documented (bug 19196)
- Have createIndex() return MDB2_OK on success, as documented (bug 19195)
- Have dropConstraint() return MDB2_OK on success, as documented (bug 19194)
- Have createConstraint() return MDB2_OK on success, as documented (bug 19193)
- Have dropSequence() return MDB2_OK on success, as documented (bug 19191).
- FETCHMODE constants are NOT bitwise.
- fixed bug #18203: Type introspection breaks with associative arrays if names
are identical (patch by Peter Bex)
- request #18316: Add TINYINT to list of coltypes in
MDB2_Driver_Reverse_sqlite [brotherli]
- fixed bug #16275: split() is deprecated in PHP 5.3
- request #18316: Add TINYINT to list of coltypes in
MDB2_Driver_Reverse_sqlite [brotherli]
Changelog:
- Remove assignment by reference, Bug #19585.
- PEAR::isError() -> MDB2::isError(), Bug #19491.
- PEAR::loadExtension() -> extension_loaded(), Bug #19583.
- Fixed boolean type conversion for non-boolean types
- Fix Bug #19262. Updates conditional stagements to use logical operators to
include MDB2_FETCHMODE_OBJECT where appropriate. Was broken in r321197.
- Request #12931 Add cascading to dropTable?
- Have truncateTable() return MDB2_OK on success, as documented (bug 19201)
- Have vacuum() return MDB2_OK on success, as documented (bug 19196)
- Have dropConstraint() return MDB2_OK on success, as documented (bug 19194)
- Have createSequence() return MDB2_OK on success, as documented (bug 19192)
- Have dropSequence() return MDB2_OK on success, as documented (bug 19191).
- Make setOption('result_wrap_class') actually useful by changing the default
value of $result_wrap_class parameters from false to true.
- Have pgsql only read LOB from file if lob_allow_url_include (bringing it in
line with other drivers).
- FETCHMODE constants are NOT bitwise.
- fixed bug #18203: Type introspection breaks with associative arrays if names
are identical (patch by Peter Bex)
- fixed bug #17890: Improper use of array_search in prepare function
[fletcherj]
- fixed bug #17890: Improper use of array_search in prepare function
[fletcherj]
open todo items:
- enable pg_execute() once issues with bytea column are resolved
- use pg_result_error_field() to handle localized error messages (Request
#7059)
- add option to use unnamed prepared statements (see
http://www.postgresql.org/docs/current/static/protocol-flow.html
"Extended Query")
Changelog:
- Make varchar_max_length property public, Bug #19582.
- Revert 327099 by afz, caused "Notice: Undefined index: charset on line 1003"
- PEAR::isError() -> MDB2::isError(), Bug #19491.
- PEAR::loadExtension() -> extension_loaded(), Bug #19583.
- max value for VARCHAR is 65535 but if used multi-bytes (UTF8) so it is 21844, because UTF8 string takes 3bytes
- Fix Bug #19262. Updates conditional stagements to use logical operators to
include MDB2_FETCHMODE_OBJECT where appropriate. Was broken in r321197.
- Have truncateTable() return MDB2_OK on success, as documented (bug 19201)
- Have alterTable() return MDB2_OK on success, as documented (bug 19200)
- Have dropIndex() return MDB2_OK on success, as documented (bug 19198)
- Have vacuum() return MDB2_OK on success, as documented (bug 19196)
- Have createIndex() return MDB2_OK on success, as documented (bug 19195)
- Have dropConstraint() return MDB2_OK on success, as documented (bug 19194)
- Have dropSequence() return MDB2_OK on success, as documented (bug 19191).
- Make setOption('result_wrap_class') actually useful by changing the default
value of $result_wrap_class parameters from false to true.
- Obtain error information in _doQuery() because standaloneQuery() throws off
$this->connection.
- FETCHMODE constants are NOT bitwise.
- Make $sql_comments public (was before, used in tests, no real harm).
- Property visibility
- boolean data type
- fixed bug #17984: Error is not reported when mysqli_stmt_bind_param() fails
[dennylin93]
- fixed bug #18057: Result of getDeclaration() can have invalid syntax
[hschletz]
- request #18068: mapNativeDatatype() returns decimal places also for 'float'
mdb2type
- fixed bug #18203: Type introspection breaks with associative arrays if names
are identical (patch by Peter Bex)
- fixed bug #17892: removed debug message [pdt256]
- fixed bug #17892: removed debug message [pdt256]
- fixed bug #17984: Error is not reported when mysqli_stmt_bind_param() fails
[dennylin93]
- fixed bug #18057: Result of getDeclaration() can have invalid syntax
[hschletz]
- request #18068: mapNativeDatatype() returns decimal places also for 'float'
mdb2type
open todo items:
- use a trigger to emulate setting default now()
Changelog:
- Make varchar_max_length property public, Bug #19582.
- Revert 327099 by afz, caused "Notice: Undefined index: charset on line 1003"
- PEAR::isError() -> MDB2::isError(), Bug #19491.
- PEAR::loadExtension() -> extension_loaded(), Bug #19583.
- max value for VARCHAR is 65535 but if used multi-bytes (UTF8) so it is 21844,
because UTF8 string takes 3bytes
- Fix Bug #19262. Updates conditional stagements to use logical operators to
include MDB2_FETCHMODE_OBJECT where appropriate. Was broken in r321197.
- Have truncateTable() return MDB2_OK on success, as documented (bug 19201)
- Have alterTable() return MDB2_OK on success, as documented (bug 19200)
- Have dropIndex() return MDB2_OK on success, as documented (bug 19198)
- Have vacuum() return MDB2_OK on success, as documented (bug 19196)
- Have createIndex() return MDB2_OK on success, as documented (bug 19195)
- Have dropConstraint() return MDB2_OK on success, as documented (bug 19194)
- Have dropSequence() return MDB2_OK on success, as documented (bug 19191).
- Make setOption('result_wrap_class') actually useful by changing the default
value of $result_wrap_class parameters from false to true.
- Obtain error information in _doQuery() because standaloneQuery() throws off
$this->connection.
- FETCHMODE constants are NOT bitwise.
- Make $sql_comments public (was before, used in tests, no real harm).
- Property visibility
- boolean data type
- fixed bug #17984: Error is not reported when mysqli_stmt_bind_param() fails
[dennylin93]
- fixed bug #18057: Result of getDeclaration() can have invalid syntax
[hschletz]
- request #18068: mapNativeDatatype() returns decimal places also for 'float'
mdb2type
- fixed bug #18203: Type introspection breaks with associative arrays if names
are identical (patch by Peter Bex)
- fixed bug #17892: removed debug message [pdt256]
- fixed bug #18057: Result of getDeclaration() can have invalid syntax
[hschletz]
- request #18068: mapNativeDatatype() returns decimal places also for 'float'
mdb2type
open todo items:
- use a trigger to emulate setting default now()
shared-mime-info 1.1 (2012-02-13)
* Mime-type changes:
- Add application/x-ccmx
- Add zz-application/zz-winassoc-* aliases
- Make application/x-xz-compressed-tar a subclass of application/x-xz
- Add DTS and DTS-HD mime-types
- Add test for PPM bug
- Fix comment and add glob for application/pkcs7-mime
- Add application/x-qtiplot mime-type
- Add AMZ (AmazonMP3 Download File) mime-type
- Add separate mime-type for Apple broken PNGs
- Add *.mk and *.mak text/x-makefile globs
- Match application/vnd.palm to IANA standard
- Use IANA registered application/gzip instead of x-gzip
- Add application/gml+xml
- Fix Scream Tracker instrument magic
- Add application/x-gtk-builder type
- Add magic for v1 and v2 XCF files
- Add LZMA test file
- Fix some globs for OGG files
- Move *.taz from application/x-compressed-tar to application/x-tarz
- Add some sub-class-of tags for compressed files
- Add *.tb2 as a glob for application/x-bzip-compressed-tar
- Add support for DOS EPS files
- Add *.ar archives to the test suite
- Add xlr mime-type
- Add application/vnd.lotus-wordpro
- Put bz2 patterns before bz ones for bzip-related mimetypes
- Add simple magic for text/x-gettext-translation-template
- Add test case for application/x-gettext-translation
- Add mime-type for source RPMs
- Add AMR audio test
- Add test case for TTF fonts
- Add Woff font mime-type
- Add FLTK acronym
- Add application/ics as an alias for text/calendar
- Add RAR acronym
- Add dicomdir glob
- Add *.di as a glob for D source files
- Add magic for MNG animations
- Add magic for PICT v2 images
- Add JNLP file to the test suite
- Add support for the AVF AVI container variant
- Add EMF and WMF aliases
- Improve magic of uncompressed TGA files
- Add application/winhlp
- Add text/x-uuencode
- Add MHTML mime-type
- Make the main docbook mime-type be application/x-docbook+xml
- Add application/x-lzh-compressed as alias to application/x-lha
- Add IFF super-type
- Split off the AAC mime-type from the M4A one
- Add text/x-modelica mime-type
- Add magic for GNU gettext message catalogs (.mo)
* Specification changes:
- Fix mimetype names used as examples
- Document that the first extension is the main one
- Fix missing plural
* Honor NOCONFIGURE=1
* Allow builders to not run make check by default
* Fix build for platforms with executable extensions
* Disable checks when cross compiling
* Use non-installed update-mime-database in install-data-hook
* Use native update-mime-database for install when cross compiling
* Add a local-test target to print mime info
Add a patch from upstream to avoid segfaulting on null PQ options.
- 0.45 | 2013-03-10
- support for "make installcheck"
This does "make check" at its core, so the same env vars apply.
Obviously, you should do "make install" first for sane results.
- bootstrap tools upgraded
- GNU Autoconf 2.69
- GNU Automake 1.13.1
- Guile-BAUX 20121120.1242.e233fad
- SNUGGLE 0.2
- GNU Texinfo 5.0
=== 3.45.0 (2013-03-01)
* Remove bad model typecasting of money type on PostgreSQL (jeremyevans) (#624)
* Use simplecov instead of rcov for coverage testing on 1.9+ (jeremyevans)
* Make the Database#quote_identifier method public (jeremyevans)
* Make PostgreSQL metadata parsing handle tables with the same name in
multiple schemas (jeremyevans)
* Switch query extension to use a proxy instead of Object#extend (chanks,
jeremyevans)
* Remove Dataset#def_mutiation_method instance method (jeremyevans)
* Make foreign key parsing on MySQL not pick up foreign keys in other
databases (jeremyevans)
* Allow per-instance overrides of Postgres.force_standard_strings and
.client_min_messages (jeremyevans) (#618)
* Add Sequel.tzinfo_disambiguator= to the named_timezones plugin for
automatically handling TZInfo::AmbiguousTime exceptions (jeremyevans) (#616)
* Add Dataset#escape_like, for escaping LIKE metacharacters (jeremyevans)
(#614)
* The LIKE operators now use an explicit ESCAPE '\' clause for similar
behavior across databases (jeremyevans)
* Make Database#tables and #views accept a :qualify option on PostgreSQL to
return qualified identifiers (jeremyevans)
* Make json_serializer and xml_serializer plugins secure by default
(jeremyevans)
* Address JSON.parse vulnerabilities (jeremyevans)
* Fix Dataset#from_self! to no longer create a self-referential dataset
(jeremyevans)
* Use SQLSTATE or database error codes if available instead of regexp parsing
for more specific DatabaseErrors (jeremyevans)
* Add unlimited_update plugin to work around MySQL warning in replicated
environments (jeremyevans)
* Add the :retry_on and :num_retries transaction options for automatically
retrying transactions (jeremyevans)
* Raise serialization failures/deadlocks as Sequel::SerializationFailure
exceptions (jeremyevans)
* Support transaction isolation levels on Oracle and DB2 (jeremyevans)
* Support transaction isolation levels when using the JDBC transaction support
(jeremyevans)
Changes in 1.2.1:
* Fixed CVE-2012-5641: Apache CouchDB Information disclosure via unescaped
backslashes in URLs on Windows
* Fixed CVE-2012-5649: Apache CouchDB JSONP arbitrary code execution with Adobe
Flash
* Fixed CVE-2012-5650: Apache CouchDB DOM based Cross-Site Scripting via Futon
UI
* Fix various bugs in the URL rewriter when recursion is involved.
* Fix couchdb start script.
* Futon: Disable buttons that aren't available for the logged-in user.
* Fix potential replication timeouts.
* Change use of signals to avoid broken view groups.
This extension provides an ODBC v3 driver for PDO. It supports unixODBC
and IBM DB2 libraries, and will support more in future releases.
In pkgsrc we only support unixODBC currently.
* Take MAINTAINERship, ok by schmonz@.
* Libtoolized.
* Fix typo in variable name.
* Set LICENSE as public-domain.
Changelog:
tinycdb-0.78 2012-05-11
- bugfix release:
o fixed >2Gb file size prob on 32bit platform
o fixed handling of files >=4Gb
o fixed a few compiler warnings
- introduce $(LD) and $(LDFLAGS), and also $(CDEFS) in Makefile
- bug #3779 [core] Problem with backslash in enum fields
- bug #3816 Missing server_processlist.php
- bug #3821 Safari: white page
- Correct detection of the Chrome browser
- bug #3593604 [status] Erroneous advisor rule
- bug #3596070 [status] localStorage broken in server status monitor
- bug #3598736 [routines] Editing a procedure with special characters
- bug #3600322 [core] Visualize GIS data throws Fatal Error
- bug #3599362 [core] Double-escaped error message
- bug #3776 [cookies] Login without auth on second server
## Rails 3.2.12 (unreleased) ##
* Quote numeric values being compared to non-numeric columns. Otherwise,
in some database, the string column values will be coerced to a numeric
allowing 0, 0.0 or false to match any string starting with a non-digit.
Example:
App.where(apikey: 0) # => SELECT * FROM users WHERE apikey = '0'
*Dylan Smith*
## Rails 3.1.11 (unreleased) ##
* Quote numeric values being compared to non-numeric columns. Otherwise,
in some database, the string column values will be coerced to a numeric
allowing 0, 0.0 or false to match any string starting with a non-digit.
Example:
App.where(apikey: 0) # => SELECT * FROM users WHERE apikey = '0'
*Dylan Smith*
Changes from previous
=====================
4.0.1
- Support for REPEATABLE READ isolation level.
- Build fix for OS X.
- Build fixes for clang++ 3.2.
- Build fixes for clang++ 3.0.
- Build fix for MinGW.
- Build fix for BSD (and possibly other grep flavours).
- Compatibility typedefs: pqxx::result::tuple & pqxx::result::field.
- Supports C++11.
- Fixed failure to detect some integer overflows during conversion.
4.0
- API change: noticers are gone! Use errorhandlers to capture error output.
- API change: tablereaders and tablewriters are gone; they weren't safe.
- API change: prepared statements are now weakly-typed, and much simpler.
- API change: fields and tuples are now stand-alone classes in ::pqxx.
- API change: thread-safety field have_strerror_r is now have_safe_strerror.
- API change: notify_listener has been replaced with notification_receiver.
- notification_receiver takes a payload parameter.
- Easier Visual C++ setup.
- Absolutely requires a libpq version with PQescapeStringConn.
- Absolutely requires libpq 8.0 or better.
- Changes for C++0x.
- Supports clang++.
- Visual C++ makefiles now support new-style unit tests.
- Sample headers for more recent Visual Studio versions.
- Fixes binary-data escaping problems with postgres 9.0.
- Fixes problems with binary-string handling and escaping.
- Fixes compatibility problems between 9.x libpq and 7.x backend.
- quote_name to escape SQL identifiers for use in queries.
- syntax_error reports error's approximate location in the query.
- On Windows, now uses ws2_32 instead of wsock32.
- Various Windows build fixes.
- Updated for gcc 4.6.0.
- configure script supports --enable-documentation/--disable-documentation.
- Streamlined test/release toolchain.
3.1
- Shared libraries are now versioned by ABI: 3.1 instead of 3.1.0 etc.
- Threading behaviour is now documented, and can be queried.
- Version information available at compile time.
- Supports parameterized statements.
- Result tuples now support slicing.
- Configure with --with-tr1=boost to use BOOST shared_ptr.
- String conversion now has its own header file.
- Supports read-only transactions.
- Fixed breakage with Solaris "make".
- Uses shared_ptr if available.
- binarystring::str() is no longer cached; no longer returns reference.
- Fixed problems in Visual C++ Makefile for test suite.
- Fixed problems with RPM packaging.
- Fixed build problem on RedHat/CentOS 5.
- Lets you check whether a prepared statement has been defined.
- "Varargs" prepared statements.
- Unnamed prepared statements now supported.
- Results have iterator as well as const_iterator.
- Rewrite of robusttransaction logic; may actually do its job now.
- Connections support async query cancel from signal handler or thread.
- More documentation for performance features.
3.0
- Website is now at http://pqxx.org/ (no redirects)
- Completely replaced cursor classes
- More helpful error messages on failed connections
- More detailed hierarchy of constraint-violation exception classes
- trigger is now called notify_listener, trigger header is now notify-listen
- New mixin base class pqxx_exception distinguishes libpqxx exception types
- Quoting is back! transaction_base::quote() & connection_base::quote()
- Several build & documentation problems with Visual C++ fixed
- Compile fixes for gcc 4.2, 4.3
- Compile fixes for Sun Studio Express 5.9
- Uses strlcpy() where available, instead of strncpy()
- Keeps better track of applicable text encodings
- Fixed bug with prepared statement parameters in separate C++ statements
- robusttransaction now works for multiple users
- Pipeline lets you cancel ongoing queries, e.g. because they run for too long
- Fixed broken escaping of binary values in tablewriter
- Floating-point types now represented with full precision
- Proper unit tests for new functionality
- New traits-based system for adding data types
- Floating-point infinities now supported
- Flushing/completing a pipeline now frees up the transaction for other use
- Completely reworked test suite, builds and runs much faster
- tablewriter supports writing of raw lines
2.6.9
- Removed old 1.x API (that means all identifiers with capital letters!)
- Tested with all current libpq versions and oldest/newest supported backends
- No longer have old OnCommit()/OnAbort()/OnDoubt() callbacks in transactor!
- Fixes failure when closing cursors with upper-case letters in their names
- Fixes bug when adding triggers to connections that aren't open yet
- Fixes bug when removing triggers
- Fixes small memory leak when preparing statements
- Fixes many problems with older backends
- Fixes bug in result::swap(): protocol versions were not swapped
- Some errors went undetected when using certain libpq versions
- Fixes prepared statements on new libpq versions talking to old backends
- Can estimate server version if libpq does not know how to obtain it
- Greatly reduced memory usage while escaping strings
- With Visual C++, creates lib/ directory if not already present
- Useful error messages when preparing statements
- Allows prepared statements to be registered explicitly
- Support for "long long" types; enable with PQXX_ALLOW_LONG_LONG macro
- Compilation errors for older libpq versions fixed
- Some new small utility classes for disabling notice processing etc.
- Result sets remember the queries that yielded them
- New test script, pqxx-fulltest, tests against all current postgres versions
- Connections can simulate failure
- Adds password encryption function
2.6.8
- Fixes bug: binary parameters to prepared statements truncated at nul bytes
- New, more specific exception types to distinguish errors from server
- Resolved serious problems with generated reference documentation
- Automatically detect Windows socket library with MinGW
- Windows "make" fixed to run from main directory, not win32
- Fixes "mktemp" problems on some BSD-based platforms
- pqxx-config is deprecated; use pkg-config instead
- On GNU/Linux, uses poll() instead of select() to avoid file descriptor limit
- Will provide server and protocol version information where available
- New cursor class, absolute_cursor
2.6.7
- New escape functions for binary data: transaction_base::esc_raw()
- Improved detection of socket libraries, especially for MinGW
- Works around bug in some versions of GNU grep 2.5.1
- Fixes problem with configuration headers
- Fixes PQprepare() detection
- Fixes incomplete Visual C++ Makefile
- Fixes compile error in workaround for older libpq versions
- Removes "rpath" link option
2.6.6
- New, encoding-safe string-escaping functions
- Upper-case letters now allowed in prepared-statement names
- Fixes crash in test005
- More Visual C++ improvements
- Removed collaboration diagrams from reference docs
- New templating system for generating Windows Makefiles etc.
2.6.5
- Visual C++ users: copy win32/common-sample to win32/common before editing it
- Should fix problems finding socket library on MinGW
- Even more work on Visual C++ problems
- Updated documentation for Visual C++ users
- Fixed bug in prepared statements (mostly visible on Visual C++)
- Nested transactions work harder to detect backend support
2.6.4
- Massively improved compatibility with Windows and Visual C++
- Fixed late initialization of "direct" connection state
- Fixed problem with initialization of connection capabilities
- Fixed configuration bug for libpq in nonstandard locations
- Sample configuration header for libpq found in PostgreSQL 8.1
2.6.3
- Radical rework of prepared statements; INCOMPATIBLE INTERFACE CHANGE!
- Dropped support for g++ 2.95
- Emulate prepared statements support on old libpq or old backend
- Bug fix: missing tutorial (release script now tests for this)
- Automatically links in socket library on Windows or Solaris, if needed
- Bug fix: check for std namespace didn't work
- Fixes for Cygwin/MSYS/MinGW
2.6.2
- Bug fix: connection state was not set up properly in some common cases
- Bug fix: headers were installed in "include" instead of "include/pqxx"
- Bug fix: sqlesc(string) broke with multibyte or multiple encodings
- namedclass is now used as a virtual base; affects all subclass constructors
- Initial implementation of subtransactions
- Detect more connection capabilities
- Standard library namespace can be set from configure script's command line
- Completely reworked connection hierarchy, with separate policy objects
- Clients can now define their own connection policies
- Paved the way for client-defined thread synchronization
- Now lives at http://thaiopensource.org/development/libpqxx/
2.6.1
- Hugely improved recognition of different strerror_r() versions
- Resolved link problems with gcc 4.0 and shared library
2.6.0
- New macro PQXX_SHARED defines whether to use/build libpqxx as shared library
- Robusttransaction compatible with PostgreSQL 8.1
- Infrastructure for querying connection/backend capabilities at runtime
- Greatly improved cursor support
- Connection reactivation can be inhibited explicitly
- Tries even harder to make sense of conflicting strerror_r() definitions
- Detects connection failures that libpq glosses over
- Reference documentation grouped into more coherent sections
- Assumes strerror() is threadsafe on systems that have no strerror_r()
- Now allows connection's socket number to be queried
- New internal_error class for libpqxx-internal errors
- With Visual C++, doesn't redefine NOMINMAX if it is defined already
- Several compatibility improvements for Visual C++
- Fixes and workarounds for HP-UX and HP aCC compiler
- Phased old cursor interface out of test suite; tests ported to new interface
- Added documentation on thread safety
- New thread safety model
- Large objects have functions to tell current position
- Minor updates to tutorial (somebody pay me and I'll do more :)
- No longer needs libpq-fs.h header
- Meaningful error messages for ambiguous string conversions fixed
2.5.6
- Support null parameters to prepared statements (use C-style char pointers)
=== 3.44.0 (2013-02-04)
* Speedup mysql2 adapter with identifier output method fetch speed by up to
50% (jeremyevans)
* Speedup tinytds adapter fetch speed by up to 60% (jeremyevans)
* Expand columns_introspection extension to consider cached schema values in
the database (jeremyevans)
* Expand columns_introspection extension to handle subselects (jeremyevans)
* Have #last and #paged_each for model datasets order by the model's primary
key by default (jeremyevans)
* Improve emulated offset support to handle subqueries (jeremyevans)
* Remove use of Object#extend from the eager_each plugin (jeremyevans)
* Add support for temporary views on SQLite and PostgreSQL via the :temp
option to create_view (chanks, jeremyevans)
* Emulate Database#create_or_replace_view if not supported directly
(jeremyevans)
* Add Dataset#paged_each, for processing entire datasets without keeping all
rows in memory (jeremyevans)
* Add Sequel::ConstraintViolation exception class and subclasses for easier
exception handling (jeremyevans)
* Fix use of identity_map plugin with many_to_many associations with right
composite keys (chanks) (#603)
* Increase virtual row performance by using a shared VirtualRow instance
(jeremyevans)
* Allow the :dataset association option to accept the association reflection
as an argument (jeremyevans)
* Improve association method performance by caching intermediate dataset
(jeremyevans)
The security issue fixed in this release, CVE-2013-0255, allows a previously authenticated user to crash the server by calling an internal function with invalid arguments. This issue was discovered by independent security researcher Sumit Soni this week and reported via Secunia SVCRP, and we are grateful for their efforts in making PostgreSQL more secure.
Today's update also fixes a performance regression which caused a decrease in throughput when using dynamic queries in stored procedures in version 9.2. Applications which use PL/pgSQL's EXECUTE are strongly affected by this regression and should be updated. Additionally, we have fixed intermittent crashes caused by CREATE/DROP INDEX CONCURRENTLY, and multiple minor issues with replication.
This release is expected to be the final update for version 8.3, which is now End-of-Life (EOL). Users of version 8.3 should plan to upgrade to a later version of PostgreSQL immediately. For more information, see our Versioning Policy.
This update release also contains fixes for many minor issues discovered and patched by the PostgreSQL community in the last two months, including:
* Prevent unnecessary table scans during vacuuming
* Prevent spurious cached plan error in PL/pgSQL
* Allow sub-SELECTs to be subscripted
* Prevent DROP OWNED from dropping databases or tablespaces
* Make ECPG use translated messages
* Allow PL/Python to use multi-table trigger functions (again) in 9.1 and 9.2
* Fix several activity log management issues on Windows
* Prevent autovacuum file truncation from being cancelled by deadlock_timeout
* Make extensions build with the .exe suffix automatically on Windows
* Fix concurrency issues with CREATE/DROP DATABASE
* Reject out-of-range values in to_date() conversion function
* Revert cost estimation for large indexes back to pre-9.2 behavior
* Make pg_basebackup tolerate timeline switches
* Cleanup leftover temp table entries during crash recovery
* Prevent infinite loop when COPY inserts a large tuple into a table with a large fillfactor
* Prevent integer overflow in dynahash creation
* Make pg_upgrade work with INVALID indexes
* Fix bugs in TYPE privileges
* Allow Contrib installchecks to run in their own databases
* Many documentation updates
* Add new timezone "FET".
* use ${PKGVERSION_NOREV} instead of LATEST as subdir, or it will be invalid
after new release.
* this site's redirect response is invalid, use canonical one and curl will not
be required anymore.
ChangeLog
Fixed RT#64330 - ping wipes out errstr (Martin J. Evans).
Fixed RT#75868 - DBD::Proxy shouldn't call connected() on the server.
Fixed RT#80474 - segfault in DESTROY with threads.
Fixed RT#81516 - Test failures due to hash randomisation in perl 5.17.6
thanks to Jens Rehsack and H.Merijn Brand and feedback on IRC
Fixed RT#81724 - Handle copy-on-write scalars (sprout)
Fixed unused variable / self-assignment compiler warnings.
Fixed default table_info in DBI::DBD::SqlEngine which passed NAMES
attribute instead of NAME to DBD::Sponge RT72343 (Martin J. Evans)
Corrected a spelling error thanks to Chris Sanders.
Corrected typo in DBI->installed_versions docs RT#78825
thanks to Jan Dubois.
Refactored table meta information management from DBD::File into
DBI::DBD::SqlEngine (H.Merijn Brand, Jens Rehsack)
Pevent undefined f_dir being used in opendir (H.Merijn Brand)
Added logic to force destruction of children before parents
during global destruction. See RT#75614.
Added DBD::File Plugin-Support for table names and data sources
(Jens Rehsack, #dbi Team)
Added new tests to 08keeperr for RT#64330
thanks to Kenichi Ishigaki.
Added extra internal handle type check, RT#79952
thanks to Reini Urban.
Added cubrid_ registered prefix for DBD::cubrid, RT#78453
Removed internal _not_impl method (Martin J. Evans).
NOTE: The "old-style" DBD::DBM attributes 'dbm_ext' and 'dbm_lockfile'
have been deprecated for several years and their use will now generate
a warning.
ChangeLog
1.98 Sat 29 Sep 2012
- When setting pragmas in void context, skip reading the changed
pragma back out of the database pointlessly.
- Removed legacy support for static ->delete('where ...')
ChangeLog:
0.08205 2013-01-22
* New Features / Changes
- The emulate_limit() arbitrary limit dialect emulation mechanism is
now deprecated, and will be removed when DBIx::Class migrates to
Data::Query
- Support for the source_bind_attributes() storage method has been
removed after a lengthy deprecation cycle
* Fixes
- When performing resultset update/delete only strip condition
qualifiers - leave the source name alone (RT#80015, RT#78844)
- Fix incorrect behavior on resultset update/delete invoked on
composite resultsets (e.g. as_subselect_rs)
- Fix update/delete operations referencing the updated table failing
on MySQL, due to its refusal to modify a table being directly
queried. As a workaround induce in-memory temp-table creation
(RT#81378, RT#81897)
- More robust behavior under heavily threaded environments - make
sure we do not have refaddr reuse in the global storage registry
- Fix failing test on 5.8 under Win32 (RT#81114)
- Fix hash-randomization test issues (RT#81638)
- Disallow erroneous calling of connect_info on a replicated storage
(RT#78436)
* Misc
- Improve the populate docs in ::Schema and ::ResultSet
- ::Storage::DBI::source_bind_attributes() removed as announced
on Jan 2011 in 0e773352a
0.08204 2012-11-08
* New Features / Changes
- SQLMaker now accepts \'literal' with the 'for' rs attribute as an
override to the builtin FOR options
* Fixes
- Fix unique constraint violations in Ordered.pm blanket movement
(RT#79773, rolls back short-sighted 5e6fde33e)
- Fix API mismatch between new_result() and new_related() (originally
broken by fea3d045)
- Fix test failure on perl 5.8
* Misc
- Much more extensive diagnostics when a new RDBMS/DSN combination is
encountered (RT#80431)
0.08203 2012-10-18
* Fixes
- Really fix inadequate $dbh->ping SQLite implementation (what shipped
in 0.08201 tickled other deficiencies in DBD::SQLite itself)
0.08202 2012-10-06
* Fixes
- Replace inadequate $dbh->ping SQLite implementation with our own,
fixes RT#78420
ChangeLog:
2012-08-28 Patrick Galbraith et open source community <patg at patg dot net> (4.022)
* Fixes for Win32 from Rom Hoelz (https://github.com/hoelzro)
* Pulling back in work for 4.021 that didn't get pushed and much other work from Chip Salzenberg (https://github.com/chipdude)
* Column info order fix from Tokuhiro Matsuno (https://github.com/tokuhirom)
* Fix AutoCommit comparison logic to avoid spurious commands to mysql from Matthew Horsfall (https://github.com/wolfsage)
* server_preapre can't bind placeholder on comment. from Misahiro Chiba (https://github.com/nihen)
* server_prepare; data is null, allocate big memory bug. from Misahiro Chiba (https://github.com/nihen)
* Add fix for CVE-2012-1114/CVE-2012-1115 from repository.
* Unset $_SESSION['ACTIVITY'] on logout from repository.
* Fix XSS in query from repository.
* Add support for SHA512 with OpenLDAP from repository.
Bump PKGREVISION.
Upstream changes:
1.958 2013-01-15T16:54:40Z
* Support for name constructor parameter, set connection name
* Add documentation for CLIENT * commands
* Improve reliability of Test::SpawnRedisServer
1.957 2013-01-15T13:18:07Z
* Fix minimum Perl version
1.956 2013-01-15T10:35:10Z
* Add on_connect callback to Redis constructor (issue 28)
* Make sure quit() doesn't die when the socket is already dead (issue 30);
* Switch to Digest::SHA, one less non-core dep RT#81841
* Try and make Travis-CI more useful, ask for a redis-server
* Update SUPPORT section, moving bugtracker to GitHub issues
1.955 2012-10-10T11:43:44Z
* Skip 30-scripts.t if the redis-server found lacks script support
1.954 2012-10-10T11:16:22Z
* Support for multi-word commands such as "SCRIPT LOAD".
* Try another fix for Windows non-blocking reads
1.953 2012-09-05T00:49:11Z
* Tweak travis.ci setup
1.952 2012-09-04T11:22:18Z
* Added automatic authentication after connection establishment
* Support Redis 2.6: Aaron Crane <arc@cpan.org>
* Attempt to fix non-blocking read on Windows
* Enable travis.ci support on the repository
=== 3.43.0 (2013-01-08)
* Move the #meta_def support for Database, Dataset, and Model to the meta_def extension (jeremyevans)
* Fix Database#copy_into on jdbc/postgres when an exception is raised (jeremyevans)
* Add core_refinements extension, providing refinement versions of Sequel's core extensions (jeremyevans)
* Make Database#copy_into raise a DatabaseError if the database signals an error in the postgres adapter (jeremyevans)
* Define respond_to_missing? where method_missing is defined and the object supports respond_to? (jeremyevans)
* Allow lambda procs with 0 arity as virtual row blocks on ruby 1.9 (jeremyevans)
* Handle schema-qualified row_types in the pg_array integration in the pg_row extension (jeremyevans) (#595)
* Support default_schema when reseting primary key sequences on PostgreSQL (jeremyevans) (#596)
* Allow treating tinyint(1) unsigned columns as booleans in the mysql adapters (jeremyevans)
* Support the jdbc-hsqldb gem in the jdbc adapter, since it has been updated to 2.2.9 (jeremyevans)
* Work with new jdbc-* gems that require manual driver loading (kares) (#598)
* Cast blobs correctly on DB2 when use_clob_as_blob is false (mluu, jeremyevans) (#594)
* Add date_arithmetic extension for database-independent date calculations (jeremyevans)
* Make Database#schema handle [host.]database.schema.table qualified tables on Microsoft SQL Server (jeremyevans)
* Add Dataset#split_qualifiers helper method for splitting a qualifier identifier into array of strings (jeremyevans)
* Make Database#schema_and_table always return strings for the schema and table (jeremyevans)
* Skip stripping of blob columns in the string_stripper plugin (jeremyevans) (#593)
* Allow Dataset#get to take an array to return multiple values, similar to map/select_map (jeremyevans)
* Default :prefetch_rows to 100 in the Oracle adapter (andrewhr) (#592)
Fix a bug, introduced in version 3.7.15, that causes an ORDER BY clause to be optimized out of a three-way join when the ORDER BY is actually required.
Upstream changes:
Version 1.402, released December 19, 2012
-------------------------------------------------
[Misc]
* add Math::Complex 1.56 as recommendation (RT#81926, Sam Ferencik)
* add Math::BigInt 1.88 as recommendation (RT#81927, Sam Ferencik)
* clarify Test::Simple 1.90 is required for building (RT#81925, Sam Ferencik)
[Bug fixes]
* fix leaking reference to open tables outside SQL::Statement::execute
(fixes RT#81523)
* looks_like_number identifies 'nan' as number sometimes (add regex to
t/06virtual.t)
Version 1.401, released October 29, 2012
-------------------------------------------------
[Misc]
* Switch to 3-digited minor version
[Bug fixes]
* undo literal replaces in subqueries before passing them to the
child parser
* Fix doc typo RT#76764 (STEFFENW) - thanks Steffen
* Fix typo documented in RT#71914 (reported by Ze'ev Atlas,
fixed by H.Merijn Brand) - thanks Ze'ev and Merijn
* Fix DROP TABLE behaviour and error detection
[Improvements]
* Improve documentation/tests for multiple JOIN's from RT#69573
(from BBYRD) with modifications
* Filling in the SQL92 gaps for functions (BBYRD) from RT#72638
with minor modifications - thanks Brendan
Mainly a bug fix. Also adds a preplacement for the functionality of
databases/py-pgnotify which no longer works with new versions of
PyGreSQL and PostgreSQL.
Fix a bug, introduced in version 3.7.15, that causes a segfault if the AS name of a result column of a SELECT statement is used as a logical term in the WHERE clause.
Changes since 4.0:
- Dropped support for Python below 2.5 and PostgreSQL below 8.3.
- Added support for Python up to 2.7 and PostgreSQL up to 9.2.
- Particularly, support PQescapeLiteral() and PQescapeIdentifier().
- The query method of the classic API now supports positional parameters.
This an effective way to pass arbitrary or unknown data without worrying
about SQL injection or syntax errors (contribution by Patrick TJ McPhee).
- The classic API now supports a method namedresult() in addition to
getresult() and dictresult(), which returns the rows of the result
as named tuples if these are supported (Python 2.6 or higher).
- The classic API has got the new methods begin(), commit(), rollback(),
savepoint() and release() for handling transactions.
- Both classic and DBAPI 2 connections can now be used as context
managers for encapsulating transactions.
- The execute() and executemany() methods now return the cursor object,
so you can now write statements like "for row in cursor.execute(...)"
(as suggested by Adam Frederick).
- Binary objects are now automatically escaped and unescaped.
- Bug in money quoting fixed. Amounts of $0.00 handled correctly.
- Proper handling of date and time objects as input.
- Proper handling of floats with 'nan' or 'inf' values as input.
- Fixed the set_decimal() function.
- All DatabaseError instances now have a sqlstate attribute.
- The getnotify() method can now also return payload strings (#15).
- Better support for notice processing with the new methods
set_notice_receiver() and get_notice_receiver()
(as suggested by Michael Filonenko, see #12 and #37).
- Open transactions are rolled back when pgdb connections are closed
(as suggested by Peter Harris, see #46).
- Connections and cursors can now be used with the "with" statement
(as suggested by Peter Harris, see #46).
- New method use_regtypes() that can be called to let getattnames()
return regular type names instead of the simplified classic types (#44).
- bug #3563824 [export] Support Apache's mod_deflate
- bug #3585523 [interface] Inline query editing broken after row update
- bug #3586389 [setup] Cannot switch language in /setup
- bug #3585695 [CSS] Font size in inline query editor is way too big
- bug #3588354 [l10n] Portuguese Language not displaying correctly
- bug #3591412 [status] Live charts don't work for non-default server
- bug [core] Proxy ajax calls to pma.net to avoid browser notices
- bug #3593534 [tracking] Structure Snapshot on tracked view renders
invalid SQL
- bug #3544366 [events] Event comments not saved
Approved by Thomas Klausner.
v0.17.0
- multi_get_columns with only one query (courtesy @christian-blades-cb)
- documentation fixes for get and multi_get (issue #136, courtesy @christian-blades-cb)
v0.16.0
- New :queue_size option for batch mode (courtesy @vicentllongo)
- Cassandra 1.1 support (courtesy @hawknewton)