{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.oXo1lzEb/b1/libpqxx_7.10.0-2_arm64.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.oXo1lzEb/b2/libpqxx_7.10.0-2_arm64.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -1,5 +1,5 @@\n \n bfad5644b044f1a6cbff54a4f2cf4085 2463572 debug optional libpqxx-7.10-dbgsym_7.10.0-2_arm64.deb\n b170140cc879d3bcfc9c51517b84b816 170876 libs optional libpqxx-7.10_7.10.0-2_arm64.deb\n bff0ed22521822fe23ce03ccc496acbd 356292 libdevel optional libpqxx-dev_7.10.0-2_arm64.deb\n- 2c7cb1cc84bb1491496d77313ff61ddb 2637572 doc optional libpqxx-doc_7.10.0-2_all.deb\n+ f2c4b9634301c251ab96f8762813887f 2637228 doc optional libpqxx-doc_7.10.0-2_all.deb\n"}, {"source1": "libpqxx-doc_7.10.0-2_all.deb", "source2": "libpqxx-doc_7.10.0-2_all.deb", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -1,3 +1,3 @@\n -rw-r--r-- 0 0 0 4 2025-01-23 16:15:05.000000 debian-binary\n--rw-r--r-- 0 0 0 32444 2025-01-23 16:15:05.000000 control.tar.xz\n--rw-r--r-- 0 0 0 2604936 2025-01-23 16:15:05.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 32432 2025-01-23 16:15:05.000000 control.tar.xz\n+-rw-r--r-- 0 0 0 2604604 2025-01-23 16:15:05.000000 data.tar.xz\n"}, {"source1": "control.tar.xz", "source2": "control.tar.xz", "unified_diff": null, "details": [{"source1": "control.tar", "source2": "control.tar", "unified_diff": null, "details": [{"source1": "./control", "source2": "./control", "unified_diff": "@@ -1,13 +1,13 @@\n Package: libpqxx-doc\n Source: libpqxx\n Version: 7.10.0-2\n Architecture: all\n Maintainer: Debian PostgreSQL team \n-Installed-Size: 13547\n+Installed-Size: 13546\n Suggests: libpqxx-dev (>= 7.10.0-2)\n Section: doc\n Priority: optional\n Multi-Arch: foreign\n Homepage: https://github.com/jtv/libpqxx/\n Description: C++ library to connect to PostgreSQL (documentation)\n C++ library to enable user programs to communicate with\n"}, {"source1": "./md5sums", "source2": "./md5sums", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "comments": ["Files differ"], "unified_diff": null}]}]}]}, {"source1": "data.tar.xz", "source2": "data.tar.xz", "unified_diff": null, "details": [{"source1": "data.tar", "source2": "data.tar", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -864,15 +864,15 @@\n -rw-r--r-- 0 root (0) root (0) 62185 2025-01-23 16:15:05.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/result__iterator_8hxx_source.html\n -rw-r--r-- 0 root (0) root (0) 19467 2025-01-23 16:15:05.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/robusttransaction_8hxx_source.html\n -rw-r--r-- 0 root (0) root (0) 91997 2025-01-23 16:15:05.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/row_8hxx_source.html\n drwxr-xr-x 0 root (0) root (0) 0 2025-01-23 16:15:05.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/\n -rw-r--r-- 0 root (0) root (0) 7545 2025-01-23 16:15:05.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_0.js\n -rw-r--r-- 0 root (0) root (0) 4729 2025-01-23 16:15:05.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_1.js\n -rw-r--r-- 0 root (0) root (0) 6978 2025-01-23 16:15:05.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_10.js\n--rw-r--r-- 0 root (0) root (0) 21617 2025-01-23 16:15:05.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_11.js\n+-rw-r--r-- 0 root (0) root (0) 21499 2025-01-23 16:15:05.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_11.js\n -rw-r--r-- 0 root (0) root (0) 7531 2025-01-23 16:15:05.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_12.js\n -rw-r--r-- 0 root (0) root (0) 2858 2025-01-23 16:15:05.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_13.js\n -rw-r--r-- 0 root (0) root (0) 906 2025-01-23 16:15:05.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_14.js\n -rw-r--r-- 0 root (0) root (0) 1394 2025-01-23 16:15:05.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_15.js\n -rw-r--r-- 0 root (0) root (0) 94 2025-01-23 16:15:05.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_16.js\n -rw-r--r-- 0 root (0) root (0) 1207 2025-01-23 16:15:05.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_17.js\n -rw-r--r-- 0 root (0) root (0) 319 2025-01-23 16:15:05.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_18.js\n"}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1basic__fieldstream.html", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1basic__fieldstream.html", "unified_diff": "@@ -148,15 +148,15 @@\n \n  basic_fieldstream (field const &f)\n  \n \n

Detailed Description

\n
template<typename CHAR = char, typename TRAITS = std::char_traits<CHAR>>
\n class pqxx::basic_fieldstream< CHAR, TRAITS >

Input stream that gets its data from a result field.

\n-
Deprecated:
To convert a field's value string to some other type, e.g. to an int, use the field's as<...>() member function. To read a field efficiently just as a string, use its c_str() or its as<std::string_vview>().
\n+
Deprecated:
To convert a field's value string to some other type, e.g. to an int, use the field's as<...>() member function. To read a field efficiently just as a string, use its c_str() or its as<std::string_vview>().
\n

Works like any other istream to read data from a field. It supports all formatting and streaming operations of std::istream. For convenience there is a fieldstream alias, which defines a basic_fieldstream for char. This is similar to how e.g. std::ifstream relates to std::basic_ifstream.

\n

This class has only been tested for the char type (and its default traits).

\n

The documentation for this class was generated from the following file:\n \n \n"}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1basic__ilostream.html", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1basic__ilostream.html", "unified_diff": "@@ -151,15 +151,15 @@\n  basic_ilostream (dbtransaction &t, oid o, largeobject::size_type buf_size=512)\n  Create a basic_ilostream.
\n  \n \n

Detailed Description

\n
template<typename CHAR = char, typename TRAITS = std::char_traits<CHAR>>
\n class pqxx::basic_ilostream< CHAR, TRAITS >

Input stream that gets its data from a large object.

\n-
Deprecated:
Access large objects directly using the blob class.
\n+
Deprecated:
Access large objects directly using the blob class.
\n

This class worked like any other istream, but to read data from a large object. It supported all formatting and streaming operations of std::istream.

\n

This functionality was considered too fragile and complex, so it has been replaced with a single, much simpler class.

\n

Constructor & Destructor Documentation

\n \n

◆ basic_ilostream() [1/2]

\n \n
\n"}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1basic__lostream.html", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1basic__lostream.html", "unified_diff": "@@ -151,15 +151,15 @@\n  basic_lostream (dbtransaction &t, oid o, largeobject::size_type buf_size=512)\n  Create a basic_lostream.
\n  \n \n

Detailed Description

\n
template<typename CHAR = char, typename TRAITS = std::char_traits<CHAR>>
\n class pqxx::basic_lostream< CHAR, TRAITS >

Stream that reads and writes a large object.

\n-
Deprecated:
Access large objects directly using the blob class.
\n+
Deprecated:
Access large objects directly using the blob class.
\n

This worked like a std::iostream, but to read data from, or write data to, a large object. It supported all formatting and streaming operations of std::iostream.

\n

This functionality was considered too fragile and complex, so it has been replaced with a single, much simpler class.

\n

Constructor & Destructor Documentation

\n \n

◆ basic_lostream() [1/2]

\n \n
\n"}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1basic__olostream.html", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1basic__olostream.html", "unified_diff": "@@ -151,15 +151,15 @@\n  basic_olostream (dbtransaction &t, oid o, largeobject::size_type buf_size=512)\n  Create a basic_olostream.
\n  \n \n

Detailed Description

\n
template<typename CHAR = char, typename TRAITS = std::char_traits<CHAR>>
\n class pqxx::basic_olostream< CHAR, TRAITS >

Output stream that writes data back to a large object.

\n-
Deprecated:
Access large objects directly using the blob class.
\n+
Deprecated:
Access large objects directly using the blob class.
\n

This worked like any other ostream, but to write data to a large object. It supported all formatting and streaming operations of std::ostream.

\n

This functionality was considered too fragile and complex, so it has been replaced with a single, much simpler class.

\n

Constructor & Destructor Documentation

\n \n

◆ basic_olostream() [1/2]

\n \n
\n"}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1blob.html", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1blob.html", "unified_diff": "@@ -543,15 +543,15 @@\n \n inline \n \n \n
\n \n

Read up to std::size(buf) bytes from the object.

\n-
Deprecated:
As libpqxx moves to C++20 as its baseline language version, this will take and return std::span<std::byte>.
\n+
Deprecated:
As libpqxx moves to C++20 as its baseline language version, this will take and return std::span<std::byte>.
\n

Retrieves bytes from the blob, at the current position, until buf is full (i.e. its current size is reached), or there are no more bytes to read, whichever comes first.

\n

This function will not change either the size or the capacity of buf, only its contents.

\n

Returns the filled portion of buf. This may be empty.

\n \n
\n
\n \n"}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1connection.html", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1connection.html", "unified_diff": "@@ -788,15 +788,15 @@\n std::vector< pqxx::errorhandler * > pqxx::connection::get_errorhandlers \n (\n )\n const\n \n \n
\n-
Deprecated:
Return pointers to the active errorhandlers.
\n+
Deprecated:
Return pointers to the active errorhandlers.
\n

The entries are ordered from oldest to newest handler.

\n

The pointers point to the real errorhandlers. The container it returns however is a copy of the one internal to the connection, not a reference.

\n \n
\n \n \n

◆ get_notifs()

\n@@ -1528,15 +1528,15 @@\n )\n &\n \n \n
\n \n

Set session variable, using SQL's SET command.

\n-
Deprecated:
To set a session variable, use set_session_var. To set a transaction-local variable, execute an SQL SET command.
\n+
Deprecated:
To set a session variable, use set_session_var. To set a transaction-local variable, execute an SQL SET command.
\n
Warning
When setting a string value, you must escape and quote it first. Use the quote() function to do that.
\n
\n This executes an SQL query, so do not get or set variables while a table stream or pipeline is active on the same connection.
\n
Parameters
\n \n \n \n"}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1errorhandler.html", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1errorhandler.html", "unified_diff": "@@ -126,15 +126,15 @@\n \n \n \n
varVariable to set.
valueNew value for Var. This can be any SQL expression. If it's a string, be sure that it's properly escaped and quoted.

\n Friends

\n class internal::gate::errorhandler_connection
 
\n

Detailed Description

\n-
Deprecated:
Base class for obsolete error-handler callbacks.
\n+
Deprecated:
Base class for obsolete error-handler callbacks.
\n

This method of handling errors is obsolete. Use a \"notice handler\" instead.

\n
Warning
Strange things happen when a result object outlives its parent connection. If you register an error handler on a connection, then you must not access the result after destroying the connection. This applies even if you destroy the error handler first!
\n

Constructor & Destructor Documentation

\n \n

◆ errorhandler()

\n \n
\n"}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1internal_1_1dynamic__params.html", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1internal_1_1dynamic__params.html", "unified_diff": "@@ -123,15 +123,15 @@\n  \n \n constexpr auto access (decltype(*std::declval< IT >()) value) const -> decltype(std::declval< ACCESSOR >()(value))\n  \n \n

Detailed Description

\n
template<typename IT, typename ACCESSOR = decltype(iterator_identity<IT>)>
\n-class pqxx::internal::dynamic_params< IT, ACCESSOR >
Deprecated:
Use params instead.
\n+class pqxx::internal::dynamic_params< IT, ACCESSOR >
Deprecated:
Use params instead.
\n

Constructor & Destructor Documentation

\n \n

◆ dynamic_params() [1/2]

\n \n
\n
\n
\n"}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1largeobject.html", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1largeobject.html", "unified_diff": "@@ -171,15 +171,15 @@\n  \n \n PQXX_PRIVATE std::string reason (connection const &, int err) const\n  \n \n

Detailed Description

\n

Identity of a large object.

\n-
Deprecated:
Use the blob class instead.
\n+
Deprecated:
Use the blob class instead.
\n

Encapsulates the identity of a large object.

\n

A largeobject must be accessed only from within a backend transaction, but the object's identity remains valid as long as the object exists.

\n

Constructor & Destructor Documentation

\n \n

◆ largeobject() [1/5]

\n \n
\n"}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1largeobject__streambuf.html", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1largeobject__streambuf.html", "unified_diff": "@@ -190,15 +190,15 @@\n \n virtual int_type underflow () override\n  \n \n

Detailed Description

\n
template<typename CHAR = char, typename TRAITS = std::char_traits<CHAR>>
\n class pqxx::largeobject_streambuf< CHAR, TRAITS >

Streambuf to use large objects in standard I/O streams.

\n-
Deprecated:
Access large objects directly using the blob class.
\n+
Deprecated:
Access large objects directly using the blob class.
\n

The standard streambuf classes provide uniform access to data storage such as files or string buffers, so they can be accessed using standard input or output streams. This streambuf implementation provided similar access to large objects, so they could be read and written using the same stream classes.

\n

This functionality was considered too fragile and complex, so it has been replaced with a single, much simpler class.

\n

Member Data Documentation

\n \n

◆ default_mode

\n \n
\n"}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1largeobjectaccess.html", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1largeobjectaccess.html", "unified_diff": "@@ -238,15 +238,15 @@\n  \n bool operator>= (largeobject const &other) const\n  Compare object identities.
\n  \n \n

Detailed Description

\n

Accessor for large object's contents.

\n-
Deprecated:
Use the blob class instead.
\n+
Deprecated:
Use the blob class instead.
\n

Member Typedef Documentation

\n \n

◆ openmode

\n \n
\n
\n \n"}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1params.html", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1params.html", "unified_diff": "@@ -181,15 +181,15 @@\n \n \n \n \n \n
(binarystring const & value) &
\n
\n-
Deprecated:
Append binarystring parameter.
\n+
Deprecated:
Append binarystring parameter.
\n

The binarystring must stay valid for as long as the params remains active.

\n \n
\n
\n \n

◆ append() [2/6]

\n \n"}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1quiet__errorhandler.html", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1quiet__errorhandler.html", "unified_diff": "@@ -137,15 +137,15 @@\n  errorhandler (errorhandler const &)=delete\n  \n \n errorhandleroperator= (errorhandler const &)=delete\n  \n \n

Detailed Description

\n-
Deprecated:
Use a notice handler instead.
\n+
Deprecated:
Use a notice handler instead.
\n

Member Function Documentation

\n \n

◆ operator()()

\n \n
\n
\n \n"}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1row.html", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1row.html", "unified_diff": "@@ -497,15 +497,15 @@\n \n \n \n \n
) const
\n
\n

Produce a slice of this row, containing the given range of columns.

\n-
Deprecated:
I haven't heard of anyone caring about row slicing at all in at least the last 15 years. Yet it adds complexity, so unless anyone files a bug explaining why they really need this feature, I'm going to remove it. Even if they do, the feature may need an update.
\n+
Deprecated:
I haven't heard of anyone caring about row slicing at all in at least the last 15 years. Yet it adds complexity, so unless anyone files a bug explaining why they really need this feature, I'm going to remove it. Even if they do, the feature may need an update.
\n

The slice runs from the range's starting column to the range's end column, exclusive. It looks just like a normal result row, except slices can be empty.

\n \n
\n
\n \n

◆ table_column()

\n \n"}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1stream__from.html", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1stream__from.html", "unified_diff": "@@ -209,15 +209,15 @@\n  \n static stream_from table (transaction_base &tx, table_path path, std::initializer_list< std::string_view > columns={})\n  Factory: Stream data from a given table.
\n  \n \n

Detailed Description

\n

Stream data from the database.

\n-
Deprecated:
Use transaction_base::stream.
\n+
Deprecated:
Use transaction_base::stream.
\n

For larger data sets, retrieving data this way is likely to be faster than executing a query and then iterating and converting the rows fields. You will also be able to start processing before all of the data has come in.

\n

There are also downsides. Not all kinds of query will work in a stream. But straightforward SELECT and UPDATE ... RETURNING queries should work. This function makes use of pqxx::stream_from, which in turn uses PostgreSQL's COPY command, so see the documentation for those to get the full details.

\n

There are other downsides. If there stream encounters an error, it may leave the entire connection in an unusable state, so you'll have to give the whole thing up. Finally, opening a stream puts the connection in a special state, so you won't be able to do many other things with the connection or the transaction while the stream is open.

\n

There are two ways of starting a stream: you stream either all rows in a table (using one of the factories, table() or raw_table()), or the results of a query (using the query() factory).

\n

Usually you'll want the stream convenience wrapper in transaction_base, * so you don't need to deal with this class directly.

\n
Warning
While a stream is active, you cannot execute queries, open a pipeline, etc. on the same transaction. A transaction can have at most one object of a type derived from pqxx::transaction_focus active on it at a time.
\n

Constructor & Destructor Documentation

\n@@ -250,15 +250,15 @@\n )\n \n \n \n
\n \n

