summaryrefslogtreecommitdiff
path: root/lib/output/pq/pqConn.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/output/pq/pqConn.cpp')
-rw-r--r--lib/output/pq/pqConn.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/lib/output/pq/pqConn.cpp b/lib/output/pq/pqConn.cpp
new file mode 100644
index 0000000..78cdc06
--- /dev/null
+++ b/lib/output/pq/pqConn.cpp
@@ -0,0 +1,27 @@
+#include "pqConn.h"
+#include <helpers.h>
+#include <stdexcept>
+
+namespace MyGrate::Output::Pq {
+ PqConn::PqConn(const char * const str) : conn {PQconnectdb(str)}
+ {
+ verify<std::runtime_error>(PQstatus(conn) == CONNECTION_OK, "Connection failure");
+ PQsetNoticeProcessor(conn, notice_processor, this);
+ }
+
+ PqConn::~PqConn()
+ {
+ PQfinish(conn);
+ }
+
+ void
+ PqConn::notice_processor(void * p, const char * n)
+ {
+ return static_cast<PqConn *>(p)->notice_processor(n);
+ }
+
+ void
+ PqConn::notice_processor(const char *) const
+ {
+ }
+}