14 u64 id = m_con->insert(
"INSERT INTO " + m_table_name +
"(str) VALUES('test');");
18 result_set_ref rs = m_con->query(
"SELECT COUNT(*) FROM " + m_table_name +
";");
20 EXPECT_TRUE(rs->next());
21 EXPECT_EQ(1, rs->get_unsigned64(0));
28 m_con->insert(
"INSERT INTO " + m_table_name +
"(str) VALUES('test2');");
31 result_set_ref rs = m_con->query(
"SELECT COUNT(*) FROM " + m_table_name +
";");
33 EXPECT_TRUE(rs->next());
34 EXPECT_EQ(0, rs->get_unsigned64(0));
41 u64 id = m_con->insert(
"INSERT INTO " + m_table_name +
"(str) VALUES('test');");
47 result_set_ref rs = m_con->query(
"SELECT COUNT(*) FROM " + m_table_name +
";");
49 EXPECT_TRUE(rs->next());
50 EXPECT_EQ(1, rs->get_unsigned64(0));
57 u64 id = m_con->insert(
"INSERT INTO " + m_table_name +
"(str) VALUES('test');");
62 result_set_ref rs = m_con->query(
"SELECT COUNT(*) FROM " + m_table_name +
";");
64 EXPECT_TRUE(rs->next());
65 EXPECT_EQ(0, rs->get_unsigned64(0));
70 "INSERT INTO " + m_table_name +
" (data) VALUES(?);",
71 "INSERT INTO " + m_table_name +
" (data, str) VALUES(?, ?);",
72 "INSERT INTO " + m_table_name +
" (data, str, dt) VALUES(?, ?, ?);",
73 "INSERT INTO " + m_table_name +
" (data, str, dt, t) VALUES(?, ?, ?, ?);",
74 "INSERT INTO " + m_table_name +
" (data, str, dt, t, value) VALUES(?, ?, ?, ?, ?);",
75 "INSERT INTO " + m_table_name +
76 " (data, str, dt, t, value, deci) VALUES(?, ?, ?, ?, ?, ?);",
80 "01234567890123456789012345678901234567890123456789" 81 "01234567890123456789012345678901234567890123456789";
85 while (queries[index] !=
"") {
89 sta->set_data(0, data);
91 if (index >= 1) sta->set_string(1,
"test");
94 if (index >= 4) sta->set_signed32(4, 666);
95 if (index >= 5) sta->set_decimal(5,
decimal(
"1.1234"));
96 EXPECT_NE(0, sta->insert());
99 result_set_ref rs = m_con->query(
"SELECT COUNT(*) FROM " + m_table_name +
";");
101 EXPECT_TRUE(rs->next());
102 EXPECT_EQ(index, rs->get_unsigned64(0));
109 result_set_ref rs = m_con->query(
"SELECT data, str, dt, t, value, deci FROM " + m_table_name +
110 " ORDER BY id DESC LIMIT 1;");
113 EXPECT_TRUE(rs->next());
117 EXPECT_EQ(100, data->size());
119 EXPECT_EQ(
"test", rs->get_string(
"str"));
120 EXPECT_EQ(666, rs->get_signed32(
"value"));
121 EXPECT_EQ(
"1.1234", rs->get_decimal(
"deci").str());
122 EXPECT_EQ(
"2000-01-02 03:04:05", rs->get_date_time(
"dt").str());
123 EXPECT_EQ(
"11:22:33", rs->get_time(
"t").str_time());
std::shared_ptr< transaction > transaction_ref
std::shared_ptr< result_set > result_set_ref
Class representing SQL time.
return decimal(std::string(m_row[index], column_size(index)))
TEST_F(RollbackTest, testTransactCommit)
std::shared_ptr< ::mariadb::data< char > > data_ref
Class used to represent SQL date_time.
std::shared_ptr< save_point > save_point_ref
std::size_t index(const std::string &str, const std::size_t index)
Codepoint index corresponding to the nth character in a UTF-8 string.
std::shared_ptr< statement > statement_ref