Skip to content
Snippets Groups Projects
Commit 976858b8 authored by Steven Murray's avatar Steven Murray
Browse files

Added unit-test insert_with_bindUint64_2_pow_64_minus_1_not_mysql

parent 4d6918b8
No related branches found
Tags v4.4.0-1
No related merge requests found
......@@ -32,9 +32,9 @@ void cta_rdbms_StmtTest::SetUp() {
using namespace cta::rdbms;
if(!m_connPool) {
const cta::rdbms::Login login = GetParam()->create();
m_login = GetParam()->create();
const uint64_t maxNbConns = 1;
m_connPool = cta::make_unique<ConnPool>(login, maxNbConns);
m_connPool = cta::make_unique<ConnPool>(m_login, maxNbConns);
}
m_conn = m_connPool->getConn();
......@@ -178,4 +178,48 @@ TEST_P(cta_rdbms_StmtTest, insert_with_bindUint64_2_pow_54_minus_2) {
}
}
TEST_P(cta_rdbms_StmtTest, insert_with_bindUint64_2_pow_64_minus_1_not_mysql) {
using namespace cta::rdbms;
if(m_login.dbType == Login::DBTYPE_MYSQL) {
return;
}
// The MySql support in CTA cannot store an unsigned integer greater than
// 2^54-2
const uint64_t insertValue = 18446744073709551615U;
// Insert a row into the test table
{
const char *const sql =
"INSERT INTO STMT_TEST("
"UINT64_COL) "
"VALUES("
":UINT64_COL)";
auto stmt = m_conn.createStmt(sql);
stmt.bindUint64(":UINT64_COL", insertValue);
stmt.executeNonQuery();
}
// Select the row back from the table
{
const char *const sql =
"SELECT "
"UINT64_COL AS UINT64_COL "
"FROM "
"STMT_TEST";
auto stmt = m_conn.createStmt(sql);
auto rset = stmt.executeQuery();
ASSERT_TRUE(rset.next());
const auto selectValue = rset.columnOptionalUint64("UINT64_COL");
ASSERT_TRUE((bool)selectValue);
ASSERT_EQ(insertValue,selectValue.value());
ASSERT_FALSE(rset.next());
}
}
} // namespace unitTests
......@@ -28,6 +28,11 @@ namespace unitTests {
class cta_rdbms_StmtTest : public ::testing::TestWithParam<cta::rdbms::LoginFactory*> {
protected:
/**
* The database login.
*/
cta::rdbms::Login m_login;
/**
* The database connection pool.
*/
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment