tizen_base::Database db(TEST_DB, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE);
auto r = db.Exec({ Q_CREATE_TABLE });
- EXPECT_TRUE(static_cast<bool>(r));
+ EXPECT_TRUE(r);
}
TEST(DBBasicTest, drop_table) {
db.Exec({ Q_CREATE_TABLE });
auto r1 = db.Exec({ Q_DROP_TABLE });
- EXPECT_TRUE(static_cast<bool>(r1));
+ EXPECT_TRUE(r1);
}
TEST(DBBasicTest, db_move_ctor) {
TEST_F(ResultTest, result_move_ctor) {
tizen_base::Database db(TEST_DB, SQLITE_OPEN_READWRITE);
tizen_base::Database::Result r = db.Exec({ Q_CREATE_TABLE });
- ASSERT_TRUE(static_cast<bool>(r));
+ ASSERT_TRUE(r);
tizen_base::Database::Result r2(std::move(r));
- EXPECT_FALSE(static_cast<bool>(r));
- EXPECT_TRUE(static_cast<bool>(r2));
+ EXPECT_FALSE(r);
+ EXPECT_TRUE(r2);
}
TEST_F(ResultTest, result_move_assignment) {
tizen_base::Database db(TEST_DB, SQLITE_OPEN_READWRITE);
tizen_base::Database::Result r = db.Exec({ Q_CREATE_TABLE });
- ASSERT_TRUE(static_cast<bool>(r));
+ ASSERT_TRUE(r);
tizen_base::Database::Result r2;
- ASSERT_FALSE(static_cast<bool>(r2));
+ ASSERT_FALSE(r2);
r2 = std::move(r);
- EXPECT_FALSE(static_cast<bool>(r));
- EXPECT_TRUE(static_cast<bool>(r2));
+ EXPECT_FALSE(r);
+ EXPECT_TRUE(r2);
}
class DatabaseTest : public ::testing::Test {
.Bind(std::vector<unsigned char> {'9', '2', '1', '6' });
auto r1 = db.Exec(q);
- ASSERT_TRUE(static_cast<bool>(r1));
+ ASSERT_TRUE(r1);
auto r2 = db.Exec(q);
- ASSERT_TRUE(static_cast<bool>(r2));
+ ASSERT_TRUE(r2);
}
void SetDefaultWithNull() {
.Bind(std::nullopt);
auto r1 = db.Exec(q);
- ASSERT_TRUE(static_cast<bool>(r1));
+ ASSERT_TRUE(r1);
auto r2 = db.Exec(q);
- ASSERT_TRUE(static_cast<bool>(r2));
+ ASSERT_TRUE(r2);
}
};
.Bind(std::vector<unsigned char> {'9', '2', '1', '6' });
auto r = db.Exec(q);
- EXPECT_TRUE(static_cast<bool>(r));
+ EXPECT_TRUE(r);
}
TEST_F(DatabaseTest, test_insert_pos) {
.Bind(104, std::vector<unsigned char> {'9', '2', '1', '6' });
auto r = db.Exec(q);
- EXPECT_TRUE(static_cast<bool>(r));
+ EXPECT_TRUE(r);
}
TEST_F(DatabaseTest, test_insert_name) {
.Bind(":data", std::vector<unsigned char> {'9', '2', '1', '6' });
auto r = db.Exec(q);
- EXPECT_TRUE(static_cast<bool>(r));
+ EXPECT_TRUE(r);
}
TEST_F(DatabaseTest, test_insert_name_and_data_with_null) {
.Bind(":data", std::nullopt);
auto r = db.Exec(q);
- EXPECT_TRUE(static_cast<bool>(r));
+ EXPECT_TRUE(r);
}
TEST_F(DatabaseTest, test_reuse_result) {
.Bind(9.216)
.Bind(std::vector<unsigned char> {'9', '2', '1', '6' });
auto r = db.Exec(q);
- EXPECT_TRUE(static_cast<bool>(r));
+ EXPECT_TRUE(r);
q.Reset()
.Bind("gugu")
.SetEmptyVectorAsNull(true)
.Bind(std::vector<unsigned char> {});
auto r = db.Exec(q);
- EXPECT_TRUE(static_cast<bool>(r));
+ EXPECT_TRUE(r);
r = db.Exec({ Q_SELECT });
auto rec = r.GetFirstRecord();
tizen_base::Database db(TEST_DB, SQLITE_OPEN_READWRITE);
auto r = db.Exec({ Q_SELECT });
- EXPECT_TRUE(static_cast<bool>(r));
+ EXPECT_TRUE(r);
int cnt = 0;
for (const auto& i : r) {
auto [name, num, val, data] = i.Get<_, _, _, _>();
tizen_base::Database db(TEST_DB, SQLITE_OPEN_READWRITE);
auto r = db.Exec({ Q_SELECT });
- EXPECT_TRUE(static_cast<bool>(r));
+ EXPECT_TRUE(r);
for (const auto& i : r) {
std::string name = static_cast<std::string>(i.Get(0));
double val = static_cast<double>(i.Get(2));
tizen_base::Database db(TEST_DB, SQLITE_OPEN_READWRITE);
auto r = db.Exec({ Q_SELECT });
- EXPECT_TRUE(static_cast<bool>(r));
+ EXPECT_TRUE(r);
for (const auto& i : r) {
std::optional<std::string> name = i.Get(0);
double val = static_cast<double>(i.Get(2));
auto r = db.Exec({ Q_SELECT });
int cnt = 0;
- EXPECT_TRUE(static_cast<bool>(r));
+ EXPECT_TRUE(r);
for (const auto& i : r) {
(void)i;
cnt++;
tizen_base::Database db(TEST_DB, SQLITE_OPEN_READWRITE);
auto r = db.Exec({ Q_SELECT });
- EXPECT_TRUE(static_cast<bool>(r));
+ EXPECT_TRUE(r);
auto rec = r.GetFirstRecord();
EXPECT_TRUE(rec);
.Bind("gugu");
auto r = db.Exec(q);
- EXPECT_TRUE(static_cast<bool>(r));
+ EXPECT_TRUE(r);
}
TEST_F(DatabaseTest, test_delete) {
.Bind("gogo");
auto r = db.Exec(q);
- EXPECT_TRUE(static_cast<bool>(r));
+ EXPECT_TRUE(r);
}
TEST_F(DatabaseTest, test_delete_n) {
.Bind("gogo");
auto r = db.Exec(q);
- EXPECT_FALSE(static_cast<bool>(r));
+ EXPECT_FALSE(r);
EXPECT_EQ(static_cast<int>(r), SQLITE_READONLY);
- EXPECT_STREQ(r, "attempt to write a readonly database");
+ EXPECT_STREQ(static_cast<const char*>(r),
+ "attempt to write a readonly database");
}
TEST_F(DatabaseTest, test_transaction_commit) {
.Bind(9.216)
.Bind(std::vector<unsigned char> {'9', '2', '1', '6' });
auto r = db.Exec(q);
- ASSERT_TRUE(static_cast<bool>(r));
+ ASSERT_TRUE(r);
int ret = guard.Commit();
EXPECT_EQ(ret, SQLITE_OK);
}
```
-### Explicit 'bool' type and 'int' type conversion operator
+### 'bool' type and 'int' type conversion operator
- 'bool' type operator is supported to check errors.
- 'int' type operator is supported to get error number.
```cpp
auto r = db.Exec(q);
- if (!static_cast<bool>(r)) {
+ if (!r) {
std::cout << "error code:" << static_cast<int>(r) << std::endl;
}
```
-### Implicit 'const char*' type conversion operator
+### 'const char*' type conversion operator
- 'const char*' type operator is supported to get error string
```cpp
auto r = db.Exec(q);
- if (!static_cast<bool>(r)) {
- std::cout << "error message:" << r << std::endl;
+ if (!r) {
+ std::cout << "error message:" << static_cast<const char*>(r) << std::endl;
}
```
auto guard = db.CreateTransactionGuard();
auto r = db.Exec({ "INSERT INTO MyTable(name, id) VALUES('gogo', 1);" });
- if (!static_cast<bool>(r))
+ if (!r)
return; // Rollback
auto r2 = db.Exec({ "INSERT INTO MyTable(name, id) VALUES('gugu', 2);" });
- if (!static_cast<bool>(r2))
+ if (!r2)
return; // Rollback
guard.Commit();
.Bind(9.216)
.Bind( std::vector<unsigned char> {'9', '2', '1', '6' } );
auto r = db.Exec(q);
- if (!static_cast<bool>(r)) {
+ if (!r) {
std::cout << "insert failed:" << r << std::endl;
std::cout << "error code:" << static_cast<int>(r) << std::endl;
}
.Bind(":val", 9.216)
.Bind(":data", std::vector<unsigned char> {'9', '2', '1', '6' });
auto r = db.Exec(q);
- if (!static_cast<bool>(r)) {
+ if (!r) {
std::cout << "insert failed:" << r << std::endl;
std::cout << "error code:" << static_cast<int>(r) << std::endl;
}