Execute query, and stream over the results.

\n-
Deprecated:
Use factory function query instead.
\n+
Deprecated:
Use factory function query instead.
\n \n
\n
\n \n

◆ stream_from() [2/7]

\n \n
\n@@ -287,15 +287,15 @@\n )\n \n \n \n
\n \n

Stream all rows in table, all columns.

\n-
Deprecated:
Use factories table or raw_table instead.
\n+
Deprecated:
Use factories table or raw_table instead.
\n \n
\n
\n \n

◆ stream_from() [3/7]

\n \n
\n@@ -346,15 +346,15 @@\n \n inline \n \n \n
\n \n

Stream given columns from all rows in table.

\n-
Deprecated:
Use factories table or raw_table instead.
\n+
Deprecated:
Use factories table or raw_table instead.
\n \n
\n
\n \n

◆ stream_from() [4/7]

\n \n
\n@@ -399,15 +399,15 @@\n \n inline \n \n \n
\n \n

Stream given columns from all rows in table.

\n-
Deprecated:
Use factory function query instead.
\n+
Deprecated:
Use factory function query instead.
\n \n
\n
\n \n

◆ stream_from() [5/7]

\n \n
\n@@ -436,15 +436,15 @@\n \n \n \n inline \n \n \n
\n-
Deprecated:
Use factories table or raw_table instead.
\n+
Deprecated:
Use factories table or raw_table instead.
\n \n
\n
\n \n

