6.4.5
- Fixed "const" support in arguments to parameterised/prepared statements.
6.4.4
- Use pkg-config if pg-config is not available.
- In CMake build, prefer CMake's config headers over any found in source tree.
6.4.3
- Updated copyright strings.
- Added missing "stream" headers to autotools-based install.
- Added stream headers to pqxx/pqxx header.
6.4.2
- Fix mistake for Windows in 6.4.1: use PQfreemem, not std::free.
- Easily enable runtime checks in configure: "--enable-audit".
- Enable optimisation in CircleCI build.
6.4.1
- Fixed more memory leaks.
6.4.0
- Half fix, half work around nasty notice processor life time bug.
- Fix selective running of tests: "test/unit/runner test_infinities".
- Added some missing `std::` qualifications.
6.3.3
- Throw more appropriate error when unable to read client encoding.
- CMake build fixes.
6.3.2
- Conversion errors no longer throw pqxx::failure; always conversion_error!
- Use C++17's built-in numeric string conversions, if available.
- Query numeric precision in a more sensible, standard way.
- Avoid "dead code" warning.
- Replace obsolete autoconf macros.
- Remove all "using namespace std".
- CMake build fixes.
6.3.1
- Windows compile fix (CALLBACK is a macro there).
- Work around Visual Studio 2017 not supporting ISO 646.
6.3.0
- New "table stream" classes by Joseph Durel: stream_from/stream_to.
- Support weird characters in more identifiers: cursors, notifcations, etc.
- Connection policies are deprecated. It'll all be one class in 7.0!
- Connection deactivation/reactivation is deprecated.
- Some items that were documented as deprecated are now also declared as such.
- Fix Windows bug where WSAPoll was never used. Thanks dpolunin.
- Fix Windows CMake build to link to socket libraries. Thanks dpolunin.
- Various other changes to the CMake build.
- Fix failure when doing multiple string conversions with Visual C++.
- Fix nested project builds in CMake. Thanks Andrew Brownsword.
- In Visual Studio, build for host architecture, not "x64".
- Fix string conversion link error in Visual Studio. Thanks Ivan Poiakov.
- Fix string conversion to bool for "1". Thanks Amaracs.
- Fix in escaping of strings in arrays. Thanks smirql.
- Faster copying of results of large queries. Thanks Vsevolod Strukchinsky.
- Starting to handle encodings properly! Thanks to Joseph Durel.
- No longer using std::iterator (deprecated in C++17).
6.2.5
- Removed deprecated pqxx-config.
- Build fix on Visual C++ when not defining NOMINMAX.
- Reduce setup code for string conversions, hopefully improving speed.
- Allow nul bytes in tablereader.
- Support defining string conversions for enum types.
- Fixed const/pure attributes warning in gcc 8.
- Updated build documentation to mention CMake option.
- Fixed a floating-point string conversion failure with Visual Studio 2017.
6.2.4
- Fix builds in paths containing non-ASCII characters.
- New macro: PQXX_HIDE_EXP_OPTIONAL (to work around a client build error).
6.2.3
- Build fixes.
6.2.2
- Variable number of arguments to prepared or parameterised statement (#75).
- Windows build fix (#76).
6.2.1
- Compile fixes.
6.2.0
- At last! A check against version mismatch between library and headers.
- Small compile fixes.
6.1.1
- Small compile fixes.
- A particular error string would always come out empty.
6.1.0
- Dependencies among headers have changed. You may need extra includes.
- Library headers now include "*.hxx" directly, not the user-level headers.
- Supports parsing of SQL arrays, when using "ASCII-like" encodings.
6.0.0
- C++11 is now required. Your compiler must have shared_ptr, noexcept, etc.
- Removed configure.ac.in; we now use configure.ac directly.
- Removed pqxx::items. Use the new C++11 initialiser syntax.
- Removed maketemporary. We weren't using it.
- Can now be built outside the source tree.
- New, simpler, lambda-friendly transactor framework.
- New, simpler, prepared statements and parameterised statements.
- Result rows can be passed around independently.
- New exec0(): perform query, expect zero rows of data.
- New exec1(): perform query, expect (and return) a single row of data.
- New exec_n(): perform query, expect exactly n rows of data.
- No longer defines Visual Studio's NOMINMAX in headers.
- Much faster configure script.
- Most configuration items are gone.
- Retired all existing capability flags.
- Uses WSAPoll() on Windows.
- Documentation on readthedocs.org, thanks Tim Sheerman-Chase.
5.1.0
- Releases after this will require C++11!
- Internal simplification to pqxx::result.
- A row object now keeps its result object alive.
- New exec() variants: "expect & return 1 row," "expect no rows," "expect n."
- ChangeLog is gone. It was a drag on maintenance.
5.0.1
- Exposed sqlstate in sql_error exception class.
5.0
- The PGSTD namespace alias is gone. Use the std namespace directly.
- pqxx::tuple is now pqxx::row, to avoid clashes with std::tuple.
- Deprecated escape_binary functions dropped.
- Deprecated notify_listener class dropped.
- Support for many old compilers dropped.
- Support for "long long" and "long double" types is always enabled.
- No longer uses obsolete std::tr1 namespace; use plain std instead.
- Now requires libpq 9.1 or better.
- Requires server version 9.1 or better.
- Support for REPEATABLE READ isolation level added.
- Makefile fixes for Visual Studio 2013.
- Supports C++11 and C++14.
- No longer has obsolete debian & RPM packaging built in.
- Fixed failure to abort uncommitted subtransactions on destruction.
- Fixed failure to detect some integer overflows during conversion.
- Build tooling uses /usr/bin/env python instead of /usr/bin/python.
- New configure options: --with-postgres-include and --with-postgres-lib.
- In g++ or compatible compilers, non-exported items are no longer accessible.
- Many build fixes for various platforms and compilers.
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)
2.5.5
- Diagnoses connection failure during result transfer
- Fixes invalid -R link option in pqxx-config
2.5.4
- Fix workaround code for older libpq versions without PQunescapeBytea()
- Work around grep bug in Fedora Core 4 that broke configure in UTF-8 locales
- In Visual C++, assume libpqxx is a DLL when linking to std library as DLL
- Missing documentation in distribution archive is back again
- Export fewer symbols from library binary with gcc 4.0
- Releases now automatically tested against gcc 4.0
- Meaningful link errors for additional ambiguous string conversions
- DLL symbol exports now automatically tested before each release
2.5.3
- Greatly improved builds on MinGW with MSYS
- All known problems with MinGW fixed
- Fix bugs in stream classes that caused failures and crashes with STLport
- Detects and uses STLport automatically
2.5.2
- Fix memory leaks
- Fix problems with NaN (not-a-number values) on some compilers
2.5.1
- Fix configure script; broke when very recent libpqxx was already installed
- Fix cursor breakage when "long" is more than 32 bits
- Fix cases where new-style abort/doubt handlers are used
- Fix for division-by-zero error in Visual C++ (changed sample headers)
- Improved checking for strerror_r in configure script
- Fix for problem MinGW has with configure script
- Fix spurious failure of Oid check in configure script
2.5.0
- Fix race condition in removing triggers
- Fix binary string conversion with older libpq
- Fix some error strings that may previously have come out wrong
- No longer includes any libpq headers while compiling client code
- Improved thread safety: avoid strerror() where possible
- Prepared statements
- Translate more error conditions to std::bad_alloc exception
- Clearer and more specific explanations for configuration failures
- Improved documentation
- Looks for standard library in global namespace as well as std
- Accepts standard C library in std namespace
- Release script automatically tests with a range of compilers, not just one
- Compatible with g++ 2.95 again; this time it's tested automatically
2.4.4
- Fix problems building shared library in Visual C++
- Fix autobuild in Debian, which was broken by mistake in BSD grep workaround
- Fix conversion of string to floating-point type NaN
- Remove stray CVS directories from distribution archive
- Workaround for Visual C++ problem when issuing messages from destructors
- Yet more workarounds for Visual C++ bugs
- Fix situation where connection state might not be restored after failure
- Fix configuration problem on SunOS
- Network speedup in connection setup with pending variables and/or triggers
2.4.3
- Yet more workarounds for bugs in Visual C++ .NET 2003
- Fixes for SunC++ 5.5
- On Visual C++, now defines NOMINMAX, fixing large object support
- Workaround for BSD grep
- Improvements for builds from CVS
- Sample config headers for Sun ONE Studio 8
2.4.2
- Fix minor problems with Apple's version of g++ 3.3
- Fix problem with MingW on Windows
- Workarounds and fixes for Visual C++.NET 2003
- Renewed compatibility with g++ 2.95
- More sample configuration headers
- Updated reference documentation
- Removed assert code
2.4.1
- Several bugs in icursor_iterator fixed; incompatible interface changes
- Tightens throw specifications on begin(), end(), size(), capacity()
- Containers define reference and pointer types
- Implements swap() in all container types
- Implements == and != in all container types
- Stabilizes new (but still limited) cursor interface
- icursor_iterator thinks purely in stride granularity
- Introduces </<=/>/>= comparisons for icursor_iterators
- Allows "adopted SQL cursors" in new cursor interface
- Reference-counting in binarystrings, so they can be copied (and efficiently)
- Fixes reference-to-temporary problem with std::reverse_iterator in results
- Result/tuple reverse_iterators no longer require std::reverse_iterator
- Includes some sample config headers (in config/sample-headers)
- Replaces iffy autoconf checks (avoid failures with maintainer mode's -Werror)
- Fixes incompatibility with some implementations of Unix "cut" program (again)
2.4.0
- Fixes incompatibility with some implementations of Unix "cut" program
- Fixes "ptrdiff_t redefinition" problem in some environments
- More container-like tuples, so fields can be iterated
- All size_type types are now unsigned
- More conservative robusttransaction--thanks Tom Lane
- Stream-like extraction operator for result field conversion
- Warnings about deprecated headers now suppressed while compiling library
- Iterator constructors and copy assignments now have empty throw specs
2.3.0
- Generates MinGW Makefile automatically
- Documents MinGW build
- Workaround for missing prepared-statement support
- Potential bug fixed in closing of connections
- Fixed incompatibility between new cursor streams and older backends
- Removed pqxxbench
2.2.9
- Bugfix in removing trigger
- Added "failed connection" to regression test
- Some changes to throw specifications
- Putting libpq in its own namespace is optional
2.2.8
- Moved libpq into pqxx::internal::pq namespace
- New config system separates compiler-related items from libpq-related ones
- Auto-generates Visual C++ Makefile, should always remain up-to-date now
2.2.7
- Bugfix: from_string() didn't handle LONG_MIN--thanks Yannick Boivin
2.2.6
- Complete "pipeline" rewrite, for better exception safety
- New garbage collection scheme for "result;" constructors now exception-free
2.2.5
- First new cursor classes!
- Fixed strange failure in tablewriter during large insertions
- Updated tutorial
2.2.4
- New utility class template, items<> for easy container initialization
- New utility function template, separated_list()
- Error handling bugfix in tablewriter
- Fixed tablereader handling of lines ending in empty fields
- tablereader lines no longer end in newline with old libpq versions
2.2.3
- Trigger names no longer need to be proper identifiers
- Compile fixes for g++ 3.4.0 and other modern compilers
- Tablestreams may specify column lists
- Deprecated Quote() in favour of sqlesc(); improved quoting
- Fixed generation of libpqxx.spec
2.2.2
- Bugfix in fieldstream w.r.t. reading strings on some systems
- Renamed config.h to internalconfig.h to avoid confusion
- New connection functions allow client to sleep until notification arrives
- Notification functions return number of notifications received
- Even fewer client-visible macros exported by libconfig.h
2.2.1
- New, 2.x-style string conversions without locale problem
- Documentation improvements
- Implemented result::swap()
2.2.0
- Installs to /usr/local by default, NOT to /usr/local/pqxx like before!
- Uses Postgres-provided script to find Postgres (thanks Peter Eisentraut)
- Which means no more configure arguments required on Irix (thanks Arjen Baart)
- Fixes long-standing bug in result class!
- New pipeline class for throughput optimization
- New field stream class: read result field as C++ stream
- Separate namespace pqxx::internal for definitions not relevant to the user
- More Windows compilation fixes
- SUN Workshop 6 compile fixes and workarounds (thanks Jon Meinecke)
- Implemented reverse_iterator for result class
- Checks for functional std::reverse_iterator template
- Preliminary Makefile for MinGW compiler (thanks Pasquale Fersini)
- Changed the way unique<> works
- Checks for functional std::count_if()
- Bugs fixed & test programs added
2.1.3
- Makefile fixes for Visual C++, thanks Paresh Patel
- Library ABI versioning implemented, thanks Roger Leigh
- Uses old SQL isolation level syntax for compatibility, thanks koun@sina.com
- tablestreams can explicitly complete() before destructor
- Bugfix in robusttransaction: forgot to set isolation level
- Fixed off-by-ones in tablewriter escape code
- tablestreams now use \n-style escape sequences
- tablestreams support octal numbers
- Freely definable "null" strings in tablestreams, as originally intended
- Improved Debian packaging, thanks Roger Leigh
- tablestreams use libpq's new-style COPY functions, if available
- Extended automation of build/release procedure
- tablewriter writes in nonblocking mode to help hide communication latency
- Can get backend variables as well as set them
- More configuration macro cleanups
- Workaround for missing clear() in standard string
- Merry Christmas!
2.1.2
- Compile fix for gcc libstdc++ 2.9, thanks Jaroslaw Staniek
- Moved deprecated functions below current ones
- Cleanups for Debian packaging (thanks Roger Leigh, new Debian maintainer!)
- Updated authors listings
- Bumped ABI version number for the first time (now 2:0:1)
2.1.1
- More workarounds for gcc 2.95
- Automated tools keep test makefiles up to date
2.1.0
- Asynchronous connections
- Fixed configure --includedir option (thanks Ray Dassen!)
- Compile fixes for SUN Workshop 6, and one for gcc on FreeBSD 4.8
2.0.0
- New stable release!
- Includes all changes since 1.5 release.
- Workarounds for Microsoft Visual C++ 7 problems. Thanks Costin Musteata!
- No longer need to define PQXX_NO_PARTIAL_CLASS_TEMPLATE_SPECIALISATION
- Integrated Windows configuration into regular configuration
- Only uses #warning if preprocessor supports it
- Works on libpq versions without PQ[un]escapeBytea()
1.9.9
- Minor documentation changes
1.9.8
- Workaround for compile problem with postgres 7.3
- Convenience typedef for transaction<>: "work"
1.9.7
- binarystring rewritten and moved to its own file
- binarystring::size() does not include terminating null byte!
- Implemented escaping of binary strings
- Fix in workaround for missing numeric_limits on some compilers
- String conversion supported for unsigned char *
- More helpful link errors for unsupported string conversions
- Complete test coverage
1.9.6
- Fixes in "field table" support
- Improved coexistence with client program's config.h, if any
- Prefixed autoconf macros used in headers with "PQXX_"
1.9.5
- Header file contents moved to .hxx files for editor filetype recognition
- Fixes wrong timestamp for include/pqxx/result in 1.9.4 distribution
1.9.4
- Fixes Visual C++ build problem when compiling as library
1.9.3
- Quick release for various minor changes
1.9.2
- Renamed most public member functions to all-lower-case names
- <pqxx/all> (previously <pqxx/all.h> is now called <pqxx/pqxx>
1.9.1
- tablestream destructor crashed if table didn't exist (thanks Sean [Rogers?])
- Renamed all header files to remove ".h" suffix
- Tables created by regression test now prefixed with "pqxx" for safety
- Large objects now considered stable
- Migrated tutorial from SGML to DocBook XML (thanks Wichert Akkerman)
- Added tests 57-59
- Fixed compile error in largeobject
- Updated Windows makefiles
1.9.0
- EVERYTHING HAS CHANGED. Read the list or run into trouble!
- CURSOR HAS INCOMPATIBLE CHANGES AND MAY BE REPLACED COMPLETELY
- CACHEDRESULT HAS INCOMPATIBLE CHANGES (won't compile without changes)
- REVISE YOUR TRANSACTORS; now templatized on transaction type
- Finally got license file in order
- Incompatible change in setting transactor quality of service
- Cursors require serializable isolation level (checked at link time)
- Renamed Connection_base to connection_base, Connection to connection,
LazyConnection to lazyconnection
- Renamed LargeObject to largeobject, LargeObjectAccess to largeobjectaccess
- Renamed Noticer to noticer
- Renamed Trigger to trigger
- Renamed Result to result, Tuple to tuple, Field to field
- Renamed Unique<> to unique<>
- Renamed CachedResult to cachedresult
- Transformed Transaction Taxonomy (TTT):
- Renamed Transaction_base to transaction_base
- Renamed Transaction to transaction
- Renamed Transactor to transactor<> (now a template)
- Implemented transaction isolation levels as compile-time static properties
- transaction and robusttransaction now templatized on their isolation levels
- cachedresult requires serializable isolation level (checked at link time)
- Now need to include pqxx/transactor.h yourself if you need transactors
- Large objects require real backend transaction at compile time
- New type oid and constant oid_none for row identifiers resp. null oid
- Added some forgotten PQXX_LIBEXPORTs
- Tweaked documentation in many places
1.8.1
- By popular request: more convenient way to read field values
- Documented locale sensitivity of ToString(), FromString(), Field::to()
1.8.0
- Compiles on gcc 2.95 again (heavy streambuf workarounds in largeobject.h)
- ConnectionItf renamed to Connection_base, TransactionItf to Transaction_base
- connectionitf.h is now connection_base.h, transactionitf.h connection_base.h
1.7.8
- BinaryString class for unescaping bytea strings
- PQAlloc template keeps track of libpq-allocated objects
- Removed some consts in Unique<>, ConnectionItf, sorry!
- Can now set session variables on connections, transactions
1.7.7
- ./configure also looks for postgres in /usr/local/pgsql
- test007 now uses SQL_ASCII as its test encoding
- integrated Greg Hookey's Debian packaging
1.7.6
- added postgres library (libpq) to dynamic link path
1.7.5
- added test052 - test055
- added Result::Tuple::ColumnNumber()
- also test setting of client encodings
- removed superfluous versions of to_file() from large object classes
1.7.4
- new exception class, sql_error, remembers query text
- moved exception classes to new file include/pqxx/except.h
- test cases report texts of any failed queries
- added tools/rmlo.cxx
1.7.3
- default constructors for connection classes
- revamped seeking operations on large objects
- better error messages in large objects
- added test050, test051
1.7.2
- more workarounds for Sun CC 5.1, thanks Jeroen van Erp!
- preliminary support for "named" queries
- can now Quote() string constants
- included Doxyfile in distribution archive
- helps avoid Windows memory allocation problem in DLLs
- allows setting of client character set encoding
1.7.1
- regenerated documentation
1.7.0
- removed all deprecated features
- connection string documentation in README
- separate Connection, LazyConnection classes
- made test001 more concise
- added test049
1.6.4
- configure script now respects different std namespace
1.6.3
- olostream, lostream now flush themselves before closing
- fixed compilation problems when using ToString<>() on a plain char *
- compilation fixes for Sun compiler (thanks Jeroen van Erp!)
- added .pc file for pkgconfig (thanks Ray Dassen!)
1.6.2
- Debian packaging added to distribution archive
- new ilostream, olostream, lostream classes
1.6.1
- large object's cunlink() replaced by remove()
- default constructor for LargeObject
1.6.0
- new large objects interface
- added test048
1.5.0
- allow result fields to be written to streams
- removed confusing CachedResult::clear()
- minor documentation updates
- added test046, test047
- added <pqxx/all.h> convenience header
1.4.5
- fixed crash CachedResult that was less shallow than I thought
- fixed quoting problem with adopted SQL cursors
1.4.4
- (forgot to save cursor.cxx with new constructor in 1.4.4, sorry)
1.4.3
- all tests now have three-digit numbers
- Cursor can adopt SQL cursor returned by a function
1.4.2
- bugfix in CachedResult when accessing empty Results
- minor documentation improvements
1.4.1
- documents new homepage: http://pqxx.tk/
- Connection constructor accepts null connect string
- Exec() now also takes queries as C++ strings
1.4.0
- Connection::IsOpen() renamed to is_open()
- NoticeProcessor replaced by Noticer (with C++ linkage)
1.3.7:
- detects nasty rare problem case with Cursors in unknown positions
1.3.6:
- fixed detection of missing PQescapeString(). Thanks David Wright!
v1.3.5:
- documented Windows build procedure
- fixed problem with upper-case letters in cursor names. Thanks key88!
2003-01-19 16:00, v1.3.4:
- support long double type
- clarified some error messages
2003-01-08 18:45, v1.3.3:
- fix missing include in test13
2003-01-07 02:30, v1.3.2:
- configure looks for postgres includes/library in more places, thanks Ray!
2003-01-02 23:00, v1.3.1:
- bugfix in Cursor positioning
2003-01-02 20:30, v1.3.0:
- absolute positioning for Cursor
- better documentation on cursors
- reduced, but improved test suite output
2002-12-23 17:30, v1.2.8:
- Cursor::Move() returns number of rows skipped
- new typedef Cursor::size_type
2002-12-14 23:30, v1.2.7:
- test suite now distinguishes expected errors from unexpected ones
2002-12-09 20:00, v1.2.6:
- fixed some Cursor test cases for change in postgres 7.3
- added important warning to Cursor
2002-12-09 02:00, v1.2.5:
- added important warning to CachedResult
2002-12-08 14:14, v1.2.4:
- fixed compile error on some systems in include/pqxx/util.h
2002-12-04 12:00, v1.2.3:
- workaround for broken <sys/select.h> on some systems
- fixed Quote() bug
2002-12-03 01:30, v1.2.2:
- fixed serious CachedResult bug
- added test41
2002-12-02 17:00, v1.2.1:
- hopefully fixed cursor bug with PostgreSQL 7.3
2002-12-01 22:00, v1.2.0:
- new CachedResult class
2002-11-07 13:15, v1.1.4:
- workaround for missing InvalidOid definition
2002-10-23 16:00, v1.1.3:
- Cursor & TableStream hierarchy now work on any transaction type
- get no. of affected rows & oid of inserted row from Result
- increased test coverage
2002-10-21 01:30, v1.1.2:
- updated build procedure
- Debian packaging improvements
2002-09-25 03:00, v1.1.1:
- supports activating/deactivating of connections
- various Connection getters now activate deferred connection first
2002-09-23 01:00, v1.1.0:
- supports lazy connections (added 19 test cases just for these)
- greatly reduced performance overhead for RobustTransaction
- removed id field from RobustTransaction's transaction log tables
2002-09-14 20:00, v1.0.1:
- now lives on GBorg
- various packaging updates
2002-06-12 17:30, v0.5.1:
- no longer have to destroy one transaction before creating the next
2002-06-07 17:15, v0.5.0:
- "make install" now finally installs headers!
- distribution now includes SGML (DocBook) version of tutorial
2002-06-04 15:00, v0.4.4:
- may now have multiple triggers with same name on single connection
2002-06-02 23:00, v0.4.3:
- fixed TableReader problem with \t and \n
2002-06-01 21:00, v0.4.2:
- hopefully fixes compile problem with broken std::iterator
- configure no longer requires --with-postgres-include=/usr/include/postgresql
2002-05-29 22:00, v0.4.1:
- can now also handle bool, unsigned char, short field types
2002-05-27 22:30, v0.4.0:
- RENAMED Transactor::TRANSACTIONTYPE to argument_type for STL conformance
- RENAMED Result::Field::name() to Name()
- documentation improvements
- minor optimizations
2002-05-18 00:00, v0.3.1:
- removed broken postgres_fe.h dependency (hopefully permanent fix)
2002-05-12 22:45, v0.3.0:
- also looks for postgres_fe.h in postgres' internal/ directory (tmp fix)
2002-05-05 01:30, v0.2.3:
- extensive build instructions in README
- make check now controlled through PG environment variables
2002-05-04 19:30, v0.2.2:
- more STL conformance
- fixed regression test
- test6 now copies "orgevents" to "events" by default
2002-04-28 23:45 Version bumped to 0.2
2002-04-28 23:45 Self-generated distribution archive
2002-04-27 14:20 Replaced automake symlinks with actual files
2002-04-07 02:30 Released with configure script
2002-03-29 01:15 Not yet released. Still integrating autogen stuff...