First Commit
This commit is contained in:
commit
dbdc5bcc4a
1791 files changed
+489451
No files matched your search
@@ -0,0 +1,61 @@
|
||||
#include <iostream>
|
||||
|
||||
#include <pqxx/transaction>
|
||||
|
||||
#include "test_helpers.hxx"
|
||||
|
||||
using namespace pqxx;
|
||||
|
||||
|
||||
// Example program for libpqxx. Test local variable functionality.
|
||||
namespace
|
||||
{
|
||||
std::string GetDatestyle(transaction_base &T)
|
||||
{
|
||||
return T.conn().get_var("DATESTYLE");
|
||||
}
|
||||
|
||||
|
||||
std::string SetDatestyle(transaction_base &T, std::string style)
|
||||
{
|
||||
T.conn().set_session_var("DATESTYLE", style);
|
||||
std::string const fullname{GetDatestyle(T)};
|
||||
PQXX_CHECK(
|
||||
not std::empty(fullname),
|
||||
"Setting datestyle to " + style + " makes it an empty string.");
|
||||
|
||||
return fullname;
|
||||
}
|
||||
|
||||
|
||||
void RedoDatestyle(
|
||||
transaction_base &T, std::string const &style, std::string const &expected)
|
||||
{
|
||||
PQXX_CHECK_EQUAL(SetDatestyle(T, style), expected, "Set wrong datestyle.");
|
||||
}
|
||||
|
||||
|
||||
void test_061()
|
||||
{
|
||||
connection conn;
|
||||
work tx{conn};
|
||||
|
||||
PQXX_CHECK(not std::empty(GetDatestyle(tx)), "Initial datestyle not set.");
|
||||
|
||||
std::string const ISOname{SetDatestyle(tx, "ISO")};
|
||||
std::string const SQLname{SetDatestyle(tx, "SQL")};
|
||||
|
||||
PQXX_CHECK_NOT_EQUAL(ISOname, SQLname, "Same datestyle in SQL and ISO.");
|
||||
|
||||
RedoDatestyle(tx, "SQL", SQLname);
|
||||
|
||||
// Prove that setting an unknown variable causes an error, as expected
|
||||
quiet_errorhandler d(tx.conn());
|
||||
PQXX_CHECK_THROWS(
|
||||
conn.set_session_var("NONEXISTENT_VARIABLE_I_HOPE", 1), sql_error,
|
||||
"Setting unknown variable failed to fail.");
|
||||
}
|
||||
|
||||
|
||||
PQXX_REGISTER_TEST(test_061);
|
||||
} // namespace
|
||||
Reference in new issue
Block a user