1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
#!/bin/sh
set -e
WORKDIR=$(mktemp -d)
trap "rm -rf $WORKDIR" EXIT
cat > "$WORKDIR/test.c" << 'EOF'
#include <duckdb.h>
#include <stdio.h>
#include <assert.h>
int main() {
duckdb_database db;
duckdb_connection con;
duckdb_result result;
assert(duckdb_open(NULL, &db) == DuckDBSuccess);
assert(duckdb_connect(db, &con) == DuckDBSuccess);
assert(duckdb_query(con, "SELECT 42 AS answer", &result) == DuckDBSuccess);
const char *val = duckdb_value_varchar(&result, 0, 0);
printf("answer = %s\n", val);
assert(val[0] == '4' && val[1] == '2');
duckdb_destroy_result(&result);
duckdb_disconnect(&con);
duckdb_close(&db);
return 0;
}
EOF
gcc "$WORKDIR/test.c" -o "$WORKDIR/test" -lduckdb
"$WORKDIR/test"
|