More flexible array retrieval + *vector support.

This commit is contained in:
eelke 2017-12-17 11:27:42 +01:00
parent d9854d81fa
commit db75d9ed50
5 changed files with 119 additions and 8 deletions

View file

@ -68,6 +68,19 @@ TEST(Pgsql_Value, isString_varchar)
ASSERT_EQ(v.isString(), true);
}
TEST(Pgsql_Value, getAsVector_Ints)
{
Pgsql::Value v("1 2", ANYOID);
std::vector<int> r;
v.getAsVector<int>(std::back_inserter(r));
ASSERT_EQ(r.size(), 2);
ASSERT_EQ(r[0], 1);
ASSERT_EQ(r[1], 2);
}
TEST(Pgsql_Value, getAsArray_Ints)
{
Pgsql::Value v("{1,2}", TEXTARRAYOID);
@ -122,7 +135,7 @@ TEST(Pgsql_Value, getAsArray_ignore_NULL)
Pgsql::Value v("{1,NULL,2}", TEXTARRAYOID);
std::vector<int> r;
try {
v.getAsArray<int>(std::back_inserter(r), Value::NullHandling::Ignore);
v.getAsArray<int>(std::back_inserter(r), NullHandling::Ignore);
ASSERT_EQ(r.size(), 2);
ASSERT_EQ(r[0], 1);
ASSERT_EQ(r[1], 2);