◆ stream_from() [6/7]

\n \n
\n@@ -481,15 +481,15 @@\n \n \n \n inline \n \n \n
\n-
Deprecated:
Use factories table or raw_table instead.
\n+
Deprecated:
Use factories table or raw_table instead.
\n \n
\n
\n \n

◆ stream_from() [7/7]

\n \n
\n@@ -524,15 +524,15 @@\n \n \n )\n \n \n \n
\n-
Deprecated:
Use factories table or raw_table instead.
\n+
Deprecated:
Use factories table or raw_table instead.
\n \n
\n
\n

Member Function Documentation

\n \n

◆ complete()

\n \n"}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1stream__to.html", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1stream__to.html", "unified_diff": "@@ -218,15 +218,15 @@\n \n inline \n \n \n
\n \n

Create a stream, without specifying columns.

\n-
Deprecated:
Use table or raw_table as a factory.
\n+
Deprecated:
Use table or raw_table as a factory.
\n

Fields will be inserted in whatever order the columns have in the database.

\n

You'll probably want to specify the columns, so that the mapping between your data fields and the table is explicit in your code, and not hidden in an \"implicit contract\" between your code and your schema.

\n \n
\n \n \n

◆ stream_to() [2/2]

\n@@ -267,15 +267,15 @@\n \n inline \n \n \n
\n \n

