From 8cb8dff4cc37951b76d75699af960820b744e054 Mon Sep 17 00:00:00 2001 From: Elena Felder <41136058+elefeint@users.noreply.github.com> Date: Tue, 16 Jan 2024 16:17:24 -0800 Subject: [PATCH] set duckdb_api to nodejs --- src/database.cpp | 1 + test/config.test.ts | 30 ++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 test/config.test.ts diff --git a/src/database.cpp b/src/database.cpp index 0dde71c4..79da1106 100644 --- a/src/database.cpp +++ b/src/database.cpp @@ -33,6 +33,7 @@ struct OpenTask : public Task { : Task(database_, callback_), filename(filename_) { duckdb_config.options.access_mode = access_mode_; + duckdb_config.SetOptionByName("duckdb_api", duckdb::Value("nodejs")); Napi::Env env = database_.Env(); Napi::HandleScope scope(env); diff --git a/test/config.test.ts b/test/config.test.ts new file mode 100644 index 00000000..847fcdc1 --- /dev/null +++ b/test/config.test.ts @@ -0,0 +1,30 @@ +import * as duckdb from '..'; +import * as assert from 'assert'; +import {TableData} from ".."; + +describe('user_agent', () => { + + it('default value', (done) => { + const db: duckdb.Database = new duckdb.Database(':memory:'); + + db.all('PRAGMA USER_AGENT', (err: null | Error, rows: TableData) => { + if (err) { + throw err; + } + assert.match(rows[0].user_agent, /duckdb\/.*\(*\) nodejs/); + done(); + }); + }) + + it('with custom_user_agent', (done) => { + const db: duckdb.Database = new duckdb.Database(':memory:', { 'custom_user_agent': 'a_framework' }); + + db.all('PRAGMA USER_AGENT', (err: null | Error, rows: TableData) => { + if (err) { + throw err; + } + assert.match(rows[0].user_agent, /duckdb\/.*\(*\) nodejs a_framework/); + done(); + }); + }) +})