insert_query_builder progress
This commit is contained in:
@@ -134,6 +134,7 @@ TEST_CASE("Test statement cache", "[statement][cache]") {
|
||||
const auto stmt = result.value();
|
||||
|
||||
ctx.sql = "SELECT title FROM book";
|
||||
ctx.sql_hash = std::hash<std::string>{}(ctx.sql);
|
||||
|
||||
result = cache.acquire(ctx);
|
||||
REQUIRE(result);
|
||||
@@ -143,6 +144,7 @@ TEST_CASE("Test statement cache", "[statement][cache]") {
|
||||
REQUIRE(cache.capacity() == 2);
|
||||
|
||||
ctx.sql = "SELECT name FROM author";
|
||||
ctx.sql_hash = std::hash<std::string>{}(ctx.sql);
|
||||
|
||||
result = cache.acquire(ctx);
|
||||
REQUIRE(result);
|
||||
@@ -163,18 +165,19 @@ TEST_CASE("Test LRU cache evicts oldest entries", "[statement][cache][evict]") {
|
||||
REQUIRE(cache.capacity() == 2);
|
||||
REQUIRE(cache.empty());
|
||||
|
||||
auto result = cache.acquire({"SELECT * FROM person"});
|
||||
|
||||
auto result = cache.acquire({"SELECT * FROM person", std::hash<std::string>{}("SELECT * FROM person")});
|
||||
REQUIRE(result);
|
||||
auto stmt1 = result.value();
|
||||
result = cache.acquire({"SELECT title FROM book"});
|
||||
result = cache.acquire({"SELECT title FROM book", std::hash<std::string>{}("SELECT title FROM book")});
|
||||
REQUIRE(result);
|
||||
auto stmt2 = result.value();
|
||||
result = cache.acquire({"SELECT name FROM author"}); // Should evict the first statement
|
||||
result = cache.acquire({"SELECT name FROM author", std::hash<std::string>{}("SELECT name FROM author")}); // Should evict the first statement
|
||||
REQUIRE(result);
|
||||
auto stmt3 = result.value();
|
||||
|
||||
// Trigger re-prepares of an evicted statement
|
||||
result = cache.acquire({"SELECT 1"});
|
||||
result = cache.acquire({"SELECT 1", std::hash<std::string>{}("SELECT 1")});
|
||||
REQUIRE(result);
|
||||
auto stmt4 = result.value();
|
||||
|
||||
@@ -211,10 +214,10 @@ TEST_CASE("Test statement reuse avoids reprepare", "[statement][cache][prepare]"
|
||||
REQUIRE(cache.capacity() == 2);
|
||||
REQUIRE(cache.empty());
|
||||
|
||||
auto result = cache.acquire({"SELECT * FROM person"});
|
||||
auto result = cache.acquire({"SELECT * FROM person", std::hash<std::string>{}("SELECT * FROM person")});
|
||||
REQUIRE(result);
|
||||
auto stmt1 = result.value();
|
||||
result = cache.acquire({"SELECT * FROM person"});
|
||||
result = cache.acquire({"SELECT * FROM person", std::hash<std::string>{}("SELECT * FROM person")});
|
||||
REQUIRE(result);
|
||||
auto stmt2 = result.value();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user