Create a stream, specifying column names as a container of strings.

\n-
Deprecated:
Use table or raw_table as a factory.
\n+
Deprecated:
Use table or raw_table as a factory.
\n \n
\n \n

Member Function Documentation

\n \n

◆ complete()

\n \n"}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/deprecated.html", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/deprecated.html", "unified_diff": "@@ -93,89 +93,89 @@\n
Deprecated List
\n \n
\n
\n
Class pqxx::array_parser
\n
Use pqxx::array instead.
\n
Class pqxx::basic_fieldstream< CHAR, TRAITS >
\n-
To convert a field's value string to some other type, e.g. to an int, use the field's as<...>() member function. To read a field efficiently just as a string, use its c_str() or its as<std::string_vview>().
\n+
To convert a field's value string to some other type, e.g. to an int, use the field's as<...>() member function. To read a field efficiently just as a string, use its c_str() or its as<std::string_vview>().
\n
Class pqxx::basic_ilostream< CHAR, TRAITS >
\n-
Access large objects directly using the blob class.
\n+
Access large objects directly using the blob class.
\n
Class pqxx::basic_lostream< CHAR, TRAITS >
\n-
Access large objects directly using the blob class.
\n+
Access large objects directly using the blob class.
\n
Class pqxx::basic_olostream< CHAR, TRAITS >
\n-
Access large objects directly using the blob class.
\n+
Access large objects directly using the blob class.
\n
Class pqxx::binarystring
\n
Use bytes and bytes_view for binary data. In C++20 or better, any contiguous_range of std::byte will do.
\n
Member pqxx::blob::read (std::vector< std::byte, ALLOC > &buf)
\n-
As libpqxx moves to C++20 as its baseline language version, this will take and return std::span<std::byte>.
\n+
As libpqxx moves to C++20 as its baseline language version, this will take and return std::span<std::byte>.
\n
Member pqxx::connection::get_errorhandlers () const
\n-
Return pointers to the active errorhandlers.
\n+
Return pointers to the active errorhandlers.
\n
Member pqxx::connection::set_variable (std::string_view var, std::string_view value) &
\n-
To set a session variable, use set_session_var. To set a transaction-local variable, execute an SQL SET command.
\n+
To set a session variable, use set_session_var. To set a transaction-local variable, execute an SQL SET command.
\n
Member pqxx::connection_base
\n-
Old base class for connection. They are now the same class.
\n+
Old base class for connection. They are now the same class.
\n
Member pqxx::encrypt_password (zview user, zview password)
\n-
Use connection::encrypt_password instead.
\n+
Use connection::encrypt_password instead.
\n
Member pqxx::encrypt_password (char const user[], char const password[])
\n-
Use connection::encrypt_password instead.
\n+
Use connection::encrypt_password instead.
\n
Class pqxx::errorhandler
\n-
Base class for obsolete error-handler callbacks.
\n+
Base class for obsolete error-handler callbacks.
\n
Member pqxx::fieldstream
\n-
Read a field using field::as<...>() or field::c_str().
\n+
Read a field using field::as<...>() or field::c_str().
\n
Member pqxx::from_query
\n-
Use transaction_base::stream instead of stream_from.
\n+
Use transaction_base::stream instead of stream_from.
\n
Struct pqxx::from_query_t
\n-
Use stream_from::query() instead.
\n+
Use stream_from::query() instead.
\n
Member pqxx::from_table
\n-
Use transaction_base::stream instead of stream_from.
\n+
Use transaction_base::stream instead of stream_from.
\n
Struct pqxx::from_table_t
\n-
Use stream_from::table() instead.
\n+
Use stream_from::table() instead.
\n
Class pqxx::internal::dynamic_params< IT, ACCESSOR >
\n-
Use params instead.
\n+
Use params instead.
\n
Class pqxx::largeobject
\n-
Use the blob class instead.
\n+
Use the blob class instead.
\n
Class pqxx::largeobject_streambuf< CHAR, TRAITS >
\n-
Access large objects directly using the blob class.
\n+
Access large objects directly using the blob class.
\n
Class pqxx::largeobjectaccess
\n-
Use the blob class instead.
\n+
Use the blob class instead.
\n
Member pqxx::operator<< (std::basic_ostream< CHAR > &s, field const &value)
\n-
The C++ streams library is not great to work with. In particular, error handling is easy to get wrong. So you're probably better off doing this by hand.
\n+
The C++ streams library is not great to work with. In particular, error handling is easy to get wrong. So you're probably better off doing this by hand.
\n
Member pqxx::params::append (binarystring const &value) &
\n-
Append binarystring parameter.
\n+
Append binarystring parameter.
\n
Namespace pqxx::prepare
\n-
The new params class replaces all of this.
\n+
The new params class replaces all of this.
\n
Class pqxx::quiet_errorhandler
\n-
Use a notice handler instead.
\n+
Use a notice handler instead.
\n
Member pqxx::row::slice (size_type sbegin, size_type send) const
\n-
I haven't heard of anyone caring about row slicing at all in at least the last 15 years. Yet it adds complexity, so unless anyone files a bug explaining why they really need this feature, I'm going to remove it. Even if they do, the feature may need an update.
\n+
I haven't heard of anyone caring about row slicing at all in at least the last 15 years. Yet it adds complexity, so unless anyone files a bug explaining why they really need this feature, I'm going to remove it. Even if they do, the feature may need an update.
\n
Class pqxx::stream_from
\n-
Use transaction_base::stream.
\n-
Member pqxx::stream_from::stream_from (transaction_base &, from_query_t, std::string_view query)
\n-
Use factory function query instead.
\n+
Use transaction_base::stream.
\n
Member pqxx::stream_from::stream_from (transaction_base &, from_table_t, std::string_view table)
\n-
Use factories table or raw_table instead.
\n+
Use factories table or raw_table instead.
\n+
Member pqxx::stream_from::stream_from (transaction_base &, from_query_t, std::string_view query)
\n+
Use factory function query instead.
\n+
Member pqxx::stream_from::stream_from (transaction_base &tx, std::string_view table)
\n+
Use factories table or raw_table instead.
\n
Member pqxx::stream_from::stream_from (transaction_base &, from_table_t, std::string_view table, Iter columns_begin, Iter columns_end)
\n-
Use factories table or raw_table instead.
\n+
Use factories table or raw_table instead.
\n
Member pqxx::stream_from::stream_from (transaction_base &tx, from_table_t, std::string_view table, Columns const &columns)
\n-
Use factory function query instead.
\n-
Member pqxx::stream_from::stream_from (transaction_base &tx, std::string_view table)
\n-
Use factories table or raw_table instead.
\n-
Member pqxx::stream_from::stream_from (transaction_base &tx, std::string_view table, Columns const &columns)
\n-
Use factories table or raw_table instead.
\n+
Use factory function query instead.
\n
Member pqxx::stream_from::stream_from (transaction_base &, std::string_view table, Iter columns_begin, Iter columns_end)
\n-
Use factories table or raw_table instead.
\n-
Member pqxx::stream_to::stream_to (transaction_base &, std::string_view table_name, Columns const &columns)
\n-
Use table or raw_table as a factory.
\n+
Use factories table or raw_table instead.
\n+
Member pqxx::stream_from::stream_from (transaction_base &tx, std::string_view table, Columns const &columns)
\n+
Use factories table or raw_table instead.
\n
Member pqxx::stream_to::stream_to (transaction_base &tx, std::string_view table_name)
\n-
Use table or raw_table as a factory.
\n+
Use table or raw_table as a factory.
\n+
Member pqxx::stream_to::stream_to (transaction_base &, std::string_view table_name, Columns const &columns)
\n+
Use table or raw_table as a factory.
\n
Member pqxx::strip_t
\n-
In C++20 we'll replace this with std::remove_cvref.
\n+
In C++20 we'll replace this with std::remove_cvref.
\n
Member pqxx::transaction_base::set_variable (std::string_view var, std::string_view value)
\n-
To set a transaction-local variable, execute an SQL SET command. To set a session variable, use the connection's set_session_var function.
\n+
To set a transaction-local variable, execute an SQL SET command. To set a session variable, use the connection's set_session_var function.
\n
\n
\n \n \n \n
\n
\n \n

