From 43705039aac98e4b8065353da3f828d894dd6f00 Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Sat, 19 Oct 2019 15:38:00 +0100 Subject: Refactor to ease testing --- libpqpp/unittests/Jamfile.jam | 5 +++-- libpqpp/unittests/testpq.cpp | 16 ++++++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) (limited to 'libpqpp/unittests') diff --git a/libpqpp/unittests/Jamfile.jam b/libpqpp/unittests/Jamfile.jam index 4e6cc23..7865882 100644 --- a/libpqpp/unittests/Jamfile.jam +++ b/libpqpp/unittests/Jamfile.jam @@ -15,9 +15,10 @@ run ROOT=\"$(me)\" BOOST_TEST_DYN_LINK ..//dbpp-postgresql - dbpptestcore + yes:../../..//dbpptestcore + no:dbpptestcore adhocutil - ../..//pq + ..//pq boost_utf stdc++fs ; diff --git a/libpqpp/unittests/testpq.cpp b/libpqpp/unittests/testpq.cpp index e78a079..67ce07a 100644 --- a/libpqpp/unittests/testpq.cpp +++ b/libpqpp/unittests/testpq.cpp @@ -441,6 +441,22 @@ BOOST_AUTO_TEST_CASE( largeBlob ) } } +BOOST_AUTO_TEST_CASE( bulkPerfTest ) +{ + auto ro = DB::ConnectionPtr(DB::MockDatabase::openConnectionTo("PQmock")); + auto sel = ro->select(R"SQL(select s a, cast(s as numeric(7,1)) b, cast(s as text) c, + make_interval(secs => s) d, make_timestamp(2019,1,1,1,1,1) + make_interval(mins=>s) e, + s % 2 = 0 f + from generate_series(1, 1000) s)SQL"); + + int64_t tot = 0; + for (const auto & [a,b,c,d,e,f] : sel->as()) { + tot += a + b + c.length() + d.hours() + e.time_of_day().hours() + f; + } + BOOST_REQUIRE_EQUAL(tot, 1013265); +} + BOOST_AUTO_TEST_SUITE_END(); BOOST_AUTO_TEST_CASE( connfail ) -- cgit v1.2.3