| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040 |
- 7.7.3
- - Fix up more damage done by auto-formatting.
- - New `result::for_each()`: simple iteration and conversion of rows. (#528)
- - Add some missing headers in `<pqxx/pqxx>`. (#551)
- - More strictness in `header-pre.hxx`/`header-post.hxx` checking.
- - Disallow nesting of `ignore-deprecated` blocks.
- - Deprecate `exec` functions' `desc` parameter.
- - Fix `placeholders` documentation. (#557)
- - Strip `const` and references from `value_type`. (#558)
- - Get tests running on appveyor. (#560)
- - Fix broken nonblocking connection on Windows. (#560)
- 7.7.2
- - Fix up damage done by auto-formatting.
- 7.7.1
- - When you build libpqxx, configure the compiler's C++ version yourself!
- - Finally fix a long-standing silly warning in autogen.
- - Fix `digit_to_number` not being found on some comilers. (#518, #519)
- - In audit mode, define `_FORTIFY_SOURCE` to enable some extra checks.
- - Make more functions `constexpr`. Nothing particularly useful though.
- - Make more functions `noexcept`.
- - Move constructor & assignment for `result`.
- - Support LGTM.com and Facebook "infer" static analysis.
- - Deprecated `set_variable`/`get_variable` on `transaction_base`.
- - (Design unearthed warts in SQL variables, which were then fixed.)
- - Set/get session variables on `connection`: `set_session_var`/`get_var`.
- - Set/get local variables: execute SQL statements.
- - When using `select()`, include `<winsock2.h>` if available.
- 7.7.0
- - Fix `stream_to` for differing table/client encodings. (#473)
- - Use `[[likely]]` & `[[unlikely]]` only in C++20, to silence warnings.
- - Fix clang "not a const expression" error in Windows. (#472)
- - Fix warnings about `[[likely]]` in `if constexpr`. (#475)
- - Clearer error for ambiguous string conversion of `char` type. (#481)
- - Pseudo-statement in `prepare()` error was for the wrong statement. (#488)
- - New class, `connecting` for nonblocking connection to the database. (#487)
- - New class, `range` for SQL range types. (#490)
- - Replace `std::isdigit` with a safer alternative.
- - Support string conversions for `std::chrono::year_month_day`. (#492)
- - Helper for implementing string traits: `generic_to_buf`.
- - Support `result::at(row_num, col_num)`.
- - Support `result[row_num, col_num]` if the compiler allows it.
- - Work around broken `std::filesystem::path` in MinGW. (#498)
- - Fix leak when getting client encoding fails. (#500)
- - Use `std::cmp_greater` etc. when available. Saves some ugly casts.
- - Move `result_iterator.hxx` into `pqxx/include/internal/`.
- - Move `compiler-public.hxx` into `pqxx/include/internal/`.
- - Add script for updating copyright strings.
- - Make `tools/lint` figure out source directory by itself.
- - Pass the actual C++ version to `tools/lint`, not the baseline one.
- - Re-enable pyflakes testing in `tools/lint`.
- - Make more functions `[[nodiscard]]`.
- - Qualified some member functions as lvalue or rvalue.
- - Don't run clang-tidy by default. Compatibility issues with gcc options.
- - Describe version requirements in a JSON file, `requirements.json`.
- - Doxygen documentation now uses the (Doxygen-extended) Markdown format.
- - Build docs in `doc/html/`, no longer in `doc/html/Reference/`.
- - Disable some `std::filesystem` features on Windows.
- - Shut up stupid Visual Studio warnings.
- - On gcc, mark rarely-used functions as "cold," to be optimised for size.
- - Glyph scanning for GB18030 encoding was utterly broken. (#517)
- 7.6.0
- - Removed bad string conversion to `std::basic_string_view<std::byte>`. (#463)
- - Add C++20 concepts: `binary`, `char_string`, `char_strings`.
- - Generalise binary strings to any contiguous range of `std::byte`.
- - Mark `zview` as a view and as a borrowed range.
- - Save a copy step on string fields in `stream_to`.
- - New helper: `pqxx::value_type<CONTAINER>`.
- - New helper: `pqxx::binary_cast`. (#450)
- - Some escaping functions now have "into my buffer" variants.
- - More generic escaping functions, supporting more types of binary.
- - In C++20, accept generic columns list for `stream_to`. (#447)
- - Renamed `<pqxx/prepared_statement>` to `<pqxx/params>`.
- - Deprecated `dynamic_params` in favour of `params`.
- - `pqxx::params::append_multi()` now calls `reserve()` if possible.
- - `pqxx::params::size()` is now `noexcept` (but sadly, `ssize()` is not).
- - Helper for generating parameter placeholders `$1`, `$2`, etc. (#443)
- - Now requires support for C++14 `[[deprecated]]` attribute.
- - Deprecated `unesc_raw()` with `unesc_bin()` variants.
- - Once `unesc_raw()` is gone, we'll support only the hex escape format.
- - Work around broken `thread_local` in MinGW gcc < 11.1.
- - `pqxx::blob` now supports `std::filesystem::path`.
- - Fixed check against header/lib version mismatch: `check_pqxx_version_7_6`
- - Deprecated result slicing. Expect `row::slice()` to disappear.
- - More complete documentation, of cursors in particular.
- 7.5.2
- - **Actual serious bug.** `blob::read(std::vector<...>)` was broken.
- 7.5.1
- - Fixed some Visual Studio warnings.
- - Missed a bit in working around MinGW's broken `<thread>`.
- - Deprecated more obsolete representations of binary data. Use `std::byte`.
- - New script `tools/deprecations` lists files that use deprecated code.
- - Added automake-generated `config/compile` to revision control.
- 7.5.0
- - Now requires `std::variant` support! No longer works with gcc7.
- - When implementing a string conversion, consider specialising `param_format`.
- - Stop "aborting" nontransaction on closing. (#419)
- - Silence an overzealous Visual C++ warning. (#418)
- - Starting support for C++20 `std::span`.
- - New `blob::read()` using `std::span`. (#429)
- - New `params` class lets you build parameter lists incrementally. (#387)
- - Pass `std::vector<std::byte>` params in binary format.
- - Dropped legacy tests 31 and 49 to work around clang C++20 bug.
- - Fixed `stream_to` test failure in non-English locales. (#440)
- - Clarify `transaction_base::stream` documentation. (#423)
- - Avoid `<thread>` on MinGW; it's broken there. (#336, #398, #424, #441)
- 7.4.1
- - Missing includes; broke macOS clang build. (#416)
- 7.4.0
- - Work around Visual Studio 2017 bug with `[[deprecated]]`. (#405, #406)
- - Work around eternal Windows bug with `max` macro yet again. (#101)
- - Prepare for C++20 `std::ssize()`.
- - Dropped test12, which didn't add much and tried to read null strings.
- - Support string conversion for `std::monostate`. (#409)
- - Consistent "named constructors" for `stream_to` and `stream_from`.
- - New `table_path` type.
- - New `connection` methods `quote_table` and `quote_columns`.
- - Lots of deprecated stream constructors.
- - `pqxx::row::swap()` now finally has the `deprecated` attribute.
- - Finally deprecated a bunch of `field`, `row`, and `result` constructors.
- - Exposed `transaction_focus` marker class.
- 7.3.1
- - New, simpler API for large objects: `blob` ("binary large object").
- - `largeobject` and friends are now deprecated.
- - Fix visibility issue on gcc/clang, especially on macOS. (#395)
- - Use "pure" & "visibility" attributes if they work, regardless of compiler.
- - More deprecated items now have the `[[deprecated]]` attribute.
- - Document the concept of transaction focus.
- - Error messages more often report query description, if given.
- - Suppress spurious deprecation messages on Visual Studio. (#402)
- - Correct error when prepared/param statement clashes with tx focus. (#401)
- - `from_stream` with `from_query` now has a convenient factory function.
- - Removed some obsolete scripts from the `tools/` directory.
- 7.3.0
- - `stream_to` now quotes and escapes its table name.
- - Removed `transaction_base::classname()`. Did anyone ever use it?
- - Internal reorg of the `transaction` and `transactionfocus` hierarchies.
- - Removed the only case of virtual inheritance, related to `namedclass`.
- - Internal `concat()` for faster, simpler string concatentation.
- - Fix compile omission in string conversions for `nullptr_t`.
- - `pqxx::size_buffer()` can now size multiple values at once.
- - `multi_to_string()` to convert multiple values into one `std::string`.
- - Implicit `zview` constructor from `char const *`. (#389)
- - Many `std::string&` parameters are now `zview` or `std::string_view`.
- - Now checking statement parameter lengths for overflow.
- - `#include <array>` in connection.cxx. (#394)
- 7.2.1
- - Fix infinite loop in converting `char *` to string. (#377)
- - Deprecated `namedclass`.
- - Convert an entire row using `row::as<type...>()`.
- - Internal rework of `field::to()` and `field::as()` functions.
- - Some more warning options in maintainer mode.
- - Removed the old, DocBook-based tutorial.
- - Fixed wrong `query` and SQLSTATE params to some exceptions. (#378)
- 7.2.0
- - You can now implicitly convert a `const std::string &` to `zview`.
- - Replaced some overloads for C strings and C++ strings with `zview`.
- - Deprecating `binarystring`. Use `std::basic_string<std::byte>` instead!
- - Array parser did not recognise escaping in unquoted values.
- - gcc10 test build fix: a result iterator is not the same thing as a `row`.
- - Doc fix: field size does _not_ include terminating zero. (#356)
- - Fix error message in `demangle_type_name`: printed result, not raw name.
- - Fix compile warning in `demangle_type_name` on GNU systems.
- - Document that string conversions assume non-null values.
- - Start playing with C++20 _concepts._
- - Sketch out concepts-based `PQconnectdbParams` support. (#343)
- - Add missing link to "datatypes" documentation. (#346)
- - Supports `to_string`, `stream_to`, etc. for `binarystring`. (#312)
- - Fixed infinite recursion when using `std::optional` in `stream_to`. (#364)
- - Home-rolled hex-escaping. Saves an allocation.
- - Catch floating-point negative overflow in `check_cast`, not underflow.
- - Bit more work on CMake build doc. (#318)
- - Typo in `datatypes.md`: `nullness`, not `nullness_traits`. (#353)
- - Fixed test names map in `tests/runner.cxx`. (#354)
- - Integral `from_string` now accept leading whitespace, as in composite types.
- - Experimental support basics for composite types. (#355)
- - Use `stream_from` without knowing the number of fields. (#357)
- - Global `size_buffer` function.
- - `quote()` now works for always-null types without conversions defined.
- - `std::nullopt` now converts to an SQL null.
- - Skip quoting and escaping array/composite fields of "safe" types.
- - New type trait: `is_unquoted_safe`.
- - Forbid invalid specialisations of `query_value`.
- - Fixed `mktemp` invocation that broke on FreeBSD.
- - Avoid unneeded encode/decode step on more binary data.
- - If `__cxa_demangle` fails, fall back on raw type name. (#361)
- 7.1.2
- - Document build in `BUILDING-configure.md` / `BUILDING-cmake.md`.
- - Work around silly clang warning in `test_errorhandler.cxx`.
- - Fix install error with some internal headers. (#322)
- - Fix "No object selected" error message in large objects. (#324)
- - If error has no SQLSTATE, throw `broken_connection`. (#280)
- - Fix argument order in `encrypt_password`. (#333, #334)
- - Fix underestimate of buffer size for `to_string` for floats. (#328)
- 7.1.1
- - Compile fix for Visual Studio.
- - Warning fix for clang.
- - Also install `transaction_focus.hxx`. (#320)
- 7.1.0
- - Query tuples straight into `std::tuple` using `transaction::stream()`!
- - And, `stream_from` now supports more or less arbitrary queries.
- - Instead of a tuple of fields, you can pass `stream_to` a container as well.
- - `string_traits::size_buffer()` must now be `noexcept`.
- - New `nullness` member: `always_null`.
- - There is now `to_buf` support for string literals.
- - Streaming data is now more efficient.
- - The table name in `stream_from` is now escaped.
- - You can now "convert" strings to `std::string_view`. Mind your lifetimes!
- - A `std::variant` will now convert to string, if its member types do.
- - If a `stream_from` row fails to convert, you can no longer retry it.
- - `from_string(field const &)` now handles null values properly.
- - Obsolete Windows build docs are gone.
- - Added `row::to(std::tuple<...>)`.
- - Unified the test suites. We no longer need `test/unit/unit_runner`.
- - New helper: `strip_t<...>` to remove a type's constness and reference.
- - Replace custom templating with CMake glob in `src/CMakeLists.txt`.
- - Replace custom templating with CMake glob in `doc/CMakeLists.txt`.
- - Replace custom templating with CMake glob in `test/unit/CMakeLists.txt`.
- 7.0.8
- - Inline `type_name` in `PQXX_DECLARE_ENUM_CONVERSION`.
- 7.0.7
- - Fix broken `--with-postgres-lib` option in `configure` script (#311)
- - Should now build even if neither `pkg-config` nor `pg_config` is available.
- - CMake accepts `PostgreSQL_ROOT`, if it's a sufficiently recent version.
- 7.0.6
- - Prefer `pg_config` over `pkg-config` for include path (#291).
- - Try to plod on if we don't know the PostgreSQL include path.
- - Fix error message when starting overlapping transactions and such (#303).
- - Fix potential crashes when converting invalid strings to floats (#307, #308).
- 7.0.5
- - Compile fix for g++ 10: include `<limits>` (#292).
- - Cleaned up error-checking of PG results. (#280).
- - The `esc()` methods now also take `std::string_view` (#295).
- 7.0.4
- - Fix possible crash in `connection::connection_string` (#290).
- - Fix filtering of default values in `connection::connection_string` (#288).
- - Deprecate `row::swap` and public inheritance of iterators from `row`.
- - More copy/move/default constructors/assignments on result iterators.
- - More copy/move/default constructors/assignments on row iterators.
- 7.0.3
- - Fixed misreporting of broken connection as `sql_error` (#280).
- - Replaced non-ASCII test texts with escape codes (#282, #283).
- - `ilostream` could truncate at `0xff` byte at buffer boundary (#284, #286).
- 7.0.2
- - New query function: `query_value`, queries and converts a single value.
- - A `stream_from` stream can now be iterated.
- - More callable types qualify as transactors, thanks to `std::invoke`.
- 7.0.1
- - Windows build fixes.
- - Documentation for writing your own string conversions.
- - `transaction_rollback` and children are now `sql_error`, not just `failure`.
- 7.0.0
- - Bumped minimum required C++ version to C++17.
- - Everything has changed. If you're porting from older versions, be careful!
- - There is now only one connection class: `connection`.
- - Removed tablereader/tablewriter, replaced by stream_from/stream_to.
- - Removed obsolete transactor framework, replaced by post-C++11 one.
- - Removed old ways of invoking parameterised and prepared statements.
- - Session variables are no longer cached.
- - If you do weird stuff with setting/getting variables, it may break.
- - Reading a variable written from raw SQL, procedures, etc, will now work.
- - Prepared statements are now registered immediately.
- - If you do weird stuff with preparing/unpreparing statements, it may break.
- - Changed exceptions and errors for many error situations.
- - Mishandling prepared statements will now break the connection.
- - Many string references and const char pointers are now `std::string_view`.
- - New `zview` class wraps `string_view` for string with terminating zero.
- - The `stream_base` abstract base class is gone.
- - Transactions no longer have an `isolation_tag` nested type.
- - The `isolation_traits` type is gone.
- - There's no more `pqxx_exception`. Complicated things too much.
- - `pqxx::string_traits<>::name()` has been replaced with `pqxx::type_name`.
- - `to_string()` can now handle `std::vector` (to produce an SQL array).
- - All `from_string()` that took a C string now take a `std::string_view`.
- - There are now separate `string_traits` and `null_traits` templates.
- - Enums outside classes are now scoped enums.
- - `error_verbosity` is no longer nested in connection.
- - `connection::get_verbosity` is gone.
- - Some enums have changed names: `accesspolicy` to `access_policy`, and so on.
- - `dynamic_params` now accepts an accessor.
- - Fixed "const" support in arguments to parameterised/prepared statements.
- - Connection objects can now be moved.
- - `connections::options()` has been replaced by `connection_string()`.
- - Replaced pqxx-fulltest with `test_all.py`.
- - Some `size_type` have changed to different types, to match current libpq.
- - Internal overflows are more consistently caught and reported.
- - Deprecated items have been removed.
- - Large objects now require backend version 9.3 or better.
- - Seeking inside large objects now supports 64-bit sizes.
- - Visual Studio project files and sample headers are gone. Use CMake.
- - MinGW Makefiles are gone. Use `configure` or CMake.
- - Need PostgreSQL 10 to use robusttransaction.
- - `robusttransaction` no longer uses a log table. Feel free to drop it.
- 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 [email protected]
- - 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...
|