Set session variable using SQL \"SET\" command.

\n-
Deprecated:
To set a transaction-local variable, execute an SQL SET command. To set a session variable, use the connection's set_session_var function.
\n+
Deprecated:
To set a transaction-local variable, execute an SQL SET command. To set a session variable, use the connection's set_session_var function.
\n
Warning
When setting a string value, you must make sure that the string is \"safe.\" If you call quote() on the string, it will return a safely escaped and quoted version for use as an SQL literal.
\n
\n This function executes SQL. Do not try to set or get variables while a pipeline or table stream is active.
\n
Parameters
\n \n \n \n"}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/namespacepqxx.html", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/namespacepqxx.html", "unified_diff": "@@ -920,15 +920,15 @@\n
varThe variable to set.
valueThe new value to store in the variable. This can be any SQL expression.
\n \n \n \n
struct pqxx::from_query_t
\n
\n

Marker for stream_from constructors: \"stream from query.\".

\n-
Deprecated:
Use stream_from::query() instead.
\n+
Deprecated:
Use stream_from::query() instead.
\n
\n
\n \n \n

◆ pqxx::from_table_t

\n \n
\n@@ -936,15 +936,15 @@\n \n \n \n \n
struct pqxx::from_table_t
\n
\n

Marker for stream_from constructors: \"stream from table.\".

