#include "catch.hpp" #include "duckdb/main/appender.hpp" #include "test_helpers.hpp" #include using namespace duckdb; using namespace std; TEST_CASE("Abort appender due to primary key conflict", "[appender]") { duckdb::unique_ptr result; DuckDB db(nullptr); Connection con(db); REQUIRE_NO_FAIL(con.Query("CREATE TABLE integers(i INTEGER PRIMARY KEY)")); REQUIRE_NO_FAIL(con.Query("INSERT INTO integers VALUES (1)")); Appender appender(con, "integers"); appender.BeginRow(); appender.Append(1); appender.EndRow(); // this should fail! REQUIRE_THROWS(appender.Flush()); result = con.Query("SELECT * FROM integers"); REQUIRE(CHECK_COLUMN(result, 0, {1})); }