mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2024-12-24 07:06:39 +00:00
be7ce4110e
This reverts commit e96515433d
.
1041 lines
51 KiB
Plaintext
1041 lines
51 KiB
Plaintext
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 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...
|