summaryrefslogtreecommitdiff
path: root/lib/output/pq/pqConn.cpp
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2021-05-23 00:17:24 +0100
committerDan Goodliffe <dan@randomdan.homeip.net>2021-05-23 00:17:24 +0100
commitf98ecb7ea6a64b02d2a28cd15e865afa76342327 (patch)
tree102e8431d3facb74225a575e582bb372e53ff4d1 /lib/output/pq/pqConn.cpp
parentIWYU built for LLVM-12 fixes (diff)
downloadmygrate-f98ecb7ea6a64b02d2a28cd15e865afa76342327.tar.bz2
mygrate-f98ecb7ea6a64b02d2a28cd15e865afa76342327.tar.xz
mygrate-f98ecb7ea6a64b02d2a28cd15e865afa76342327.zip
Add PQ basics
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
+ {
+ }
+}