\n-
Deprecated:
Use stream_from::table() instead.
\n+
Deprecated:
Use stream_from::table() instead.
\n
\n
\n \n \n

◆ pqxx::notification

\n \n
\n@@ -1073,30 +1073,30 @@\n
\n \n \n \n \n
using pqxx::connection_base = typedef connection
\n
\n-
Deprecated:
Old base class for connection. They are now the same class.
\n+
Deprecated:
Old base class for connection. They are now the same class.
\n \n
\n
\n \n

◆ fieldstream

\n \n
\n
\n \n \n \n \n
using pqxx::fieldstream = typedef basic_fieldstream<char>
\n
\n-
Deprecated:
Read a field using field::as<...>() or field::c_str().
\n+
Deprecated:
Read a field using field::as<...>() or field::c_str().
\n \n
\n
\n \n

◆ strip_t

\n \n
\n@@ -1107,15 +1107,15 @@\n \n using pqxx::strip_t = typedef std::remove_cv_t<std::remove_reference_t<TYPE> >\n \n \n
\n \n

Remove any constness, volatile, and reference-ness from a type.

\n-
Deprecated:
In C++20 we'll replace this with std::remove_cvref.
\n+
Deprecated:
In C++20 we'll replace this with std::remove_cvref.
\n \n
\n \n \n

