statement cache progress

This commit is contained in:
Sascha Kühl
2024-01-04 15:52:29 +01:00
parent 94b1c356a5
commit 4504c783e1
4 changed files with 52 additions and 12 deletions
+31 -1
View File
@@ -16,7 +16,7 @@ TEST_CASE("Create connection pool", "[connection pool]") {
auto ptr = pool.acquire();
REQUIRE(ptr.valid());
REQUIRE(ptr.id() > 0);
REQUIRE(ptr.id().value() > 0);
REQUIRE(ptr->is_open());
REQUIRE(pool.idle() == 3);
@@ -48,3 +48,33 @@ TEST_CASE("Create connection pool", "[connection pool]") {
REQUIRE(pool.idle() == 4);
REQUIRE(pool.inuse() == 0);
}
TEST_CASE("Acquire connection by id", "[connection pool]") {
using pool_t = connection_pool<connection>;
pool_t pool("sqlite://sqlite.db", 4);
REQUIRE(pool.size() == 4);
REQUIRE(pool.idle() == 4);
REQUIRE(pool.inuse() == 0);
auto ptr = pool.acquire();
REQUIRE(ptr.valid());
REQUIRE(ptr.id());
REQUIRE(ptr.id().value() > 0);
REQUIRE(ptr->is_open());
auto same_ptr = pool.acquire(ptr.id().value());
REQUIRE(!same_ptr.valid());
const auto connection_id = ptr.id().value();
pool.release(ptr);
REQUIRE(!ptr.valid());
same_ptr = pool.acquire(connection_id);
REQUIRE(same_ptr.valid());
REQUIRE(same_ptr.id() == connection_id);
}