sequence progress

This commit is contained in:
2026-03-15 22:33:35 +01:00
parent 86c9e6b1cd
commit 53b10fd1f9
4 changed files with 43 additions and 7 deletions
+12 -6
View File
@@ -16,18 +16,24 @@ SequenceFixture::SequenceFixture()
}
SequenceFixture::~SequenceFixture() {
while (!sequences_to_drop.empty()) {
drop_sequence_if_exists(sequences_to_drop.top());
sequences_to_drop.pop();
}
REQUIRE(repo.drop(db));
REQUIRE(db.close());
while (!sequences_to_drop.empty()) {
drop_sequence_if_exists(sequences_to_drop.top());
sequences_to_drop.pop();
}
REQUIRE(repo.drop(db));
REQUIRE(db.close());
}
void SequenceFixture::check_sequence_exists(const std::string& sequence_name) const {
auto result = db.sequence_exists(sequence_name);
REQUIRE(result.is_ok());
REQUIRE(*result);
}
void SequenceFixture::check_sequence_not_exists(const std::string& sequence_name) const {
auto result = db.sequence_exists(sequence_name);
REQUIRE(result.is_ok());
REQUIRE(!*result);
}
void SequenceFixture::drop_sequence_if_exists(const std::string& sequence_name) const {
+29
View File
@@ -0,0 +1,29 @@
#include "catch2/catch_test_macros.hpp"
#include "matador/query/query.hpp"
#include "SequenceFixture.hpp"
using namespace matador::query;
using namespace matador::test;
TEST_CASE_METHOD(SequenceFixture, "", "[sequence]") {
auto result = query::create()
.sequence("person_seq")
.execute(db);
REQUIRE(result.is_ok());
sequences_to_drop.emplace("person_seq");
auto next_id = query::select()
.nextval("person_seq")
.fetch_value<uint32_t>(db);
REQUIRE(next_id.is_ok());
REQUIRE(*next_id == 1);
result = query::drop()
.sequence("person_seq")
.execute(db);
REQUIRE(result.is_ok());
}