@voltro/plugin-duckdb 0.86.0 → 0.88.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +5484 -0
- package/README.md +27 -0
- package/THIRD-PARTY-NOTICES.md +1557 -322
- package/dist/index.js +3 -3
- package/dist/sink.js +21 -9
- package/package.json +4 -4
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { buildDuckdbSink as e, closeDuckdbState as t, initializeDuckdbState as n } from "./sink.js";
|
|
2
|
-
|
|
2
|
+
// src/index.ts
|
|
3
3
|
var r = (r = {}) => {
|
|
4
4
|
let i = {
|
|
5
5
|
conn: null,
|
|
@@ -7,10 +7,10 @@ var r = (r = {}) => {
|
|
|
7
7
|
};
|
|
8
8
|
return {
|
|
9
9
|
kind: "duckdb",
|
|
10
|
-
|
|
10
|
+
sql: "none",
|
|
11
|
+
build: () => e(i, r),
|
|
11
12
|
initialize: () => n(i, r),
|
|
12
13
|
dispose: () => t(i)
|
|
13
14
|
};
|
|
14
15
|
};
|
|
15
|
-
//#endregion
|
|
16
16
|
export { r as duckdbAnalytics };
|
package/dist/sink.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Effect as e } from "effect";
|
|
2
2
|
import { AnalyticsError as t } from "@voltro/runtime";
|
|
3
|
-
|
|
3
|
+
// src/sink.ts
|
|
4
4
|
var n = "duckdb", r = "voltro_events", i = null, a = () => i === null ? e.tryPromise({
|
|
5
5
|
try: async () => {
|
|
6
6
|
let e = await import("@duckdb/node-api");
|
|
@@ -188,11 +188,20 @@ var n = "duckdb", r = "voltro_events", i = null, a = () => i === null ? e.tryPro
|
|
|
188
188
|
if (r.conn !== null) return;
|
|
189
189
|
let o = yield* a(), s = yield* e.tryPromise({
|
|
190
190
|
try: async () => {
|
|
191
|
-
let e = await o.DuckDBInstance.create(i.path ?? ":memory:"), t
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
191
|
+
let e = await o.DuckDBInstance.create(i.path ?? ":memory:"), t;
|
|
192
|
+
try {
|
|
193
|
+
return t = await e.connect(), await t.run(p), {
|
|
194
|
+
instance: e,
|
|
195
|
+
connection: t
|
|
196
|
+
};
|
|
197
|
+
} catch (n) {
|
|
198
|
+
try {
|
|
199
|
+
t?.closeSync();
|
|
200
|
+
} finally {
|
|
201
|
+
e.closeSync();
|
|
202
|
+
}
|
|
203
|
+
throw n;
|
|
204
|
+
}
|
|
196
205
|
},
|
|
197
206
|
catch: (e) => new t({
|
|
198
207
|
provider: n,
|
|
@@ -201,14 +210,17 @@ var n = "duckdb", r = "voltro_events", i = null, a = () => i === null ? e.tryPro
|
|
|
201
210
|
})
|
|
202
211
|
});
|
|
203
212
|
r.instance = s.instance, r.conn = s.connection;
|
|
204
|
-
}), E = (t) => e.gen(function* () {
|
|
213
|
+
}).pipe(e.uninterruptible, e.onError(() => E(r))), E = (t) => e.gen(function* () {
|
|
205
214
|
let { conn: r, instance: i } = t;
|
|
206
215
|
t.conn = null, t.instance = null, (r !== null || i !== null) && (yield* e.try(() => {
|
|
207
|
-
|
|
216
|
+
try {
|
|
217
|
+
r?.closeSync();
|
|
218
|
+
} finally {
|
|
219
|
+
i?.closeSync();
|
|
220
|
+
}
|
|
208
221
|
}).pipe(e.catch((t) => e.logWarning("duckdb analytics sink teardown failed", {
|
|
209
222
|
provider: n,
|
|
210
223
|
err: t
|
|
211
224
|
}))));
|
|
212
225
|
});
|
|
213
|
-
//#endregion
|
|
214
226
|
export { w as buildDuckdbSink, E as closeDuckdbState, T as initializeDuckdbState, s as mirrorTableName };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@voltro/plugin-duckdb",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.88.0",
|
|
4
4
|
"description": "Embedded DuckDB AnalyticsSink. Runs DuckDB in-process for real OLAP performance without an external service. Events land in a DuckDB column-store table; aggregate / timeseries / topN queries execute vectorized.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"voltro",
|
|
@@ -33,13 +33,13 @@
|
|
|
33
33
|
"node": ">=24.0.0"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@voltro/runtime": "0.
|
|
36
|
+
"@voltro/runtime": "0.88.0"
|
|
37
37
|
},
|
|
38
38
|
"optionalDependencies": {
|
|
39
|
-
"@duckdb/node-api": "
|
|
39
|
+
"@duckdb/node-api": "2.0.0-r.1"
|
|
40
40
|
},
|
|
41
41
|
"peerDependencies": {
|
|
42
|
-
"effect": "4.0
|
|
42
|
+
"effect": "4.1.0"
|
|
43
43
|
},
|
|
44
44
|
"publishConfig": {
|
|
45
45
|
"access": "public"
|