First Commit
/ build_macos (push) Has been cancelled
/ build_windows (push) Has been cancelled
/ build_ubuntu (push) Has been cancelled

This commit is contained in:
dsutanto committed 2025-11-19 16:23:45 +07:00
commit dbdc5bcc4a
1791 files changed
+489451

No files matched your search

@@ -0,0 +1,53 @@
#include <pqxx/stream_from>
#include <pqxx/transaction>
#include "../test_helpers.hxx"
namespace
{
auto make_focus(pqxx::dbtransaction &tx)
{
return pqxx::stream_from::query(tx, "SELECT * from generate_series(1, 10)");
}
void test_cannot_run_statement_during_focus()
{
pqxx::connection conn;
pqxx::transaction tx{conn};
tx.exec("SELECT 1");
auto focus{make_focus(tx)};
PQXX_CHECK_THROWS(
tx.exec("SELECT 1"), pqxx::usage_error,
"Command during focus did not throw expected error.");
}
void test_cannot_run_prepared_statement_during_focus()
{
pqxx::connection conn;
conn.prepare("foo", "SELECT 1");
pqxx::transaction tx{conn};
tx.exec_prepared("foo");
auto focus{make_focus(tx)};
PQXX_CHECK_THROWS(
tx.exec_prepared("foo"), pqxx::usage_error,
"Prepared statement during focus did not throw expected error.");
}
void test_cannot_run_params_statement_during_focus()
{
pqxx::connection conn;
pqxx::transaction tx{conn};
tx.exec_params("select $1", 10);
auto focus{make_focus(tx)};
PQXX_CHECK_THROWS(
tx.exec_params("select $1", 10), pqxx::usage_error,
"Parameterized statement during focus did not throw expected error.");
}
PQXX_REGISTER_TEST(test_cannot_run_statement_during_focus);
PQXX_REGISTER_TEST(test_cannot_run_prepared_statement_during_focus);
PQXX_REGISTER_TEST(test_cannot_run_params_statement_during_focus);
} // namespace