should be it
This commit is contained in:
30
external/duckdb/test/api/capi/test_capi_pending.cpp
vendored
Normal file
30
external/duckdb/test/api/capi/test_capi_pending.cpp
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
#include "capi_tester.hpp"
|
||||
#include "duckdb.h"
|
||||
|
||||
using namespace duckdb;
|
||||
using namespace std;
|
||||
|
||||
TEST_CASE("Test pending statements in C API", "[capi]") {
|
||||
CAPITester tester;
|
||||
CAPIPrepared prepared;
|
||||
CAPIPending pending;
|
||||
duckdb::unique_ptr<CAPIResult> result;
|
||||
|
||||
// open the database in in-memory mode
|
||||
REQUIRE(tester.OpenDatabase(nullptr));
|
||||
REQUIRE(prepared.Prepare(tester, "SELECT SUM(i) FROM range(1000000) tbl(i)"));
|
||||
REQUIRE(pending.Pending(prepared));
|
||||
|
||||
while (true) {
|
||||
auto state = pending.ExecuteTask();
|
||||
REQUIRE(state != DUCKDB_PENDING_ERROR);
|
||||
if (duckdb_pending_execution_is_finished(state)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
result = pending.Execute();
|
||||
REQUIRE(result);
|
||||
REQUIRE(!result->HasError());
|
||||
REQUIRE(result->Fetch<int64_t>(0, 0) == 499999500000LL);
|
||||
}
|
||||
Reference in New Issue
Block a user