libpqxx
The C++ client library for PostgreSQL
connection-transaction.hxx
1#include <pqxx/internal/callgate.hxx>
2
3namespace pqxx
4{
5class connection;
6}
7
8namespace pqxx::internal::gate
9{
10class PQXX_PRIVATE connection_transaction : callgate<connection>
11{
12 friend class pqxx::transaction_base;
13
15
16 template<typename STRING> result exec(STRING query, std::string_view desc)
17 {
18 return home().exec(query, desc);
19 }
20
22 {
23 home().register_transaction(t);
24 }
25 void unregister_transaction(transaction_base *t) noexcept
26 {
27 home().unregister_transaction(t);
28 }
29
30 auto read_copy_line() { return home().read_copy_line(); }
31 void write_copy_line(std::string_view line) { home().write_copy_line(line); }
32 void end_copy_write() { home().end_copy_write(); }
33
34 result exec_prepared(zview statement, internal::c_params const &args)
35 {
36 return home().exec_prepared(statement, args);
37 }
38
40 {
41 return home().exec_params(query, args);
42 }
43};
44} // namespace pqxx::internal::gate
Connection to a database.
Definition: connection.hxx:230
Base class for call gates.
Definition: callgate.hxx:55
Definition: connection-transaction.hxx:11
Result set containing data returned by a query or command.
Definition: result.hxx:73
Marker-type wrapper: zero-terminated std::string_view.
Definition: zview.hxx:38
result exec_prepared(zview statement, Args &&...args)
Execute a prepared statement, with optional arguments.
Definition: transaction_base.hxx:948
auto query(zview query)
Execute query, read full results, then iterate rows of data.
Definition: transaction_base.hxx:656
result exec_params(zview query, Args &&...args)
Execute an SQL statement with parameters.
Definition: transaction_base.hxx:725
void register_transaction()
Register this transaction with the connection.
Definition: transaction_base.cxx:90
result exec(std::string_view query, std::string_view desc)
Execute a command.
Definition: transaction_base.cxx:248
Interface definition (and common code) for "transaction" classes.
Definition: transaction_base.hxx:150
The home of all libpqxx classes, functions, templates, etc.
Definition: array.cxx:27
Internal type: encode statement parameters.
Definition: statement_parameters.hxx:113