From cf7a1dc4c55d9388ba4015c36627f507d1b3f73a Mon Sep 17 00:00:00 2001
From: Dan Goodliffe <dan@randomdan.homeip.net>
Date: Sat, 17 Oct 2015 22:11:44 +0100
Subject: Add support for getting last insert value

---
 libpqpp/unittests/pqschema.sql |  4 ++++
 libpqpp/unittests/testpq.cpp   | 12 ++++++++++++
 2 files changed, 16 insertions(+)

(limited to 'libpqpp/unittests')

diff --git a/libpqpp/unittests/pqschema.sql b/libpqpp/unittests/pqschema.sql
index 80d9183..2a7dd09 100644
--- a/libpqpp/unittests/pqschema.sql
+++ b/libpqpp/unittests/pqschema.sql
@@ -35,3 +35,7 @@ CREATE TABLE bulktest(
 		id int,
 		string text);
 
+CREATE TABLE idtest(
+		id serial,
+		foo int);
+
diff --git a/libpqpp/unittests/testpq.cpp b/libpqpp/unittests/testpq.cpp
index 3942cfd..cf366cb 100644
--- a/libpqpp/unittests/testpq.cpp
+++ b/libpqpp/unittests/testpq.cpp
@@ -155,5 +155,17 @@ BOOST_AUTO_TEST_CASE( bigIterate )
 	delete ro;
 }
 
+BOOST_AUTO_TEST_CASE( insertId )
+{
+	auto ro = DB::MockDatabase::openConnectionTo("pqmock");
+	auto ins = ro->newModifyCommand("INSERT INTO idtest(foo) VALUES(1)");
+	for (int x = 1; x < 4; x++) {
+		ins->execute();
+		BOOST_REQUIRE_EQUAL(x, ro->insertId());
+	}
+	delete ins;
+	delete ro;
+}
+
 BOOST_AUTO_TEST_SUITE_END();
 
-- 
cgit v1.2.3