summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2018-04-11 23:19:06 +0100
committerDan Goodliffe <dan@randomdan.homeip.net>2018-04-12 19:05:52 +0100
commit44096d3f0f30f1ab33f7dc15d5d0d04ee401f9ed (patch)
treef10612e14a7075336d1eb22fc478bc6221d1a3b2
parentC++17 (diff)
downloadslicer-44096d3f0f30f1ab33f7dc15d5d0d04ee401f9ed.tar.bz2
slicer-44096d3f0f30f1ab33f7dc15d5d0d04ee401f9ed.tar.xz
slicer-44096d3f0f30f1ab33f7dc15d5d0d04ee401f9ed.zip
C++17
Update DB serializer interfaces to be more C++CG, specifically not partaking in ownerships.
-rw-r--r--slicer/db/sqlInsertSerializer.cpp6
-rw-r--r--slicer/db/sqlInsertSerializer.h4
-rw-r--r--slicer/db/sqlSelectDeserializer.cpp2
-rw-r--r--slicer/db/sqlSelectDeserializer.h4
-rw-r--r--slicer/db/sqlTablePatchSerializer.cpp2
-rw-r--r--slicer/db/sqlTablePatchSerializer.h4
-rw-r--r--slicer/db/sqlUpdateSerializer.cpp2
-rw-r--r--slicer/db/sqlUpdateSerializer.h4
-rw-r--r--slicer/db/testInsert.cpp12
-rw-r--r--slicer/db/testMockCommon.cpp3
-rw-r--r--slicer/db/testMockCommon.h3
-rw-r--r--slicer/db/testPatch.cpp2
-rw-r--r--slicer/db/testSelect.cpp46
-rw-r--r--slicer/db/testUpdate.cpp8
14 files changed, 52 insertions, 50 deletions
diff --git a/slicer/db/sqlInsertSerializer.cpp b/slicer/db/sqlInsertSerializer.cpp
index 9d1da32..9647847 100644
--- a/slicer/db/sqlInsertSerializer.cpp
+++ b/slicer/db/sqlInsertSerializer.cpp
@@ -10,7 +10,7 @@
#include <boost/bind.hpp>
namespace Slicer {
- SqlInsertSerializer::SqlInsertSerializer(DB::ConnectionPtr const c, const std::string & t) :
+ SqlInsertSerializer::SqlInsertSerializer(DB::Connection * const c, const std::string & t) :
connection(c),
tableName(t)
{
@@ -57,7 +57,7 @@ namespace Slicer {
class IdSave : public Slicer::ValueSource {
public:
- IdSave(const DB::ConnectionPtr & c) :
+ IdSave(DB::Connection * const c) :
connection(c)
{
}
@@ -79,7 +79,7 @@ namespace Slicer {
NumType(Ice::Double);
private:
- const DB::ConnectionPtr & connection;
+ DB::Connection * const connection;
};
void
diff --git a/slicer/db/sqlInsertSerializer.h b/slicer/db/sqlInsertSerializer.h
index 9c99f80..d5c8ced 100644
--- a/slicer/db/sqlInsertSerializer.h
+++ b/slicer/db/sqlInsertSerializer.h
@@ -9,7 +9,7 @@
namespace Slicer {
class DLL_PUBLIC SqlInsertSerializer : public Slicer::Serializer {
public:
- SqlInsertSerializer(DB::ConnectionPtr const, const std::string & tableName);
+ SqlInsertSerializer(DB::Connection * const, const std::string & tableName);
virtual void Serialize(Slicer::ModelPartForRootPtr) override;
@@ -21,7 +21,7 @@ namespace Slicer {
virtual void bindObjectAndExecute(Slicer::ModelPartPtr, DB::ModifyCommand *) const;
virtual void bindObjectAndExecuteField(int & paramNo, DB::ModifyCommand *, Slicer::ModelPartPtr, const HookCommon *) const;
- DB::ConnectionPtr const connection;
+ DB::Connection * const connection;
const std::string tableName;
};
diff --git a/slicer/db/sqlSelectDeserializer.cpp b/slicer/db/sqlSelectDeserializer.cpp
index 5b226ce..0fa9892 100644
--- a/slicer/db/sqlSelectDeserializer.cpp
+++ b/slicer/db/sqlSelectDeserializer.cpp
@@ -4,7 +4,7 @@
#include <common.h>
namespace Slicer {
- SqlSelectDeserializer::SqlSelectDeserializer(DB::SelectCommandPtr c, IceUtil::Optional<std::string> tc) :
+ SqlSelectDeserializer::SqlSelectDeserializer(DB::SelectCommand * c, IceUtil::Optional<std::string> tc) :
cmd(c),
typeIdColName(tc)
{
diff --git a/slicer/db/sqlSelectDeserializer.h b/slicer/db/sqlSelectDeserializer.h
index 72403ee..af39039 100644
--- a/slicer/db/sqlSelectDeserializer.h
+++ b/slicer/db/sqlSelectDeserializer.h
@@ -8,7 +8,7 @@
namespace Slicer {
class DLL_PUBLIC SqlSelectDeserializer : public Slicer::Deserializer {
public:
- SqlSelectDeserializer(DB::SelectCommandPtr, IceUtil::Optional<std::string> typeIdCol = IceUtil::Optional<std::string>());
+ SqlSelectDeserializer(DB::SelectCommand *, IceUtil::Optional<std::string> typeIdCol = IceUtil::Optional<std::string>());
virtual void Deserialize(Slicer::ModelPartForRootPtr) override;
@@ -18,7 +18,7 @@ namespace Slicer {
void DLL_PRIVATE DeserializeSequence(Slicer::ModelPartPtr);
void DLL_PRIVATE DeserializeRow(Slicer::ModelPartPtr);
- DB::SelectCommandPtr cmd;
+ DB::SelectCommand * cmd;
unsigned int columnCount;
IceUtil::Optional<std::string> typeIdColName;
IceUtil::Optional<unsigned int> typeIdColIdx;
diff --git a/slicer/db/sqlTablePatchSerializer.cpp b/slicer/db/sqlTablePatchSerializer.cpp
index ed293ca..08aa14d 100644
--- a/slicer/db/sqlTablePatchSerializer.cpp
+++ b/slicer/db/sqlTablePatchSerializer.cpp
@@ -8,7 +8,7 @@
namespace Slicer {
AdHocFormatter(ttname, "slicer_tmp_%?");
- SqlTablePatchSerializer::SqlTablePatchSerializer(DB::ConnectionPtr db, DB::TablePatch & tp) :
+ SqlTablePatchSerializer::SqlTablePatchSerializer(DB::Connection * const db, DB::TablePatch & tp) :
db(db),
tablePatch(tp)
{
diff --git a/slicer/db/sqlTablePatchSerializer.h b/slicer/db/sqlTablePatchSerializer.h
index 41fb89d..c3b3b2d 100644
--- a/slicer/db/sqlTablePatchSerializer.h
+++ b/slicer/db/sqlTablePatchSerializer.h
@@ -7,7 +7,7 @@
namespace Slicer {
class DLL_PUBLIC SqlTablePatchSerializer : public Slicer::Serializer {
public:
- SqlTablePatchSerializer(DB::ConnectionPtr, DB::TablePatch &);
+ SqlTablePatchSerializer(DB::Connection * const, DB::TablePatch &);
~SqlTablePatchSerializer();
virtual void Serialize(Slicer::ModelPartForRootPtr) override;
@@ -16,7 +16,7 @@ namespace Slicer {
void createTemporaryTable();
void dropTemporaryTable();
- DB::ConnectionPtr db;
+ DB::Connection * const db;
DB::TablePatch & tablePatch;
};
}
diff --git a/slicer/db/sqlUpdateSerializer.cpp b/slicer/db/sqlUpdateSerializer.cpp
index 6cd0360..c322ef1 100644
--- a/slicer/db/sqlUpdateSerializer.cpp
+++ b/slicer/db/sqlUpdateSerializer.cpp
@@ -9,7 +9,7 @@
#include <boost/bind.hpp>
namespace Slicer {
- SqlUpdateSerializer::SqlUpdateSerializer(DB::ConnectionPtr const c, const std::string & t) :
+ SqlUpdateSerializer::SqlUpdateSerializer(DB::Connection * const c, const std::string & t) :
connection(c),
tableName(t)
{
diff --git a/slicer/db/sqlUpdateSerializer.h b/slicer/db/sqlUpdateSerializer.h
index fe6f4bc..f695634 100644
--- a/slicer/db/sqlUpdateSerializer.h
+++ b/slicer/db/sqlUpdateSerializer.h
@@ -8,7 +8,7 @@
namespace Slicer {
class DLL_PUBLIC SqlUpdateSerializer : public Slicer::Serializer {
public:
- SqlUpdateSerializer(DB::ConnectionPtr const, const std::string & tableName);
+ SqlUpdateSerializer(DB::Connection * const, const std::string & tableName);
virtual void Serialize(Slicer::ModelPartForRootPtr) override;
@@ -18,7 +18,7 @@ namespace Slicer {
DB::ModifyCommandPtr createUpdate(Slicer::ModelPartPtr) const;
static void bindObjectAndExecute(Slicer::ModelPartPtr, DB::ModifyCommand *);
- DB::ConnectionPtr const connection;
+ DB::Connection * const connection;
const std::string tableName;
};
}
diff --git a/slicer/db/testInsert.cpp b/slicer/db/testInsert.cpp
index 57716e3..7dbb6b7 100644
--- a/slicer/db/testInsert.cpp
+++ b/slicer/db/testInsert.cpp
@@ -33,7 +33,7 @@ BOOST_AUTO_TEST_CASE( insert_builtins )
TestModule::BuiltInsPtr bi = std::make_shared<TestModule::BuiltIns>(true, 4, 16, 64, 128, 1.2, 3.4, "text");
Slicer::SerializeAny<Slicer::SqlInsertSerializer>(bi, db, "builtins");
auto sel = db->select("SELECT * FROM builtins");
- auto bi2 = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, TestModule::BuiltInsPtr>(sel);
+ auto bi2 = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, TestModule::BuiltInsPtr>(sel.get());
BOOST_REQUIRE_EQUAL(bi->mbool, bi2->mbool);
BOOST_REQUIRE_EQUAL(bi->mbyte, bi2->mbyte);
BOOST_REQUIRE_EQUAL(bi->mshort, bi2->mshort);
@@ -52,7 +52,7 @@ BOOST_AUTO_TEST_CASE( insert_seq_builtins )
};
Slicer::SerializeAny<Slicer::SqlInsertSerializer>(bis, db, "builtins");
auto sel = db->select("SELECT * FROM builtins ORDER BY mint");
- auto bis2 = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, TestModule::BuiltInSeq>(sel);
+ auto bis2 = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, TestModule::BuiltInSeq>(sel.get());
BOOST_REQUIRE_EQUAL(3, bis2.size());
BOOST_REQUIRE_EQUAL(bis.back()->mbool, bis2.back()->mbool);
BOOST_REQUIRE_EQUAL(bis.back()->mbyte, bis2.back()->mbyte);
@@ -72,7 +72,7 @@ BOOST_AUTO_TEST_CASE( autoinsert_seq_builtins )
};
Slicer::SerializeAny<Slicer::SqlAutoIdInsertSerializer>(bis, db, "builtins");
auto sel = db->select("SELECT * FROM builtins WHERE mint IN (1, 2) ORDER BY mint");
- auto bis2 = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, TestModule::BuiltInSeq>(sel);
+ auto bis2 = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, TestModule::BuiltInSeq>(sel.get());
BOOST_REQUIRE_EQUAL(2, bis2.size());
BOOST_REQUIRE_EQUAL(bis.front()->mint, 0);
BOOST_REQUIRE_EQUAL(bis.back()->mint, 0);
@@ -95,7 +95,7 @@ BOOST_AUTO_TEST_CASE( fetchinsert_seq_builtins )
};
Slicer::SerializeAny<Slicer::SqlFetchIdInsertSerializer>(bis, db, "builtins");
auto sel = db->select("SELECT * FROM builtins WHERE mint IN (3, 4) ORDER BY mint");
- auto bis2 = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, TestModule::BuiltInSeq>(sel);
+ auto bis2 = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, TestModule::BuiltInSeq>(sel.get());
BOOST_REQUIRE_EQUAL(2, bis2.size());
BOOST_REQUIRE_EQUAL(bis.front()->mint, 3);
BOOST_REQUIRE_EQUAL(bis.back()->mint, 4);
@@ -118,7 +118,7 @@ BOOST_AUTO_TEST_CASE( fetchinsert_seq_builtinsWithNulls )
};
Slicer::SerializeAny<Slicer::SqlFetchIdInsertSerializer>(bis, db, "builtins");
auto sel = db->select("SELECT * FROM builtins WHERE mint IN (5, 6) ORDER BY mint");
- auto bis2 = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, TestDatabase::BuiltInSeq>(sel);
+ auto bis2 = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, TestDatabase::BuiltInSeq>(sel.get());
BOOST_REQUIRE_EQUAL(2, bis2.size());
BOOST_REQUIRE_EQUAL(bis.front()->mint, 5);
BOOST_REQUIRE_EQUAL(bis.back()->mint, 6);
@@ -142,7 +142,7 @@ BOOST_AUTO_TEST_CASE( insert_converted )
);
Slicer::SerializeAny<Slicer::SqlInsertSerializer>(st, db, "converted");
auto sel = db->select("SELECT * FROM converted");
- auto st2 = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, TestDatabase::SpecificTypesPtr>(sel);
+ auto st2 = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, TestDatabase::SpecificTypesPtr>(sel.get());
BOOST_REQUIRE_EQUAL(st->date, st2->date);
BOOST_REQUIRE_EQUAL(st->dt, st2->dt);
BOOST_REQUIRE_EQUAL(st->ts->days, st2->ts->days);
diff --git a/slicer/db/testMockCommon.cpp b/slicer/db/testMockCommon.cpp
index 8053b3e..7102db7 100644
--- a/slicer/db/testMockCommon.cpp
+++ b/slicer/db/testMockCommon.cpp
@@ -8,7 +8,8 @@ DB::PluginMock<PQ::Mock>("user=postgres dbname=postgres", "pqmock", {
}
ConnectionFixture::ConnectionFixture() :
- db(DB::MockDatabase::openConnectionTo("pqmock"))
+ _db(DB::MockDatabase::openConnectionTo("pqmock")),
+ db(_db.get())
{
}
diff --git a/slicer/db/testMockCommon.h b/slicer/db/testMockCommon.h
index e55824f..bd9b11f 100644
--- a/slicer/db/testMockCommon.h
+++ b/slicer/db/testMockCommon.h
@@ -14,7 +14,8 @@ class DLL_PUBLIC ConnectionFixture {
public:
ConnectionFixture();
- DB::ConnectionPtr db;
+ DB::ConnectionPtr _db;
+ DB::Connection * const db;
};
#endif
diff --git a/slicer/db/testPatch.cpp b/slicer/db/testPatch.cpp
index 294d218..bb32086 100644
--- a/slicer/db/testPatch.cpp
+++ b/slicer/db/testPatch.cpp
@@ -31,7 +31,7 @@ BOOST_AUTO_TEST_CASE( insert_builtins )
tp.dest = "builtins";
Slicer::SerializeAny<Slicer::SqlTablePatchSerializer>(bis, db, tp);
auto cmd = db->select("SELECT COUNT(*) FROM builtins");
- auto c = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, int>(cmd);
+ auto c = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, int>(cmd.get());
BOOST_REQUIRE_EQUAL(2, c);
BOOST_REQUIRE_EQUAL(2, tp.pk.size());
DB::PrimaryKey pk = {"mint", "mlong"};
diff --git a/slicer/db/testSelect.cpp b/slicer/db/testSelect.cpp
index da4b457..afcd3f2 100644
--- a/slicer/db/testSelect.cpp
+++ b/slicer/db/testSelect.cpp
@@ -18,35 +18,35 @@ BOOST_FIXTURE_TEST_SUITE(db, ConnectionFixture);
BOOST_AUTO_TEST_CASE( select_simple_int )
{
auto sel = db->select("SELECT MAX(id) FROM test");
- auto bi = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, Ice::Int>(sel);
+ auto bi = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, Ice::Int>(sel.get());
BOOST_REQUIRE_EQUAL(4, bi);
}
BOOST_AUTO_TEST_CASE( select_simple_double )
{
auto sel = db->select("SELECT MAX(fl) FROM test");
- auto bi = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, Ice::Double>(sel);
+ auto bi = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, Ice::Double>(sel.get());
BOOST_REQUIRE_CLOSE(1234.1234, bi, 0.0001);
}
BOOST_AUTO_TEST_CASE( select_simple_string )
{
auto sel = db->select("SELECT MAX(string) FROM test");
- auto bi = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, std::string>(sel);
+ auto bi = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, std::string>(sel.get());
BOOST_REQUIRE_EQUAL("text two", bi);
}
BOOST_AUTO_TEST_CASE( select_simple_true )
{
auto sel = db->select("SELECT true");
- auto bi = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, bool>(sel);
+ auto bi = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, bool>(sel.get());
BOOST_REQUIRE_EQUAL(true, bi);
}
BOOST_AUTO_TEST_CASE( select_simple_false )
{
auto sel = db->select("SELECT NOT(true)");
- auto bi = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, bool>(sel);
+ auto bi = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, bool>(sel.get());
BOOST_REQUIRE_EQUAL(false, bi);
}
@@ -60,7 +60,7 @@ BOOST_AUTO_TEST_CASE( select_single )
FROM test \
ORDER BY id \
LIMIT 1");
- auto bi = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, TestModule::BuiltInsPtr>(sel);
+ auto bi = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, TestModule::BuiltInsPtr>(sel.get());
BOOST_REQUIRE(bi);
BOOST_REQUIRE_EQUAL(true, bi->mbool);
BOOST_REQUIRE_EQUAL(1, bi->mbyte);
@@ -78,7 +78,7 @@ BOOST_AUTO_TEST_CASE( select_inherit_single )
"SELECT id a, '::TestModule::D' || CAST(id AS TEXT) tc, 200 b, 300 c, 400 d \
FROM test \
WHERE id = 2");
- auto bi = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, TestModule::BasePtr>(sel, "tc"s);
+ auto bi = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, TestModule::BasePtr>(sel.get(), "tc"s);
BOOST_REQUIRE(bi);
auto d2 = std::dynamic_pointer_cast<TestModule::D2>(bi);
BOOST_REQUIRE(d2);
@@ -92,7 +92,7 @@ BOOST_AUTO_TEST_CASE( select_simple_sequence )
"SELECT string \
FROM test \
ORDER BY id DESC");
- auto bi = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, TestModule::SimpleSeq>(sel);
+ auto bi = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, TestModule::SimpleSeq>(sel.get());
BOOST_REQUIRE_EQUAL(4, bi.size());
BOOST_REQUIRE_EQUAL("text four", bi[0]);
BOOST_REQUIRE_EQUAL("text three", bi[1]);
@@ -107,7 +107,7 @@ BOOST_AUTO_TEST_CASE( select_inherit_sequence )
FROM test \
WHERE id < 4 \
ORDER BY id DESC");
- auto bi = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, TestModule::BaseSeq>(sel, "tc"s);
+ auto bi = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, TestModule::BaseSeq>(sel.get(), "tc"s);
BOOST_REQUIRE_EQUAL(3, bi.size());
auto d3 = std::dynamic_pointer_cast<TestModule::D3>(bi[0]);
auto d2 = std::dynamic_pointer_cast<TestModule::D2>(bi[1]);
@@ -130,7 +130,7 @@ BOOST_AUTO_TEST_CASE( select_inherit_datetime )
"SELECT dt, to_char(dt, 'YYYY-MM-DD') date, ts \
FROM test \
WHERE id = 3");
- TestDatabase::SpecificTypesPtr bi = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, TestDatabase::SpecificTypesPtr>(sel);
+ TestDatabase::SpecificTypesPtr bi = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, TestDatabase::SpecificTypesPtr>(sel.get());
BOOST_REQUIRE_EQUAL(2015, bi->dt.year);
BOOST_REQUIRE_EQUAL(3, bi->dt.month);
BOOST_REQUIRE_EQUAL(27, bi->dt.day);
@@ -156,38 +156,38 @@ BoostThrowWrapperHelper(P && ... p)
BOOST_AUTO_TEST_CASE( select_unsupportedModel )
{
auto sel = db->select("SELECT id FROM test");
- BOOST_REQUIRE_THROW(BoostThrowWrapperHelper<TestModule::ClassMap>(sel), Slicer::UnsupportedModelType);
+ BOOST_REQUIRE_THROW(BoostThrowWrapperHelper<TestModule::ClassMap>(sel.get()), Slicer::UnsupportedModelType);
}
BOOST_AUTO_TEST_CASE( select_tooManyRowsSimple )
{
auto sel = db->select("SELECT id FROM test");
- BOOST_REQUIRE_THROW(BoostThrowWrapperHelper<Ice::Int>(sel), Slicer::TooManyRowsReturned);
+ BOOST_REQUIRE_THROW(BoostThrowWrapperHelper<Ice::Int>(sel.get()), Slicer::TooManyRowsReturned);
}
BOOST_AUTO_TEST_CASE( select_noRowsSimple )
{
auto sel = db->select("SELECT id FROM test WHERE false");
- BOOST_REQUIRE_THROW(BoostThrowWrapperHelper<Ice::Int>(sel), Slicer::NoRowsReturned);
+ BOOST_REQUIRE_THROW(BoostThrowWrapperHelper<Ice::Int>(sel.get()), Slicer::NoRowsReturned);
}
BOOST_AUTO_TEST_CASE( select_noRowsSimpleOptional )
{
auto sel = db->select("SELECT id FROM test WHERE false");
- auto v = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, IceUtil::Optional<Ice::Int>>(sel);
+ auto v = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, IceUtil::Optional<Ice::Int>>(sel.get());
BOOST_REQUIRE(!v);
}
BOOST_AUTO_TEST_CASE( select_tooManyRowsSimpleOptional )
{
auto sel = db->select("SELECT id FROM test");
- BOOST_REQUIRE_THROW(BoostThrowWrapperHelper<IceUtil::Optional<Ice::Int>>(sel), Slicer::TooManyRowsReturned);
+ BOOST_REQUIRE_THROW(BoostThrowWrapperHelper<IceUtil::Optional<Ice::Int>>(sel.get()), Slicer::TooManyRowsReturned);
}
BOOST_AUTO_TEST_CASE( select_simpleOptional )
{
auto sel = db->select("SELECT MAX(id) FROM test");
- auto v = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, IceUtil::Optional<Ice::Int>>(sel);
+ auto v = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, IceUtil::Optional<Ice::Int>>(sel.get());
BOOST_REQUIRE(v);
BOOST_REQUIRE_EQUAL(4, *v);
}
@@ -201,26 +201,26 @@ BOOST_AUTO_TEST_CASE( select_noRowsComplexOptional )
string mstring \
FROM test \
WHERE false");
- auto v = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, IceUtil::Optional<TestModule::BuiltInsPtr>>(sel);
+ auto v = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, IceUtil::Optional<TestModule::BuiltInsPtr>>(sel.get());
BOOST_REQUIRE(!v);
}
BOOST_AUTO_TEST_CASE( select_tooManyRowsComplex )
{
auto sel = db->select("SELECT id FROM test");
- BOOST_REQUIRE_THROW(BoostThrowWrapperHelper<TestModule::BuiltInsPtr>(sel), Slicer::TooManyRowsReturned);
+ BOOST_REQUIRE_THROW(BoostThrowWrapperHelper<TestModule::BuiltInsPtr>(sel.get()), Slicer::TooManyRowsReturned);
}
BOOST_AUTO_TEST_CASE( select_noRowsComplex )
{
auto sel = db->select("SELECT id FROM test WHERE false");
- BOOST_REQUIRE_THROW(BoostThrowWrapperHelper<TestModule::BuiltInsPtr>(sel), Slicer::NoRowsReturned);
+ BOOST_REQUIRE_THROW(BoostThrowWrapperHelper<TestModule::BuiltInsPtr>(sel.get()), Slicer::NoRowsReturned);
}
BOOST_AUTO_TEST_CASE( select_emptySequence )
{
auto sel = db->select("SELECT id FROM test WHERE false");
- auto bi = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, TestModule::BaseSeq>(sel);
+ auto bi = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, TestModule::BaseSeq>(sel.get());
BOOST_REQUIRE_EQUAL(0, bi.size());
}
@@ -229,16 +229,16 @@ BOOST_AUTO_TEST_CASE( select_null )
db->execute("INSERT INTO test(id) VALUES(NULL)");
auto sel = db->select("SELECT id optSimple FROM test WHERE id IS NULL");
- auto oi = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, TestModule::OptionalsPtr>(sel);
+ auto oi = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, TestModule::OptionalsPtr>(sel.get());
BOOST_REQUIRE(!oi->optSimple);
sel = db->select("SELECT MAX(id) optSimple FROM test WHERE id IS NOT NULL");
- oi = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, TestModule::OptionalsPtr>(sel);
+ oi = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, TestModule::OptionalsPtr>(sel.get());
BOOST_REQUIRE(oi->optSimple);
BOOST_REQUIRE_EQUAL(*oi->optSimple, 4);
sel = db->select("SELECT MAX(id) FROM test WHERE false");
- auto v = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, IceUtil::Optional<Ice::Int>>(sel);
+ auto v = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, IceUtil::Optional<Ice::Int>>(sel.get());
BOOST_REQUIRE(!v);
}
diff --git a/slicer/db/testUpdate.cpp b/slicer/db/testUpdate.cpp
index 2f6d821..a76b9a1 100644
--- a/slicer/db/testUpdate.cpp
+++ b/slicer/db/testUpdate.cpp
@@ -34,7 +34,7 @@ BOOST_AUTO_TEST_CASE( update_builtins )
Slicer::SerializeAny<Slicer::SqlUpdateSerializer>(ubi, db, "builtins");
auto sel = db->select("SELECT * FROM builtins ORDER BY mint DESC");
- auto bis = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, TestModule::BuiltInSeq>(sel);
+ auto bis = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, TestModule::BuiltInSeq>(sel.get());
BOOST_REQUIRE_EQUAL(2, bis.size());
BOOST_REQUIRE_EQUAL(bis.front()->mbool, ubi->mbool);
BOOST_REQUIRE_EQUAL(bis.front()->mbyte, ubi->mbyte);
@@ -63,7 +63,7 @@ BOOST_AUTO_TEST_CASE( update_builtins_seq )
Slicer::SerializeAny<Slicer::SqlUpdateSerializer>(ubis, db, "builtins");
auto sel = db->select("SELECT * FROM builtins ORDER BY mint");
- auto ubis2 = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, TestModule::BuiltInSeq>(sel);
+ auto ubis2 = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, TestModule::BuiltInSeq>(sel.get());
BOOST_REQUIRE_EQUAL(2, ubis2.size());
BOOST_REQUIRE_EQUAL(ubis.front()->mbool, ubis2.back()->mbool);
BOOST_REQUIRE_EQUAL(ubis.front()->mbyte, ubis2.back()->mbyte);
@@ -86,7 +86,7 @@ BOOST_AUTO_TEST_CASE( update_builtins_seq )
BOOST_AUTO_TEST_CASE( update_withNulls )
{
auto sel = db->select("SELECT * FROM builtins ORDER BY mint");
- auto bis = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, TestDatabase::BuiltInSeq>(sel);
+ auto bis = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, TestDatabase::BuiltInSeq>(sel.get());
BOOST_REQUIRE_EQUAL(2, bis.size());
BOOST_REQUIRE_EQUAL("string updated", *bis[0]->mstring);
BOOST_REQUIRE_EQUAL("string", *bis[1]->mstring);
@@ -98,7 +98,7 @@ BOOST_AUTO_TEST_CASE( update_withNulls )
bis[1]->mdouble = IceUtil::Optional<Ice::Double>();
BOOST_TEST_CHECKPOINT("Do update");
Slicer::SerializeAny<Slicer::SqlUpdateSerializer>(bis, db, "builtins");
- auto bis2 = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, TestDatabase::BuiltInSeq>(sel);
+ auto bis2 = Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, TestDatabase::BuiltInSeq>(sel.get());
BOOST_REQUIRE(bis2[0]->mstring);
BOOST_REQUIRE(!bis2[1]->mstring);
BOOST_REQUIRE(bis2[0]->mbyte);