@run-trace/duckdb-wasm 0.0.1
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/README.md +228 -0
- package/dist/duckdb-browser-coi.pthread.worker.js +32 -0
- package/dist/duckdb-browser-coi.worker.js +31 -0
- package/dist/duckdb-browser-eh.worker.js +27 -0
- package/dist/duckdb-browser-mvp.worker.js +27 -0
- package/dist/duckdb-browser.d.ts +1 -0
- package/dist/duckdb-coi.wasm +0 -0
- package/dist/duckdb-eh.wasm +0 -0
- package/dist/duckdb-mvp.wasm +0 -0
- package/dist/duckdb-node-eh.worker.cjs +51 -0
- package/dist/duckdb-node-mvp.worker.cjs +51 -0
- package/dist/duckdb-node.d.ts +1 -0
- package/dist/duckdb-node.mjs +8 -0
- package/dist/duckdb-wasm.mjs +1160 -0
- package/dist/duckdb-wasm.umd.js +1 -0
- package/dist/types/bindings/bindings_base.d.ts +129 -0
- package/dist/types/bindings/bindings_browser_base.d.ts +18 -0
- package/dist/types/bindings/bindings_browser_coi.d.ts +12 -0
- package/dist/types/bindings/bindings_browser_eh.d.ts +12 -0
- package/dist/types/bindings/bindings_browser_mvp.d.ts +11 -0
- package/dist/types/bindings/bindings_interface.d.ts +44 -0
- package/dist/types/bindings/bindings_node_base.d.ts +22 -0
- package/dist/types/bindings/bindings_node_eh.d.ts +12 -0
- package/dist/types/bindings/bindings_node_mvp.d.ts +12 -0
- package/dist/types/bindings/config.d.ts +90 -0
- package/dist/types/bindings/connection.d.ts +62 -0
- package/dist/types/bindings/duckdb_module.d.ts +13 -0
- package/dist/types/bindings/file_stats.d.ts +36 -0
- package/dist/types/bindings/index.d.ts +11 -0
- package/dist/types/bindings/insert_options.d.ts +31 -0
- package/dist/types/bindings/progress.d.ts +9 -0
- package/dist/types/bindings/runtime.d.ts +99 -0
- package/dist/types/bindings/runtime_browser.d.ts +13 -0
- package/dist/types/bindings/runtime_node.d.ts +8 -0
- package/dist/types/bindings/tokens.d.ts +12 -0
- package/dist/types/bindings/udf_function.d.ts +13 -0
- package/dist/types/bindings/udf_runtime.d.ts +3 -0
- package/dist/types/bindings/web_file.d.ts +12 -0
- package/dist/types/duckdb.d.ts +8 -0
- package/dist/types/index.d.ts +11 -0
- package/dist/types/log.d.ts +61 -0
- package/dist/types/parallel/async_bindings.d.ts +137 -0
- package/dist/types/parallel/async_bindings_interface.d.ts +27 -0
- package/dist/types/parallel/async_connection.d.ts +64 -0
- package/dist/types/parallel/index.d.ts +5 -0
- package/dist/types/parallel/worker_dispatcher.d.ts +22 -0
- package/dist/types/parallel/worker_request.d.ts +101 -0
- package/dist/types/platform.d.ts +38 -0
- package/dist/types/sql_field.d.ts +14 -0
- package/dist/types/status.d.ts +7 -0
- package/dist/types/targets/duckdb-browser-coi.pthread.worker.d.ts +1 -0
- package/dist/types/targets/duckdb-browser-coi.worker.d.ts +2 -0
- package/dist/types/targets/duckdb-browser-eh.worker.d.ts +2 -0
- package/dist/types/targets/duckdb-browser-mvp.worker.d.ts +2 -0
- package/dist/types/targets/duckdb-node-eh.worker.d.ts +2 -0
- package/dist/types/targets/duckdb-node-mvp.worker.d.ts +2 -0
- package/dist/types/targets/duckdb.d.ts +10 -0
- package/dist/types/utils/binary_dump.d.ts +1 -0
- package/dist/types/utils/index.d.ts +2 -0
- package/dist/types/utils/opfs_util.d.ts +4 -0
- package/dist/types/utils/s3_helper.d.ts +27 -0
- package/dist/types/worker.d.ts +1 -0
- package/dist/types/worker_node.d.ts +6 -0
- package/package.json +89 -0
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { DuckDBModule } from './duckdb_module';
|
|
2
|
+
import { UDFFunction } from './udf_function';
|
|
3
|
+
/** Helper to decode text */
|
|
4
|
+
export declare const decodeText: (input?: BufferSource) => string;
|
|
5
|
+
/** Copy a buffer */
|
|
6
|
+
export declare function failWith(mod: DuckDBModule, msg: string): void;
|
|
7
|
+
/** Copy a buffer */
|
|
8
|
+
export declare function copyBuffer(mod: DuckDBModule, begin: number, length: number): Uint8Array;
|
|
9
|
+
/** Decode a string */
|
|
10
|
+
export declare function readString(mod: DuckDBModule, begin: number, length: number): string;
|
|
11
|
+
/** The data protocol */
|
|
12
|
+
export declare enum DuckDBDataProtocol {
|
|
13
|
+
BUFFER = 0,
|
|
14
|
+
NODE_FS = 1,
|
|
15
|
+
BROWSER_FILEREADER = 2,
|
|
16
|
+
BROWSER_FSACCESS = 3,
|
|
17
|
+
HTTP = 4,
|
|
18
|
+
S3 = 5
|
|
19
|
+
}
|
|
20
|
+
/** File flags for opening files*/
|
|
21
|
+
export declare enum FileFlags {
|
|
22
|
+
FILE_FLAGS_READ = 1,
|
|
23
|
+
FILE_FLAGS_WRITE = 2,
|
|
24
|
+
FILE_FLAGS_DIRECT_IO = 4,
|
|
25
|
+
FILE_FLAGS_FILE_CREATE = 8,
|
|
26
|
+
FILE_FLAGS_FILE_CREATE_NEW = 16,
|
|
27
|
+
FILE_FLAGS_APPEND = 32,
|
|
28
|
+
FILE_FLAGS_PRIVATE = 64,
|
|
29
|
+
FILE_FLAGS_NULL_IF_NOT_EXISTS = 128,
|
|
30
|
+
FILE_FLAGS_PARALLEL_ACCESS = 256,
|
|
31
|
+
FILE_FLAGS_EXCLUSIVE_CREATE = 512,
|
|
32
|
+
FILE_FLAGS_NULL_IF_EXISTS = 1024
|
|
33
|
+
}
|
|
34
|
+
/** Configuration for the AWS S3 Filesystem */
|
|
35
|
+
export interface S3Config {
|
|
36
|
+
region?: string;
|
|
37
|
+
endpoint?: string;
|
|
38
|
+
accessKeyId?: string;
|
|
39
|
+
secretAccessKey?: string;
|
|
40
|
+
sessionToken?: string;
|
|
41
|
+
}
|
|
42
|
+
/** An info for a file registered with DuckDB */
|
|
43
|
+
export interface DuckDBFileInfo {
|
|
44
|
+
cacheEpoch: number;
|
|
45
|
+
fileId: number;
|
|
46
|
+
fileName: string;
|
|
47
|
+
dataProtocol: DuckDBDataProtocol;
|
|
48
|
+
dataUrl: string | null;
|
|
49
|
+
reliableHeadRequests?: boolean;
|
|
50
|
+
allowFullHttpReads?: boolean;
|
|
51
|
+
forceFullHttpReads?: boolean;
|
|
52
|
+
s3Config?: S3Config;
|
|
53
|
+
}
|
|
54
|
+
/** Global info for all files registered with DuckDB */
|
|
55
|
+
export interface DuckDBGlobalFileInfo {
|
|
56
|
+
cacheEpoch: number;
|
|
57
|
+
reliableHeadRequests?: boolean;
|
|
58
|
+
allowFullHttpReads?: boolean;
|
|
59
|
+
forceFullHttpReads?: boolean;
|
|
60
|
+
s3Config?: S3Config;
|
|
61
|
+
}
|
|
62
|
+
export interface PreparedDBFileHandle {
|
|
63
|
+
path: string;
|
|
64
|
+
handle: any;
|
|
65
|
+
fromCached: boolean;
|
|
66
|
+
}
|
|
67
|
+
/** Call a function with packed response buffer */
|
|
68
|
+
export declare function callSRet(mod: DuckDBModule, funcName: string, argTypes: Array<Emscripten.JSType>, args: Array<any>): [number, number, number];
|
|
69
|
+
/** Drop response buffers */
|
|
70
|
+
export declare function dropResponseBuffers(mod: DuckDBModule): void;
|
|
71
|
+
/** The duckdb runtime */
|
|
72
|
+
export interface DuckDBRuntime {
|
|
73
|
+
_files?: Map<string, any>;
|
|
74
|
+
_udfFunctions: Map<number, UDFFunction>;
|
|
75
|
+
testPlatformFeature(mod: DuckDBModule, feature: number): boolean;
|
|
76
|
+
getDefaultDataProtocol(mod: DuckDBModule): number;
|
|
77
|
+
openFile(mod: DuckDBModule, fileId: number, flags: FileFlags): void;
|
|
78
|
+
syncFile(mod: DuckDBModule, fileId: number): void;
|
|
79
|
+
closeFile(mod: DuckDBModule, fileId: number): void;
|
|
80
|
+
dropFile(mod: DuckDBModule, fileNamePtr: number, fileNameLen: number): void;
|
|
81
|
+
getLastFileModificationTime(mod: DuckDBModule, fileId: number): number;
|
|
82
|
+
truncateFile(mod: DuckDBModule, fileId: number, newSize: number): void;
|
|
83
|
+
readFile(mod: DuckDBModule, fileId: number, buffer: number, bytes: number, location: number): number;
|
|
84
|
+
writeFile(mod: DuckDBModule, fileId: number, buffer: number, bytes: number, location: number): number;
|
|
85
|
+
removeDirectory(mod: DuckDBModule, pathPtr: number, pathLen: number): void;
|
|
86
|
+
checkDirectory(mod: DuckDBModule, pathPtr: number, pathLen: number): boolean;
|
|
87
|
+
createDirectory(mod: DuckDBModule, pathPtr: number, pathLen: number): void;
|
|
88
|
+
listDirectoryEntries(mod: DuckDBModule, pathPtr: number, pathLen: number): boolean;
|
|
89
|
+
glob(mod: DuckDBModule, pathPtr: number, pathLen: number): void;
|
|
90
|
+
moveFile(mod: DuckDBModule, fromPtr: number, fromLen: number, toPtr: number, toLen: number): void;
|
|
91
|
+
checkFile(mod: DuckDBModule, pathPtr: number, pathLen: number): boolean;
|
|
92
|
+
removeFile(mod: DuckDBModule, pathPtr: number, pathLen: number): void;
|
|
93
|
+
prepareFileHandle?: (path: string, protocol: DuckDBDataProtocol) => Promise<PreparedDBFileHandle[]>;
|
|
94
|
+
prepareFileHandles?: (path: string[], protocol: DuckDBDataProtocol) => Promise<PreparedDBFileHandle[]>;
|
|
95
|
+
prepareDBFileHandle?: (path: string, protocol: DuckDBDataProtocol) => Promise<PreparedDBFileHandle[]>;
|
|
96
|
+
progressUpdate(final: number, percentage: number, iteration: number): void;
|
|
97
|
+
callScalarUDF(mod: DuckDBModule, response: number, funcId: number, descPtr: number, descSize: number, ptrsPtr: number, ptrsSize: number): void;
|
|
98
|
+
}
|
|
99
|
+
export declare const DEFAULT_RUNTIME: DuckDBRuntime;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { DuckDBFileInfo, DuckDBGlobalFileInfo, DuckDBRuntime } from './runtime';
|
|
2
|
+
import { DuckDBModule } from './duckdb_module';
|
|
3
|
+
export declare const BROWSER_RUNTIME: DuckDBRuntime & {
|
|
4
|
+
_files: Map<string, any>;
|
|
5
|
+
_fileInfoCache: Map<number, DuckDBFileInfo>;
|
|
6
|
+
_globalFileInfo: DuckDBGlobalFileInfo | null;
|
|
7
|
+
_preparedHandles: Record<string, FileSystemSyncAccessHandle>;
|
|
8
|
+
_opfsRoot: FileSystemDirectoryHandle | null;
|
|
9
|
+
getFileInfo(mod: DuckDBModule, fileId: number): DuckDBFileInfo | null;
|
|
10
|
+
getGlobalFileInfo(mod: DuckDBModule): DuckDBGlobalFileInfo | null;
|
|
11
|
+
assignOPFSRoot(): Promise<void>;
|
|
12
|
+
};
|
|
13
|
+
export default BROWSER_RUNTIME;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { DuckDBRuntime, DuckDBFileInfo } from './runtime';
|
|
2
|
+
import { DuckDBModule } from './duckdb_module';
|
|
3
|
+
export declare const NODE_RUNTIME: DuckDBRuntime & {
|
|
4
|
+
_filesById: Map<number, any>;
|
|
5
|
+
_fileInfoCache: Map<number, DuckDBFileInfo>;
|
|
6
|
+
resolveFileInfo(mod: DuckDBModule, fileId: number): DuckDBFileInfo | null;
|
|
7
|
+
};
|
|
8
|
+
export default NODE_RUNTIME;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { SQLType } from '../sql_field';
|
|
2
|
+
export interface UDFFunctionDeclaration {
|
|
3
|
+
functionId: number;
|
|
4
|
+
name: string;
|
|
5
|
+
returnType: SQLType;
|
|
6
|
+
}
|
|
7
|
+
export interface UDFFunction {
|
|
8
|
+
functionId: number;
|
|
9
|
+
connectionId: number;
|
|
10
|
+
name: string;
|
|
11
|
+
returnType: SQLType;
|
|
12
|
+
func: (...args: any[]) => any;
|
|
13
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { DuckDBRuntime } from './runtime';
|
|
2
|
+
import { DuckDBModule } from './duckdb_module';
|
|
3
|
+
export declare function callScalarUDF(runtime: DuckDBRuntime, mod: DuckDBModule, response: number, funcId: number, descPtr: number, descSize: number, ptrsPtr: number, ptrsSize: number): void;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { DuckDBDataProtocol } from './runtime';
|
|
2
|
+
export interface WebFile {
|
|
3
|
+
fileName: string;
|
|
4
|
+
dataProtocol: DuckDBDataProtocol;
|
|
5
|
+
fileId?: number;
|
|
6
|
+
fileSize?: number;
|
|
7
|
+
dataUrl?: string;
|
|
8
|
+
dataNativeFd?: number;
|
|
9
|
+
collectStatistics?: boolean;
|
|
10
|
+
reliableHeadRequests?: boolean;
|
|
11
|
+
allowFullHttpReads?: boolean;
|
|
12
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Logger } from './log.js';
|
|
2
|
+
import { AsyncDuckDB } from './parallel/index.js';
|
|
3
|
+
export interface DuckDBBundle {
|
|
4
|
+
mainModule: string;
|
|
5
|
+
mainWorker: string;
|
|
6
|
+
pthreadWorker?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function duckdb(config: DuckDBBundle, logger?: Logger): Promise<AsyncDuckDB>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from './bindings/config.js';
|
|
2
|
+
export * from './bindings/tokens.js';
|
|
3
|
+
export * from './log.js';
|
|
4
|
+
export * from './status.js';
|
|
5
|
+
export * from './parallel/index.js';
|
|
6
|
+
export * from './platform.js';
|
|
7
|
+
export * from './worker.js';
|
|
8
|
+
export type { InstantiationProgress, InstantiationProgressHandler } from './bindings/progress.js';
|
|
9
|
+
export type { DuckDBDataProtocol } from './bindings/runtime.js';
|
|
10
|
+
export type { WebFile } from './bindings/web_file.js';
|
|
11
|
+
export { duckdb } from './duckdb.js';
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
export declare enum LogLevel {
|
|
2
|
+
NONE = 0,
|
|
3
|
+
DEBUG = 1,
|
|
4
|
+
INFO = 2,
|
|
5
|
+
WARNING = 3,
|
|
6
|
+
ERROR = 4
|
|
7
|
+
}
|
|
8
|
+
export declare enum LogTopic {
|
|
9
|
+
NONE = 0,
|
|
10
|
+
CONNECT = 1,
|
|
11
|
+
DISCONNECT = 2,
|
|
12
|
+
OPEN = 3,
|
|
13
|
+
QUERY = 4,
|
|
14
|
+
INSTANTIATE = 5
|
|
15
|
+
}
|
|
16
|
+
export declare enum LogEvent {
|
|
17
|
+
NONE = 0,
|
|
18
|
+
OK = 1,
|
|
19
|
+
ERROR = 2,
|
|
20
|
+
START = 3,
|
|
21
|
+
RUN = 4,
|
|
22
|
+
CAPTURE = 5
|
|
23
|
+
}
|
|
24
|
+
export declare enum LogOrigin {
|
|
25
|
+
NONE = 0,
|
|
26
|
+
WEB_WORKER = 1,
|
|
27
|
+
NODE_WORKER = 2,
|
|
28
|
+
BINDINGS = 3,
|
|
29
|
+
ASYNC_DUCKDB = 4
|
|
30
|
+
}
|
|
31
|
+
export type LogEntry<O, T, E, V> = {
|
|
32
|
+
readonly timestamp: Date;
|
|
33
|
+
readonly level: LogLevel;
|
|
34
|
+
readonly origin: O;
|
|
35
|
+
readonly topic: T;
|
|
36
|
+
readonly event: E;
|
|
37
|
+
readonly value: V;
|
|
38
|
+
};
|
|
39
|
+
export type ProgressEntry = {
|
|
40
|
+
readonly status: string;
|
|
41
|
+
readonly percentage: string;
|
|
42
|
+
readonly repetitions: string;
|
|
43
|
+
};
|
|
44
|
+
/** An execution progress handler */
|
|
45
|
+
export type ExecutionProgressHandler = (p: ProgressEntry) => void;
|
|
46
|
+
export type LogEntryVariant = LogEntry<LogOrigin.BINDINGS, LogTopic.INSTANTIATE, LogEvent.ERROR, string> | LogEntry<LogOrigin.BINDINGS, LogTopic.QUERY, LogEvent.START, void> | LogEntry<LogOrigin.BINDINGS, LogTopic.QUERY, LogEvent.OK, void> | LogEntry<LogOrigin.BINDINGS, LogTopic.QUERY, LogEvent.ERROR, void> | LogEntry<LogOrigin.BINDINGS, LogTopic.CONNECT, LogEvent.OK, void> | LogEntry<LogOrigin.BINDINGS, LogTopic.CONNECT, LogEvent.ERROR, void> | LogEntry<LogOrigin.BINDINGS, LogTopic.DISCONNECT, LogEvent.OK, void> | LogEntry<LogOrigin.BINDINGS, LogTopic.DISCONNECT, LogEvent.ERROR, void> | LogEntry<LogOrigin.BINDINGS, LogTopic.OPEN, LogEvent.START, void> | LogEntry<LogOrigin.BINDINGS, LogTopic.OPEN, LogEvent.OK, void> | LogEntry<LogOrigin.BINDINGS, LogTopic.OPEN, LogEvent.ERROR, void> | LogEntry<LogOrigin.ASYNC_DUCKDB, LogTopic.QUERY, LogEvent.RUN, string>;
|
|
47
|
+
export interface Logger {
|
|
48
|
+
log(entry: LogEntryVariant): void;
|
|
49
|
+
}
|
|
50
|
+
export declare class VoidLogger implements Logger {
|
|
51
|
+
log(_entry: LogEntryVariant): void;
|
|
52
|
+
}
|
|
53
|
+
export declare class ConsoleLogger implements Logger {
|
|
54
|
+
protected level: LogLevel;
|
|
55
|
+
constructor(level?: LogLevel);
|
|
56
|
+
log(entry: LogEntryVariant): void;
|
|
57
|
+
}
|
|
58
|
+
export declare function getLogLevelLabel(level: LogLevel): string;
|
|
59
|
+
export declare function getLogEventLabel(event: LogEvent): string;
|
|
60
|
+
export declare function getLogTopicLabel(topic: LogTopic): string;
|
|
61
|
+
export declare function getLogOriginLabel(origin: LogOrigin): string;
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { WorkerTaskVariant, ConnectionID, WorkerTaskReturnType } from './worker_request';
|
|
2
|
+
import { AsyncDuckDBBindings } from './async_bindings_interface';
|
|
3
|
+
import { Logger } from '../log';
|
|
4
|
+
import { AsyncDuckDBConnection } from './async_connection';
|
|
5
|
+
import { CSVInsertOptions, JSONInsertOptions, ArrowInsertOptions } from '../bindings/insert_options';
|
|
6
|
+
import { ScriptTokens } from '../bindings/tokens';
|
|
7
|
+
import { FileStatistics } from '../bindings/file_stats';
|
|
8
|
+
import { DuckDBConfig } from '../bindings/config';
|
|
9
|
+
import { InstantiationProgress } from '../bindings/progress';
|
|
10
|
+
import { WebFile } from '../bindings/web_file';
|
|
11
|
+
import { DuckDBDataProtocol } from '../bindings';
|
|
12
|
+
import { ProgressEntry } from '../log';
|
|
13
|
+
export declare class AsyncDuckDB implements AsyncDuckDBBindings {
|
|
14
|
+
/** The message handler */
|
|
15
|
+
protected readonly _onMessageHandler: (event: MessageEvent) => void;
|
|
16
|
+
/** The error handler */
|
|
17
|
+
protected readonly _onErrorHandler: (event: ErrorEvent) => void;
|
|
18
|
+
/** The close handler */
|
|
19
|
+
protected readonly _onCloseHandler: () => void;
|
|
20
|
+
/** Instantiate the module */
|
|
21
|
+
protected _onInstantiationProgress: ((p: InstantiationProgress) => void)[];
|
|
22
|
+
/** Progress callbacks */
|
|
23
|
+
protected _onExecutionProgress: ((p: ProgressEntry) => void)[];
|
|
24
|
+
/** The logger */
|
|
25
|
+
protected readonly _logger: Logger;
|
|
26
|
+
/** The worker */
|
|
27
|
+
protected _worker: Worker | null;
|
|
28
|
+
/** The promise for the worker shutdown */
|
|
29
|
+
protected _workerShutdownPromise: Promise<null> | null;
|
|
30
|
+
/** Make the worker as terminated */
|
|
31
|
+
protected _workerShutdownResolver: (value: PromiseLike<null> | null) => void;
|
|
32
|
+
/** The next message id */
|
|
33
|
+
protected _nextMessageId: number;
|
|
34
|
+
/** The pending requests */
|
|
35
|
+
protected _pendingRequests: Map<number, WorkerTaskVariant>;
|
|
36
|
+
/** The DuckDBConfig */
|
|
37
|
+
protected _config: DuckDBConfig;
|
|
38
|
+
constructor(logger: Logger, worker?: Worker | null);
|
|
39
|
+
/** Get the logger */
|
|
40
|
+
get logger(): Logger;
|
|
41
|
+
/** Get the logger */
|
|
42
|
+
get config(): DuckDBConfig;
|
|
43
|
+
/** Attach to worker */
|
|
44
|
+
protected attach(worker: Worker): void;
|
|
45
|
+
/** Detach from worker */
|
|
46
|
+
detach(): void;
|
|
47
|
+
/** Kill the worker */
|
|
48
|
+
terminate(): Promise<void>;
|
|
49
|
+
/** Post a task */
|
|
50
|
+
protected postTask<W extends WorkerTaskVariant>(task: W, transfer?: ArrayBuffer[]): Promise<WorkerTaskReturnType<W>>;
|
|
51
|
+
/** Received a message */
|
|
52
|
+
protected onMessage(event: MessageEvent): void;
|
|
53
|
+
/** Received an error */
|
|
54
|
+
protected onError(event: ErrorEvent): void;
|
|
55
|
+
/** The worker was closed */
|
|
56
|
+
protected onClose(): void;
|
|
57
|
+
/** Is in detached state, no worker defined */
|
|
58
|
+
isDetached(): boolean;
|
|
59
|
+
/** Reset the duckdb */
|
|
60
|
+
reset(): Promise<null>;
|
|
61
|
+
/** Ping the worker thread */
|
|
62
|
+
ping(): Promise<any>;
|
|
63
|
+
/** Try to drop a file */
|
|
64
|
+
dropFile(name: string): Promise<null>;
|
|
65
|
+
/** Try to drop files */
|
|
66
|
+
dropFiles(names?: string[]): Promise<null>;
|
|
67
|
+
/** Flush all files */
|
|
68
|
+
flushFiles(): Promise<null>;
|
|
69
|
+
/** Open the database */
|
|
70
|
+
instantiate(mainModuleURL: string, pthreadWorkerURL?: string | null, progress?: (progress: InstantiationProgress) => void): Promise<null>;
|
|
71
|
+
/** Get the version */
|
|
72
|
+
getVersion(): Promise<string>;
|
|
73
|
+
/** Get the feature flags */
|
|
74
|
+
getFeatureFlags(): Promise<number>;
|
|
75
|
+
/** Open a new database */
|
|
76
|
+
open(config: DuckDBConfig): Promise<void>;
|
|
77
|
+
/** Tokenize a script text */
|
|
78
|
+
tokenize(text: string): Promise<ScriptTokens>;
|
|
79
|
+
/** Connect to the database */
|
|
80
|
+
connectInternal(): Promise<number>;
|
|
81
|
+
/** Connect to the database */
|
|
82
|
+
connect(): Promise<AsyncDuckDBConnection>;
|
|
83
|
+
/** Disconnect from the database */
|
|
84
|
+
disconnect(conn: ConnectionID): Promise<void>;
|
|
85
|
+
/** Run a query */
|
|
86
|
+
runQuery(conn: ConnectionID, text: string): Promise<Uint8Array>;
|
|
87
|
+
private _runQueryAsync;
|
|
88
|
+
/** Start a pending query */
|
|
89
|
+
startPendingQuery(conn: ConnectionID, text: string, allowStreamResult?: boolean): Promise<Uint8Array | null>;
|
|
90
|
+
private _startPendingQueryAsync;
|
|
91
|
+
/** Poll a pending query */
|
|
92
|
+
pollPendingQuery(conn: ConnectionID): Promise<Uint8Array | null>;
|
|
93
|
+
/** Cancel a pending query */
|
|
94
|
+
cancelPendingQuery(conn: ConnectionID): Promise<boolean>;
|
|
95
|
+
/** Fetch query results */
|
|
96
|
+
fetchQueryResults(conn: ConnectionID): Promise<Uint8Array | null>;
|
|
97
|
+
/** Get table names */
|
|
98
|
+
getTableNames(conn: number, text: string): Promise<string[]>;
|
|
99
|
+
/** Prepare a statement and return its identifier */
|
|
100
|
+
createPrepared(conn: number, text: string): Promise<number>;
|
|
101
|
+
/** Close a prepared statement */
|
|
102
|
+
closePrepared(conn: number, statement: number): Promise<void>;
|
|
103
|
+
/** Execute a prepared statement and return the full result */
|
|
104
|
+
runPrepared(conn: number, statement: number, params: any[]): Promise<Uint8Array>;
|
|
105
|
+
/** Execute a prepared statement and stream the result */
|
|
106
|
+
sendPrepared(conn: number, statement: number, params: any[]): Promise<Uint8Array>;
|
|
107
|
+
/** Glob file infos */
|
|
108
|
+
globFiles(path: string): Promise<WebFile[]>;
|
|
109
|
+
/** Register file text */
|
|
110
|
+
registerFileText(name: string, text: string): Promise<void>;
|
|
111
|
+
/** Register a file path. */
|
|
112
|
+
registerFileURL(name: string, url: string, proto: DuckDBDataProtocol, directIO: boolean): Promise<void>;
|
|
113
|
+
/** Register an empty file buffer. */
|
|
114
|
+
registerEmptyFileBuffer(name: string): Promise<void>;
|
|
115
|
+
/** Register a file buffer. */
|
|
116
|
+
registerFileBuffer(name: string, buffer: Uint8Array): Promise<void>;
|
|
117
|
+
/** Register a file handle. */
|
|
118
|
+
registerFileHandle<HandleType>(name: string, handle: HandleType, protocol: DuckDBDataProtocol, directIO: boolean): Promise<void>;
|
|
119
|
+
/** Enable file statistics */
|
|
120
|
+
registerOPFSFileName(name: string): Promise<void>;
|
|
121
|
+
/** Enable file statistics */
|
|
122
|
+
collectFileStatistics(name: string, enable: boolean): Promise<void>;
|
|
123
|
+
/** Export file statistics */
|
|
124
|
+
exportFileStatistics(name: string): Promise<FileStatistics>;
|
|
125
|
+
/** Copy a file to a buffer. */
|
|
126
|
+
copyFileToBuffer(name: string): Promise<Uint8Array>;
|
|
127
|
+
/** Copy a file to a path. */
|
|
128
|
+
copyFileToPath(name: string, path: string): Promise<void>;
|
|
129
|
+
/** Insert arrow from an ipc stream */
|
|
130
|
+
insertArrowFromIPCStream(conn: ConnectionID, buffer: Uint8Array, options?: ArrowInsertOptions): Promise<void>;
|
|
131
|
+
/** Insert a csv file */
|
|
132
|
+
insertCSVFromPath(conn: ConnectionID, path: string, options: CSVInsertOptions): Promise<void>;
|
|
133
|
+
/** Insert a json file */
|
|
134
|
+
insertJSONFromPath(conn: ConnectionID, path: string, options: JSONInsertOptions): Promise<void>;
|
|
135
|
+
private shouldOPFSFileHandling;
|
|
136
|
+
private registerOPFSFileFromSQL;
|
|
137
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Logger } from '../log';
|
|
2
|
+
import { ArrowInsertOptions, CSVInsertOptions, JSONInsertOptions } from '../bindings/insert_options';
|
|
3
|
+
import { DuckDBDataProtocol } from '../bindings';
|
|
4
|
+
/** An interface for the async DuckDB bindings */
|
|
5
|
+
export interface AsyncDuckDBBindings {
|
|
6
|
+
logger: Logger;
|
|
7
|
+
registerFileURL(name: string, url: string, proto: DuckDBDataProtocol, directIO: boolean): Promise<void>;
|
|
8
|
+
registerFileBuffer(name: string, buffer: Uint8Array): Promise<void>;
|
|
9
|
+
registerFileHandle<HandleType>(name: string, handle: HandleType, protocol: DuckDBDataProtocol, directIO: boolean): Promise<void>;
|
|
10
|
+
copyFileToPath(name: string, out: string): Promise<void>;
|
|
11
|
+
copyFileToBuffer(name: string): Promise<Uint8Array>;
|
|
12
|
+
disconnect(conn: number): Promise<void>;
|
|
13
|
+
runQuery(conn: number, text: string): Promise<Uint8Array>;
|
|
14
|
+
startPendingQuery(conn: number, text: string, allowStreamResult: boolean): Promise<Uint8Array | null>;
|
|
15
|
+
pollPendingQuery(conn: number): Promise<Uint8Array | null>;
|
|
16
|
+
cancelPendingQuery(conn: number): Promise<boolean>;
|
|
17
|
+
fetchQueryResults(conn: number): Promise<Uint8Array | null>;
|
|
18
|
+
createPrepared(conn: number, text: string): Promise<number>;
|
|
19
|
+
closePrepared(conn: number, statement: number): Promise<void>;
|
|
20
|
+
runPrepared(conn: number, statement: number, params: any[]): Promise<Uint8Array>;
|
|
21
|
+
sendPrepared(conn: number, statement: number, params: any[]): Promise<Uint8Array>;
|
|
22
|
+
insertArrowFromIPCStream(conn: number, buffer: Uint8Array, options?: ArrowInsertOptions): Promise<void>;
|
|
23
|
+
insertCSVFromPath(conn: number, path: string, options: CSVInsertOptions): Promise<void>;
|
|
24
|
+
insertJSONFromPath(conn: number, path: string, options: JSONInsertOptions): Promise<void>;
|
|
25
|
+
dropFile(name: string): Promise<null>;
|
|
26
|
+
dropFiles(names?: string[]): Promise<null>;
|
|
27
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { AsyncDuckDB } from './async_bindings';
|
|
2
|
+
import { ArrowInsertOptions, CSVInsertOptions, JSONInsertOptions } from '../bindings/insert_options';
|
|
3
|
+
/** A thin helper to memoize the connection id */
|
|
4
|
+
export declare class AsyncDuckDBConnection {
|
|
5
|
+
/** The async duckdb */
|
|
6
|
+
protected readonly _bindings: AsyncDuckDB;
|
|
7
|
+
/** The conn handle */
|
|
8
|
+
protected readonly _conn: number;
|
|
9
|
+
constructor(bindings: AsyncDuckDB, conn: number);
|
|
10
|
+
/** Access the database bindings */
|
|
11
|
+
get bindings(): AsyncDuckDB;
|
|
12
|
+
/** Disconnect from the database */
|
|
13
|
+
close(): Promise<void>;
|
|
14
|
+
/** Brave souls may use this function to consume the underlying connection id */
|
|
15
|
+
useUnsafe<R>(callback: (bindings: AsyncDuckDB, conn: number) => R): R;
|
|
16
|
+
/** Run a query */
|
|
17
|
+
query(text: string): Promise<Uint8Array>;
|
|
18
|
+
/** Send a query */
|
|
19
|
+
send(text: string, allowStreamResult?: boolean): Promise<AsyncIterable<Uint8Array>>;
|
|
20
|
+
/** Cancel a query that was sent earlier */
|
|
21
|
+
cancelSent(): Promise<boolean>;
|
|
22
|
+
/** Get table names */
|
|
23
|
+
getTableNames(query: string): Promise<string[]>;
|
|
24
|
+
/** Create a prepared statement */
|
|
25
|
+
prepare(text: string): Promise<AsyncPreparedStatement>;
|
|
26
|
+
/** Insert an arrow table from an ipc stream */
|
|
27
|
+
insertArrowFromIPCStream(buffer: Uint8Array, options: ArrowInsertOptions): Promise<void>;
|
|
28
|
+
/** Insert csv file from path */
|
|
29
|
+
insertCSVFromPath(text: string, options: CSVInsertOptions): Promise<void>;
|
|
30
|
+
/** Insert json file from path */
|
|
31
|
+
insertJSONFromPath(text: string, options: JSONInsertOptions): Promise<void>;
|
|
32
|
+
}
|
|
33
|
+
/** An async result stream iterator */
|
|
34
|
+
export declare class AsyncResultStreamIterator implements AsyncIterable<Uint8Array> {
|
|
35
|
+
protected readonly db: AsyncDuckDB;
|
|
36
|
+
protected readonly conn: number;
|
|
37
|
+
protected readonly header: Uint8Array;
|
|
38
|
+
/** First chunk? */
|
|
39
|
+
protected _first: boolean;
|
|
40
|
+
/** Reached end of stream? */
|
|
41
|
+
protected _depleted: boolean;
|
|
42
|
+
/** In-flight */
|
|
43
|
+
protected _inFlight: Promise<Uint8Array | null> | null;
|
|
44
|
+
constructor(db: AsyncDuckDB, conn: number, header: Uint8Array);
|
|
45
|
+
next(): Promise<IteratorResult<Uint8Array>>;
|
|
46
|
+
[Symbol.asyncIterator](): this;
|
|
47
|
+
}
|
|
48
|
+
/** A thin helper to bind the prepared statement id */
|
|
49
|
+
export declare class AsyncPreparedStatement {
|
|
50
|
+
/** The bindings */
|
|
51
|
+
protected readonly bindings: AsyncDuckDB;
|
|
52
|
+
/** The connection id */
|
|
53
|
+
protected readonly connectionId: number;
|
|
54
|
+
/** The statement id */
|
|
55
|
+
protected readonly statementId: number;
|
|
56
|
+
/** Constructor */
|
|
57
|
+
constructor(bindings: AsyncDuckDB, connectionId: number, statementId: number);
|
|
58
|
+
/** Close a prepared statement */
|
|
59
|
+
close(): Promise<void>;
|
|
60
|
+
/** Run a prepared statement */
|
|
61
|
+
query(...params: any[]): Promise<Uint8Array>;
|
|
62
|
+
/** Send a prepared statement */
|
|
63
|
+
send(...params: any[]): Promise<AsyncIterable<Uint8Array>>;
|
|
64
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { DuckDBBindings } from '../bindings';
|
|
2
|
+
import { WorkerResponseVariant, WorkerRequestVariant } from './worker_request';
|
|
3
|
+
import { Logger, LogEntryVariant } from '../log';
|
|
4
|
+
import { InstantiationProgress } from '../bindings/progress';
|
|
5
|
+
export declare abstract class AsyncDuckDBDispatcher implements Logger {
|
|
6
|
+
/** The bindings */
|
|
7
|
+
protected _bindings: DuckDBBindings | null;
|
|
8
|
+
/** The next message id */
|
|
9
|
+
protected _nextMessageId: number;
|
|
10
|
+
/** Instantiate the wasm module */
|
|
11
|
+
protected abstract instantiate(mainModule: string, pthreadWorker: string | null, progress: (p: InstantiationProgress) => void): Promise<DuckDBBindings>;
|
|
12
|
+
/** Post a response to the main thread */
|
|
13
|
+
protected abstract postMessage(response: WorkerResponseVariant, transfer: ArrayBuffer[]): void;
|
|
14
|
+
/** Send log entry to the main thread */
|
|
15
|
+
log(entry: LogEntryVariant): void;
|
|
16
|
+
/** Send plain OK without further data */
|
|
17
|
+
protected sendOK(request: WorkerRequestVariant): void;
|
|
18
|
+
/** Fail with an error */
|
|
19
|
+
protected failWith(request: WorkerRequestVariant, e: Error): void;
|
|
20
|
+
/** Process a request from the main thread */
|
|
21
|
+
onMessage(request: WorkerRequestVariant): Promise<void>;
|
|
22
|
+
}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { CSVInsertOptions, JSONInsertOptions, ArrowInsertOptions } from '../bindings/insert_options';
|
|
2
|
+
import { LogEntryVariant, ProgressEntry } from '../log';
|
|
3
|
+
import { ScriptTokens } from '../bindings/tokens';
|
|
4
|
+
import { FileStatistics } from '../bindings/file_stats';
|
|
5
|
+
import { DuckDBConfig } from '../bindings/config';
|
|
6
|
+
import { WebFile } from '../bindings/web_file';
|
|
7
|
+
import { InstantiationProgress } from '../bindings/progress';
|
|
8
|
+
import { DuckDBDataProtocol } from '../bindings';
|
|
9
|
+
export type ConnectionID = number;
|
|
10
|
+
export type StatementID = number;
|
|
11
|
+
export declare enum WorkerRequestType {
|
|
12
|
+
CANCEL_PENDING_QUERY = "CANCEL_PENDING_QUERY",
|
|
13
|
+
CLOSE_PREPARED = "CLOSE_PREPARED",
|
|
14
|
+
COLLECT_FILE_STATISTICS = "COLLECT_FILE_STATISTICS",
|
|
15
|
+
REGISTER_OPFS_FILE_NAME = "REGISTER_OPFS_FILE_NAME",
|
|
16
|
+
CONNECT = "CONNECT",
|
|
17
|
+
COPY_FILE_TO_BUFFER = "COPY_FILE_TO_BUFFER",
|
|
18
|
+
COPY_FILE_TO_PATH = "COPY_FILE_TO_PATH",
|
|
19
|
+
CREATE_PREPARED = "CREATE_PREPARED",
|
|
20
|
+
DISCONNECT = "DISCONNECT",
|
|
21
|
+
DROP_FILE = "DROP_FILE",
|
|
22
|
+
DROP_FILES = "DROP_FILES",
|
|
23
|
+
EXPORT_FILE_STATISTICS = "EXPORT_FILE_STATISTICS",
|
|
24
|
+
FETCH_QUERY_RESULTS = "FETCH_QUERY_RESULTS",
|
|
25
|
+
FLUSH_FILES = "FLUSH_FILES",
|
|
26
|
+
GET_FEATURE_FLAGS = "GET_FEATURE_FLAGS",
|
|
27
|
+
GET_TABLE_NAMES = "GET_TABLE_NAMES",
|
|
28
|
+
GET_VERSION = "GET_VERSION",
|
|
29
|
+
GLOB_FILE_INFOS = "GLOB_FILE_INFOS",
|
|
30
|
+
INSERT_ARROW_FROM_IPC_STREAM = "INSERT_ARROW_FROM_IPC_STREAM",
|
|
31
|
+
INSERT_CSV_FROM_PATH = "IMPORT_CSV_FROM_PATH",
|
|
32
|
+
INSERT_JSON_FROM_PATH = "IMPORT_JSON_FROM_PATH",
|
|
33
|
+
INSTANTIATE = "INSTANTIATE",
|
|
34
|
+
OPEN = "OPEN",
|
|
35
|
+
PING = "PING",
|
|
36
|
+
POLL_PENDING_QUERY = "POLL_PENDING_QUERY",
|
|
37
|
+
REGISTER_FILE_BUFFER = "REGISTER_FILE_BUFFER",
|
|
38
|
+
REGISTER_FILE_HANDLE = "REGISTER_FILE_HANDLE",
|
|
39
|
+
REGISTER_FILE_URL = "REGISTER_FILE_URL",
|
|
40
|
+
RESET = "RESET",
|
|
41
|
+
RUN_PREPARED = "RUN_PREPARED",
|
|
42
|
+
RUN_QUERY = "RUN_QUERY",
|
|
43
|
+
SEND_PREPARED = "SEND_PREPARED",
|
|
44
|
+
START_PENDING_QUERY = "START_PENDING_QUERY",
|
|
45
|
+
TOKENIZE = "TOKENIZE"
|
|
46
|
+
}
|
|
47
|
+
export declare enum WorkerResponseType {
|
|
48
|
+
CONNECTION_INFO = "CONNECTION_INFO",
|
|
49
|
+
ERROR = "ERROR",
|
|
50
|
+
FEATURE_FLAGS = "FEATURE_FLAGS",
|
|
51
|
+
FILE_BUFFER = "FILE_BUFFER",
|
|
52
|
+
FILE_INFOS = "FILE_INFOS",
|
|
53
|
+
FILE_SIZE = "FILE_SIZE",
|
|
54
|
+
FILE_STATISTICS = "FILE_STATISTICS",
|
|
55
|
+
INSTANTIATE_PROGRESS = "INSTANTIATE_PROGRESS",
|
|
56
|
+
LOG = "LOG",
|
|
57
|
+
PROGRESS_UPDATE = "PROGRESS_UPDATE",
|
|
58
|
+
OK = "OK",
|
|
59
|
+
PREPARED_STATEMENT_ID = "PREPARED_STATEMENT_ID",
|
|
60
|
+
QUERY_PLAN = "QUERY_PLAN",
|
|
61
|
+
QUERY_RESULT = "QUERY_RESULT",
|
|
62
|
+
QUERY_RESULT_CHUNK = "QUERY_RESULT_CHUNK",
|
|
63
|
+
QUERY_RESULT_HEADER = "QUERY_RESULT_HEADER",
|
|
64
|
+
QUERY_RESULT_HEADER_OR_NULL = "QUERY_RESULT_HEADER_OR_NULL",
|
|
65
|
+
REGISTERED_FILE = "REGISTERED_FILE",
|
|
66
|
+
SCRIPT_TOKENS = "SCRIPT_TOKENS",
|
|
67
|
+
SUCCESS = "SUCCESS",
|
|
68
|
+
TABLE_NAMES = "TABLE_NAMES",
|
|
69
|
+
VERSION_STRING = "VERSION_STRING"
|
|
70
|
+
}
|
|
71
|
+
export type WorkerRequest<T, P> = {
|
|
72
|
+
readonly messageId: number;
|
|
73
|
+
readonly type: T;
|
|
74
|
+
readonly data: P;
|
|
75
|
+
};
|
|
76
|
+
export type WorkerResponse<T, P> = {
|
|
77
|
+
readonly messageId: number;
|
|
78
|
+
readonly requestId: number;
|
|
79
|
+
readonly type: T;
|
|
80
|
+
readonly data: P;
|
|
81
|
+
};
|
|
82
|
+
export type WorkerTaskReturnType<T extends WorkerTaskVariant> = T extends WorkerTask<any, any, infer P> ? P : never;
|
|
83
|
+
export declare class WorkerTask<T, D, P> {
|
|
84
|
+
readonly type: T;
|
|
85
|
+
readonly data: D;
|
|
86
|
+
promise: Promise<P>;
|
|
87
|
+
promiseResolver: (value: P | PromiseLike<P>) => void;
|
|
88
|
+
promiseRejecter: (value: any) => void;
|
|
89
|
+
constructor(type: T, data: D);
|
|
90
|
+
}
|
|
91
|
+
export type WorkerRequestVariant = WorkerRequest<WorkerRequestType.CLOSE_PREPARED, [ConnectionID, StatementID]> | WorkerRequest<WorkerRequestType.CANCEL_PENDING_QUERY, number> | WorkerRequest<WorkerRequestType.COLLECT_FILE_STATISTICS, [string, boolean]> | WorkerRequest<WorkerRequestType.REGISTER_OPFS_FILE_NAME, [string]> | WorkerRequest<WorkerRequestType.CONNECT, null> | WorkerRequest<WorkerRequestType.COPY_FILE_TO_BUFFER, string> | WorkerRequest<WorkerRequestType.COPY_FILE_TO_PATH, [string, string]> | WorkerRequest<WorkerRequestType.CREATE_PREPARED, [ConnectionID, string]> | WorkerRequest<WorkerRequestType.DISCONNECT, number> | WorkerRequest<WorkerRequestType.DROP_FILE, string> | WorkerRequest<WorkerRequestType.DROP_FILES, string[] | undefined> | WorkerRequest<WorkerRequestType.EXPORT_FILE_STATISTICS, string> | WorkerRequest<WorkerRequestType.FETCH_QUERY_RESULTS, number> | WorkerRequest<WorkerRequestType.FLUSH_FILES, null> | WorkerRequest<WorkerRequestType.GET_FEATURE_FLAGS, null> | WorkerRequest<WorkerRequestType.GET_TABLE_NAMES, [number, string]> | WorkerRequest<WorkerRequestType.GET_VERSION, null> | WorkerRequest<WorkerRequestType.GLOB_FILE_INFOS, string> | WorkerRequest<WorkerRequestType.INSERT_ARROW_FROM_IPC_STREAM, [
|
|
92
|
+
number,
|
|
93
|
+
Uint8Array,
|
|
94
|
+
ArrowInsertOptions | undefined
|
|
95
|
+
]> | WorkerRequest<WorkerRequestType.INSERT_CSV_FROM_PATH, [number, string, CSVInsertOptions]> | WorkerRequest<WorkerRequestType.INSERT_JSON_FROM_PATH, [number, string, JSONInsertOptions]> | WorkerRequest<WorkerRequestType.INSTANTIATE, [string, string | null]> | WorkerRequest<WorkerRequestType.OPEN, DuckDBConfig> | WorkerRequest<WorkerRequestType.PING, null> | WorkerRequest<WorkerRequestType.POLL_PENDING_QUERY, number> | WorkerRequest<WorkerRequestType.REGISTER_FILE_BUFFER, [string, Uint8Array]> | WorkerRequest<WorkerRequestType.REGISTER_FILE_HANDLE, [string, any, DuckDBDataProtocol, boolean]> | WorkerRequest<WorkerRequestType.REGISTER_FILE_URL, [string, string, DuckDBDataProtocol, boolean]> | WorkerRequest<WorkerRequestType.RESET, null> | WorkerRequest<WorkerRequestType.RUN_PREPARED, [number, number, any[]]> | WorkerRequest<WorkerRequestType.RUN_QUERY, [number, string]> | WorkerRequest<WorkerRequestType.SEND_PREPARED, [number, number, any[]]> | WorkerRequest<WorkerRequestType.START_PENDING_QUERY, [number, string, boolean]> | WorkerRequest<WorkerRequestType.TOKENIZE, string>;
|
|
96
|
+
export type WorkerResponseVariant = WorkerResponse<WorkerResponseType.CONNECTION_INFO, number> | WorkerResponse<WorkerResponseType.ERROR, any> | WorkerResponse<WorkerResponseType.FEATURE_FLAGS, number> | WorkerResponse<WorkerResponseType.FILE_BUFFER, Uint8Array> | WorkerResponse<WorkerResponseType.FILE_INFOS, WebFile[]> | WorkerResponse<WorkerResponseType.FILE_SIZE, number> | WorkerResponse<WorkerResponseType.FILE_STATISTICS, FileStatistics> | WorkerResponse<WorkerResponseType.INSTANTIATE_PROGRESS, InstantiationProgress> | WorkerResponse<WorkerResponseType.LOG, LogEntryVariant> | WorkerResponse<WorkerResponseType.PROGRESS_UPDATE, ProgressEntry> | WorkerResponse<WorkerResponseType.OK, null> | WorkerResponse<WorkerResponseType.PREPARED_STATEMENT_ID, number> | WorkerResponse<WorkerResponseType.QUERY_PLAN, Uint8Array> | WorkerResponse<WorkerResponseType.QUERY_RESULT, Uint8Array> | WorkerResponse<WorkerResponseType.QUERY_RESULT_CHUNK, Uint8Array | null> | WorkerResponse<WorkerResponseType.QUERY_RESULT_HEADER, Uint8Array> | WorkerResponse<WorkerResponseType.QUERY_RESULT_HEADER_OR_NULL, Uint8Array | null> | WorkerResponse<WorkerResponseType.SCRIPT_TOKENS, ScriptTokens> | WorkerResponse<WorkerResponseType.SUCCESS, boolean> | WorkerResponse<WorkerResponseType.TABLE_NAMES, string[]> | WorkerResponse<WorkerResponseType.VERSION_STRING, string>;
|
|
97
|
+
export type WorkerTaskVariant = WorkerTask<WorkerRequestType.COLLECT_FILE_STATISTICS, [string, boolean], null> | WorkerTask<WorkerRequestType.REGISTER_OPFS_FILE_NAME, [string], null> | WorkerTask<WorkerRequestType.CLOSE_PREPARED, [number, number], null> | WorkerTask<WorkerRequestType.CONNECT, null, ConnectionID> | WorkerTask<WorkerRequestType.COPY_FILE_TO_BUFFER, string, Uint8Array> | WorkerTask<WorkerRequestType.COPY_FILE_TO_PATH, [string, string], null> | WorkerTask<WorkerRequestType.CREATE_PREPARED, [number, string], number> | WorkerTask<WorkerRequestType.DISCONNECT, ConnectionID, null> | WorkerTask<WorkerRequestType.DROP_FILE, string, null> | WorkerTask<WorkerRequestType.DROP_FILES, string[] | undefined, null> | WorkerTask<WorkerRequestType.EXPORT_FILE_STATISTICS, string, FileStatistics> | WorkerTask<WorkerRequestType.FETCH_QUERY_RESULTS, ConnectionID, Uint8Array | null> | WorkerTask<WorkerRequestType.FLUSH_FILES, null, null> | WorkerTask<WorkerRequestType.GET_FEATURE_FLAGS, null, number> | WorkerTask<WorkerRequestType.GET_TABLE_NAMES, [number, string], string[]> | WorkerTask<WorkerRequestType.GET_VERSION, null, string> | WorkerTask<WorkerRequestType.INSERT_ARROW_FROM_IPC_STREAM, [
|
|
98
|
+
number,
|
|
99
|
+
Uint8Array,
|
|
100
|
+
ArrowInsertOptions | undefined
|
|
101
|
+
], null> | WorkerTask<WorkerRequestType.INSERT_CSV_FROM_PATH, [number, string, CSVInsertOptions], null> | WorkerTask<WorkerRequestType.INSERT_JSON_FROM_PATH, [number, string, JSONInsertOptions], null> | WorkerTask<WorkerRequestType.INSTANTIATE, [string, string | null], null> | WorkerTask<WorkerRequestType.OPEN, DuckDBConfig, null> | WorkerTask<WorkerRequestType.PING, null, null> | WorkerTask<WorkerRequestType.REGISTER_FILE_BUFFER, [string, Uint8Array], null> | WorkerTask<WorkerRequestType.REGISTER_FILE_HANDLE, [string, any, DuckDBDataProtocol, boolean], null> | WorkerTask<WorkerRequestType.REGISTER_FILE_URL, [string, string, DuckDBDataProtocol, boolean], null> | WorkerTask<WorkerRequestType.GLOB_FILE_INFOS, string, WebFile[]> | WorkerTask<WorkerRequestType.RESET, null, null> | WorkerTask<WorkerRequestType.RUN_PREPARED, [number, number, any[]], Uint8Array> | WorkerTask<WorkerRequestType.RUN_QUERY, [ConnectionID, string], Uint8Array> | WorkerTask<WorkerRequestType.SEND_PREPARED, [number, number, any[]], Uint8Array> | WorkerTask<WorkerRequestType.START_PENDING_QUERY, [ConnectionID, string, boolean], Uint8Array | null> | WorkerTask<WorkerRequestType.POLL_PENDING_QUERY, ConnectionID, Uint8Array | null> | WorkerTask<WorkerRequestType.CANCEL_PENDING_QUERY, ConnectionID, boolean> | WorkerTask<WorkerRequestType.TOKENIZE, string, ScriptTokens>;
|