@qualithm/arrow-flight-sql-js 0.0.1 → 0.1.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/README.md +80 -0
- package/dist/arrow.js +1 -1
- package/dist/arrow.js.map +1 -1
- package/dist/client.d.ts +165 -4
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +486 -46
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +6 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/metrics.d.ts +20 -16
- package/dist/metrics.d.ts.map +1 -1
- package/dist/metrics.js +12 -7
- package/dist/metrics.js.map +1 -1
- package/dist/pool.d.ts +1 -1
- package/dist/pool.d.ts.map +1 -1
- package/dist/pool.js +1 -1
- package/dist/pool.js.map +1 -1
- package/dist/proto.d.ts +2 -2
- package/dist/proto.d.ts.map +1 -1
- package/dist/proto.js +1 -1
- package/dist/proto.js.map +1 -1
- package/dist/query-builder.d.ts +362 -0
- package/dist/query-builder.d.ts.map +1 -1
- package/dist/query-builder.js +732 -2
- package/dist/query-builder.js.map +1 -1
- package/dist/retry.d.ts +2 -2
- package/dist/retry.d.ts.map +1 -1
- package/dist/retry.js +3 -3
- package/dist/retry.js.map +1 -1
- package/dist/types.d.ts +137 -58
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +25 -0
- package/dist/types.js.map +1 -1
- package/package.json +3 -2
- package/proto/Flight.proto +0 -645
- package/proto/FlightSql.proto +0 -1925
package/README.md
CHANGED
|
@@ -101,6 +101,86 @@ const results = await pool.withClient(async (client) => {
|
|
|
101
101
|
await pool.close()
|
|
102
102
|
```
|
|
103
103
|
|
|
104
|
+
## Real-Time Subscriptions
|
|
105
|
+
|
|
106
|
+
Subscribe to live data updates using the `DoExchange` bidirectional streaming protocol:
|
|
107
|
+
|
|
108
|
+
```typescript
|
|
109
|
+
import { FlightSqlClient, SubscriptionMode } from "@qualithm/arrow-flight-sql-js"
|
|
110
|
+
|
|
111
|
+
const client = new FlightSqlClient({
|
|
112
|
+
host: "localhost",
|
|
113
|
+
port: 31337,
|
|
114
|
+
tls: true,
|
|
115
|
+
token: "your-bearer-token"
|
|
116
|
+
})
|
|
117
|
+
|
|
118
|
+
await client.connect()
|
|
119
|
+
|
|
120
|
+
// Subscribe to real-time updates
|
|
121
|
+
const subscription = client.subscribe("SELECT * FROM events WHERE status = 'pending'", {
|
|
122
|
+
mode: SubscriptionMode.CHANGES_ONLY, // 'FULL' | 'CHANGES_ONLY' | 'TAIL'
|
|
123
|
+
heartbeatMs: 30_000 // Server heartbeat interval
|
|
124
|
+
})
|
|
125
|
+
|
|
126
|
+
// Consume batches as they arrive
|
|
127
|
+
for await (const batch of subscription) {
|
|
128
|
+
console.log(`Received ${batch.numRows} rows`)
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
// Or with cancellation
|
|
132
|
+
const controller = new AbortController()
|
|
133
|
+
const subscription = client.subscribe(query, {
|
|
134
|
+
signal: controller.signal,
|
|
135
|
+
autoReconnect: true,
|
|
136
|
+
maxReconnectAttempts: 10
|
|
137
|
+
})
|
|
138
|
+
|
|
139
|
+
// Later: cancel the subscription
|
|
140
|
+
controller.abort()
|
|
141
|
+
|
|
142
|
+
// Or manually unsubscribe
|
|
143
|
+
await subscription.unsubscribe()
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### Subscription Options
|
|
147
|
+
|
|
148
|
+
| Option | Default | Description |
|
|
149
|
+
| ---------------------- | -------------- | -------------------------------------------------- |
|
|
150
|
+
| `mode` | `CHANGES_ONLY` | Subscription mode (FULL, CHANGES_ONLY, TAIL) |
|
|
151
|
+
| `heartbeatMs` | `30000` | Server heartbeat interval in milliseconds |
|
|
152
|
+
| `signal` | - | AbortSignal for cancellation |
|
|
153
|
+
| `autoReconnect` | `true` | Auto-reconnect on connection loss |
|
|
154
|
+
| `maxReconnectAttempts` | `10` | Maximum reconnection attempts |
|
|
155
|
+
| `reconnectDelayMs` | `1000` | Initial reconnect delay |
|
|
156
|
+
| `maxReconnectDelayMs` | `30000` | Maximum reconnect delay (with exponential backoff) |
|
|
157
|
+
|
|
158
|
+
### Low-Level DoExchange
|
|
159
|
+
|
|
160
|
+
For custom bidirectional protocols:
|
|
161
|
+
|
|
162
|
+
```typescript
|
|
163
|
+
const exchange = client.doExchange({
|
|
164
|
+
type: DescriptorType.CMD,
|
|
165
|
+
cmd: new TextEncoder().encode("CUSTOM_COMMAND")
|
|
166
|
+
})
|
|
167
|
+
|
|
168
|
+
// Send data to server
|
|
169
|
+
await exchange.send({
|
|
170
|
+
dataHeader: new Uint8Array(),
|
|
171
|
+
dataBody: new Uint8Array(),
|
|
172
|
+
appMetadata: new TextEncoder().encode(JSON.stringify({ action: "subscribe" }))
|
|
173
|
+
})
|
|
174
|
+
|
|
175
|
+
// Receive data from server
|
|
176
|
+
for await (const data of exchange) {
|
|
177
|
+
console.log("Received:", data)
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
// Half-close (signal end of client stream)
|
|
181
|
+
await exchange.end()
|
|
182
|
+
```
|
|
183
|
+
|
|
104
184
|
## Observability & Metrics
|
|
105
185
|
|
|
106
186
|
Integrate with your observability stack using the metrics handler interface:
|
package/dist/arrow.js
CHANGED
|
@@ -118,7 +118,7 @@ function serializeSchemaMessage(schema) {
|
|
|
118
118
|
// Read the first message (schema)
|
|
119
119
|
const reader = new MessageReader(ipcBytes);
|
|
120
120
|
const msg = reader.readMessage();
|
|
121
|
-
if (msg
|
|
121
|
+
if (msg?.headerType === MessageHeader.Schema) {
|
|
122
122
|
// Return the schema portion
|
|
123
123
|
// The reader consumes: continuation(4) + length(4) + header + padding
|
|
124
124
|
const metadataLength = new DataView(ipcBytes.buffer, 4, 4).getInt32(0, true);
|
package/dist/arrow.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arrow.js","sourceRoot":"","sources":["../src/arrow.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"arrow.js","sourceRoot":"","sources":["../src/arrow.ts"],"names":[],"mappings":"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"}
|
package/dist/client.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Modeled after the official Arrow Flight SQL clients (Java, C++, Go).
|
|
6
6
|
*/
|
|
7
7
|
import { type RecordBatch, type Schema, type Table } from "apache-arrow";
|
|
8
|
-
import type
|
|
8
|
+
import { type Action, type ActionResult, type ActionType, type CatalogInfo, type ExecuteOptions, type FlightData, type FlightDescriptor, type FlightInfo, type FlightSqlClientOptions, type ForeignKeyInfo, type PrimaryKeyInfo, type SchemaInfo, type SchemaResult, type SubscribeOptions, type TableInfo, type TableType, type Ticket } from "./types";
|
|
9
9
|
/**
|
|
10
10
|
* Flight SQL client for executing queries and managing data with Arrow Flight SQL servers.
|
|
11
11
|
*
|
|
@@ -228,6 +228,10 @@ export declare class FlightSqlClient {
|
|
|
228
228
|
* Helper to fetch catalog results and map rows to typed objects
|
|
229
229
|
*/
|
|
230
230
|
private fetchCatalogResults;
|
|
231
|
+
/**
|
|
232
|
+
* Helper to extract rows from a batch and map them
|
|
233
|
+
*/
|
|
234
|
+
private extractRowsFromBatch;
|
|
231
235
|
/**
|
|
232
236
|
* Helper to fetch foreign key results with the complex schema
|
|
233
237
|
*/
|
|
@@ -270,6 +274,69 @@ export declare class FlightSqlClient {
|
|
|
270
274
|
}>): AsyncGenerator<{
|
|
271
275
|
appMetadata?: Uint8Array;
|
|
272
276
|
}, void, unknown>;
|
|
277
|
+
/**
|
|
278
|
+
* Open a bidirectional data exchange with the server.
|
|
279
|
+
*
|
|
280
|
+
* This is the low-level API for DoExchange. For real-time subscriptions,
|
|
281
|
+
* use the higher-level `subscribe()` method instead.
|
|
282
|
+
*
|
|
283
|
+
* @param descriptor - Flight descriptor for the exchange
|
|
284
|
+
* @returns An exchange handle for sending and receiving FlightData
|
|
285
|
+
*
|
|
286
|
+
* @example
|
|
287
|
+
* ```typescript
|
|
288
|
+
* const exchange = client.doExchange({
|
|
289
|
+
* type: DescriptorType.CMD,
|
|
290
|
+
* cmd: new TextEncoder().encode('SUBSCRIBE:my_topic')
|
|
291
|
+
* })
|
|
292
|
+
*
|
|
293
|
+
* // Send initial request
|
|
294
|
+
* await exchange.send({ appMetadata: subscribeCommand })
|
|
295
|
+
*
|
|
296
|
+
* // Receive responses
|
|
297
|
+
* for await (const data of exchange) {
|
|
298
|
+
* if (data.dataHeader) {
|
|
299
|
+
* // Process record batch
|
|
300
|
+
* }
|
|
301
|
+
* }
|
|
302
|
+
*
|
|
303
|
+
* // Clean up
|
|
304
|
+
* await exchange.end()
|
|
305
|
+
* ```
|
|
306
|
+
*/
|
|
307
|
+
doExchange(descriptor: FlightDescriptor): ExchangeStream;
|
|
308
|
+
/**
|
|
309
|
+
* Subscribe to real-time data updates from a query.
|
|
310
|
+
*
|
|
311
|
+
* Returns a Subscription that yields RecordBatches as they arrive from the server.
|
|
312
|
+
* Automatically handles heartbeats and can reconnect on connection loss.
|
|
313
|
+
*
|
|
314
|
+
* @param query - SQL query to subscribe to
|
|
315
|
+
* @param options - Subscription options
|
|
316
|
+
* @returns Subscription handle for receiving batches and control
|
|
317
|
+
*
|
|
318
|
+
* @example
|
|
319
|
+
* ```typescript
|
|
320
|
+
* const subscription = await client.subscribe(
|
|
321
|
+
* "SELECT * FROM events WHERE status = 'pending'",
|
|
322
|
+
* { mode: 'CHANGES_ONLY', heartbeatMs: 30000 }
|
|
323
|
+
* )
|
|
324
|
+
*
|
|
325
|
+
* for await (const batch of subscription) {
|
|
326
|
+
* console.log(`Received ${batch.numRows} rows`)
|
|
327
|
+
* }
|
|
328
|
+
*
|
|
329
|
+
* // Or with AbortController
|
|
330
|
+
* const controller = new AbortController()
|
|
331
|
+
* const subscription = await client.subscribe(query, {
|
|
332
|
+
* signal: controller.signal
|
|
333
|
+
* })
|
|
334
|
+
*
|
|
335
|
+
* // Later: cancel the subscription
|
|
336
|
+
* controller.abort()
|
|
337
|
+
* ```
|
|
338
|
+
*/
|
|
339
|
+
subscribe(query: string, options?: SubscribeOptions): Subscription;
|
|
273
340
|
/**
|
|
274
341
|
* Helper to get the first item from an async iterable without consuming the rest
|
|
275
342
|
*/
|
|
@@ -387,9 +454,9 @@ export declare class QueryResult {
|
|
|
387
454
|
*/
|
|
388
455
|
export declare class PreparedStatement {
|
|
389
456
|
private readonly client;
|
|
390
|
-
private handle;
|
|
391
|
-
private datasetSchema;
|
|
392
|
-
private parameterSchema;
|
|
457
|
+
private readonly handle;
|
|
458
|
+
private readonly datasetSchema;
|
|
459
|
+
private readonly parameterSchema;
|
|
393
460
|
private closed;
|
|
394
461
|
constructor(client: FlightSqlClient, handle: Uint8Array, datasetSchema: Schema | null, parameterSchema: Schema | null);
|
|
395
462
|
/**
|
|
@@ -413,4 +480,98 @@ export declare class PreparedStatement {
|
|
|
413
480
|
*/
|
|
414
481
|
close(): Promise<void>;
|
|
415
482
|
}
|
|
483
|
+
/**
|
|
484
|
+
* Handle for a bidirectional DoExchange stream.
|
|
485
|
+
*
|
|
486
|
+
* Allows sending and receiving FlightData messages over a single connection.
|
|
487
|
+
*/
|
|
488
|
+
export type ExchangeStream = {
|
|
489
|
+
/**
|
|
490
|
+
* Send a FlightData message to the server
|
|
491
|
+
*/
|
|
492
|
+
send: (data: FlightData) => Promise<void>;
|
|
493
|
+
/**
|
|
494
|
+
* Signal the end of client-side writes (half-close)
|
|
495
|
+
*/
|
|
496
|
+
end: () => Promise<void>;
|
|
497
|
+
/**
|
|
498
|
+
* Cancel the stream immediately
|
|
499
|
+
*/
|
|
500
|
+
cancel: () => void;
|
|
501
|
+
} & AsyncIterable<FlightData>;
|
|
502
|
+
/**
|
|
503
|
+
* Real-time subscription to query results via DoExchange.
|
|
504
|
+
*
|
|
505
|
+
* Yields RecordBatches as they arrive from the server. Handles heartbeats
|
|
506
|
+
* automatically and can reconnect on transient connection failures.
|
|
507
|
+
*
|
|
508
|
+
* @example
|
|
509
|
+
* ```typescript
|
|
510
|
+
* const subscription = client.subscribe("SELECT * FROM events")
|
|
511
|
+
*
|
|
512
|
+
* for await (const batch of subscription) {
|
|
513
|
+
* console.log(`Received ${batch.numRows} rows`)
|
|
514
|
+
* }
|
|
515
|
+
*
|
|
516
|
+
* await subscription.unsubscribe()
|
|
517
|
+
* ```
|
|
518
|
+
*/
|
|
519
|
+
export declare class Subscription implements AsyncIterable<RecordBatch> {
|
|
520
|
+
private readonly client;
|
|
521
|
+
private readonly query;
|
|
522
|
+
private readonly options;
|
|
523
|
+
private exchange;
|
|
524
|
+
private subscriptionId;
|
|
525
|
+
private connectedState;
|
|
526
|
+
private batchesReceivedCount;
|
|
527
|
+
private reconnectAttempts;
|
|
528
|
+
private abortedFlag;
|
|
529
|
+
private lastHeartbeat;
|
|
530
|
+
private iterating;
|
|
531
|
+
/** Check aborted state - method prevents ESLint from static flow analysis across async boundaries */
|
|
532
|
+
private isAborted;
|
|
533
|
+
constructor(client: FlightSqlClient, query: string, options?: SubscribeOptions);
|
|
534
|
+
/**
|
|
535
|
+
* Unique ID for this subscription (assigned by server after connect)
|
|
536
|
+
*/
|
|
537
|
+
get id(): string;
|
|
538
|
+
/**
|
|
539
|
+
* Whether the subscription is currently connected
|
|
540
|
+
*/
|
|
541
|
+
get connected(): boolean;
|
|
542
|
+
/**
|
|
543
|
+
* Number of batches received
|
|
544
|
+
*/
|
|
545
|
+
get batchesReceived(): number;
|
|
546
|
+
/**
|
|
547
|
+
* Number of reconnection attempts
|
|
548
|
+
*/
|
|
549
|
+
get reconnectCount(): number;
|
|
550
|
+
/**
|
|
551
|
+
* Timestamp of the last heartbeat received from the server
|
|
552
|
+
*/
|
|
553
|
+
get lastHeartbeatTime(): number;
|
|
554
|
+
/**
|
|
555
|
+
* Time in milliseconds since the last heartbeat
|
|
556
|
+
*/
|
|
557
|
+
get timeSinceLastHeartbeat(): number;
|
|
558
|
+
/**
|
|
559
|
+
* Start the subscription and iterate over incoming batches
|
|
560
|
+
*/
|
|
561
|
+
[Symbol.asyncIterator](): AsyncGenerator<RecordBatch, void, unknown>;
|
|
562
|
+
/**
|
|
563
|
+
* Unsubscribe and close the connection
|
|
564
|
+
*/
|
|
565
|
+
unsubscribe(): Promise<void>;
|
|
566
|
+
private streamBatches;
|
|
567
|
+
private initConnection;
|
|
568
|
+
private reconnect;
|
|
569
|
+
private cleanup;
|
|
570
|
+
private encodeSubscribeCommand;
|
|
571
|
+
private encodeMetadata;
|
|
572
|
+
private parseMetadata;
|
|
573
|
+
private parseFlightDataToBatches;
|
|
574
|
+
private frameAsIPC;
|
|
575
|
+
private sleep;
|
|
576
|
+
}
|
|
416
577
|
//# sourceMappingURL=client.d.ts.map
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,KAAK,WAAW,EAAqB,KAAK,MAAM,EAAE,KAAK,KAAK,EAAE,MAAM,cAAc,CAAA;AAqB3F,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|