◆ table_path

\n \n
\n@@ -1486,15 +1486,15 @@\n )\n \n \n \n
\n \n

Encrypt a password.

\n-
Deprecated:
Use connection::encrypt_password instead.
\n+
Deprecated:
Use connection::encrypt_password instead.
\n \n
\n \n \n

◆ encrypt_password() [2/2]

\n \n
\n@@ -1525,15 +1525,15 @@\n \n inline \n \n \n
\n \n

Encrypt password.

\n-
Deprecated:
Use connection::encrypt_password instead.
\n+
Deprecated:
Use connection::encrypt_password instead.
\n \n
\n \n \n

◆ from_string()

\n \n
\n@@ -1701,15 +1701,15 @@\n \n inline \n \n \n
\n \n

Write a result field to any type of stream.

\n-
Deprecated:
The C++ streams library is not great to work with. In particular, error handling is easy to get wrong. So you're probably better off doing this by hand.
\n+
Deprecated:
The C++ streams library is not great to work with. In particular, error handling is easy to get wrong. So you're probably better off doing this by hand.
\n

This can be convenient when writing a field to an output stream. More importantly, it lets you write a field to e.g. a stringstream which you can then use to read, format and convert the field in ways that to() does not support.

\n

Example: parse a field into a variable of the nonstandard long long type.

\n
extern result R;
\n
long long L;
\n
stringstream S;
\n
\n
// Write field's string into S
\n@@ -1985,15 +1985,15 @@\n \n constexpr \n \n \n
\n \n

Pass this to a stream_from constructor to stream query results.

\n-
Deprecated:
Use transaction_base::stream instead of stream_from.
\n+
Deprecated:
Use transaction_base::stream instead of stream_from.
\n \n
\n
\n \n

◆ from_table

\n \n
\n@@ -2010,15 +2010,15 @@\n \n constexpr \n \n \n
\n \n

Pass this to a stream_from constructor to stream table contents.

\n-
Deprecated:
Use transaction_base::stream instead of stream_from.
\n+
Deprecated:
Use transaction_base::stream instead of stream_from.
\n \n
\n \n \n

◆ has_generic_bytes_char_traits

\n \n
\n"}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/namespacepqxx_1_1prepare.html", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/namespacepqxx_1_1prepare.html", "unified_diff": "@@ -90,15 +90,15 @@\n
\n \n
\n
pqxx::prepare Namespace Reference
\n
\n
\n

Detailed Description

\n-
Deprecated:
The new params class replaces all of this.
\n+
Deprecated:
The new params class replaces all of this.
\n
\n
\n \n
\n