@qualithm/arrow-flight-sql-js 0.1.1 → 0.3.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 +94 -7
- package/dist/client.d.ts +6 -9
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +157 -206
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +20 -14
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -9
- package/dist/index.js.map +1 -1
- package/dist/pool.d.ts +3 -3
- package/dist/pool.js +3 -3
- package/dist/proto.d.ts +10 -0
- package/dist/proto.d.ts.map +1 -1
- package/dist/proto.js +15 -0
- package/dist/proto.js.map +1 -1
- package/dist/retry.d.ts +1 -1
- package/dist/runtime.d.ts +82 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +227 -0
- package/dist/runtime.js.map +1 -0
- package/dist/transport-grpc-js.d.ts +58 -0
- package/dist/transport-grpc-js.d.ts.map +1 -0
- package/dist/transport-grpc-js.js +300 -0
- package/dist/transport-grpc-js.js.map +1 -0
- package/dist/transport-grpc-web.d.ts +66 -0
- package/dist/transport-grpc-web.d.ts.map +1 -0
- package/dist/transport-grpc-web.js +752 -0
- package/dist/transport-grpc-web.js.map +1 -0
- package/dist/transport.d.ts +223 -0
- package/dist/transport.d.ts.map +1 -0
- package/dist/transport.js +35 -0
- package/dist/transport.js.map +1 -0
- package/dist/types.d.ts +5 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +29 -3
package/README.md
CHANGED
|
@@ -494,13 +494,100 @@ type AuthConfig =
|
|
|
494
494
|
|
|
495
495
|
### Runtime Support
|
|
496
496
|
|
|
497
|
-
| Runtime | Status | Notes
|
|
498
|
-
| ------------------ | ------------ |
|
|
499
|
-
| Node.js 20+ | ✅ Supported |
|
|
500
|
-
| Bun | ✅ Supported | Development runtime
|
|
501
|
-
| Deno |
|
|
502
|
-
|
|
|
503
|
-
|
|
|
497
|
+
| Runtime | Status | Transport | Notes |
|
|
498
|
+
| ------------------ | ------------ | --------- | ----------------------- |
|
|
499
|
+
| Node.js 20+ | ✅ Supported | gRPC-JS | Full feature support |
|
|
500
|
+
| Bun | ✅ Supported | gRPC-JS | Development runtime |
|
|
501
|
+
| Deno | ✅ Supported | gRPC-Web | Requires gRPC-web proxy |
|
|
502
|
+
| Browser | ✅ Supported | gRPC-Web | Requires gRPC-web proxy |
|
|
503
|
+
| Cloudflare Workers | ✅ Supported | gRPC-Web | Requires gRPC-web proxy |
|
|
504
|
+
|
|
505
|
+
### Browser & Deno Usage
|
|
506
|
+
|
|
507
|
+
Browser and Deno environments use the gRPC-Web transport, which requires a gRPC-Web proxy (like
|
|
508
|
+
[Envoy](https://www.envoyproxy.io/)) in front of your Flight SQL server.
|
|
509
|
+
|
|
510
|
+
```typescript
|
|
511
|
+
// Browser or Deno
|
|
512
|
+
import { FlightSqlClient, createGrpcWebTransport } from "@qualithm/arrow-flight-sql-js"
|
|
513
|
+
|
|
514
|
+
// Create a gRPC-Web transport explicitly
|
|
515
|
+
const transport = createGrpcWebTransport({
|
|
516
|
+
host: "your-grpc-web-proxy.example.com",
|
|
517
|
+
port: 8080,
|
|
518
|
+
tls: true
|
|
519
|
+
})
|
|
520
|
+
|
|
521
|
+
// Create client with custom transport
|
|
522
|
+
const client = new FlightSqlClient({
|
|
523
|
+
host: "your-grpc-web-proxy.example.com",
|
|
524
|
+
port: 8080,
|
|
525
|
+
tls: true,
|
|
526
|
+
transport
|
|
527
|
+
})
|
|
528
|
+
|
|
529
|
+
await client.connect()
|
|
530
|
+
const result = await client.query("SELECT * FROM my_table")
|
|
531
|
+
```
|
|
532
|
+
|
|
533
|
+
**gRPC-Web Limitations:**
|
|
534
|
+
|
|
535
|
+
- Client streaming (`DoPut`) is not supported
|
|
536
|
+
- Bidirectional streaming (`DoExchange`, `Handshake`) is not supported
|
|
537
|
+
- Use bearer token auth via `setAuthToken()` instead of `Handshake`
|
|
538
|
+
|
|
539
|
+
**Envoy gRPC-Web Proxy Example:**
|
|
540
|
+
|
|
541
|
+
```yaml
|
|
542
|
+
# envoy.yaml
|
|
543
|
+
static_resources:
|
|
544
|
+
listeners:
|
|
545
|
+
- address:
|
|
546
|
+
socket_address:
|
|
547
|
+
address: 0.0.0.0
|
|
548
|
+
port_value: 8080
|
|
549
|
+
filter_chains:
|
|
550
|
+
- filters:
|
|
551
|
+
- name: envoy.filters.network.http_connection_manager
|
|
552
|
+
typed_config:
|
|
553
|
+
"@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
|
|
554
|
+
codec_type: AUTO
|
|
555
|
+
stat_prefix: ingress_http
|
|
556
|
+
route_config:
|
|
557
|
+
name: local_route
|
|
558
|
+
virtual_hosts:
|
|
559
|
+
- name: backend
|
|
560
|
+
domains: ["*"]
|
|
561
|
+
routes:
|
|
562
|
+
- match: { prefix: "/" }
|
|
563
|
+
route:
|
|
564
|
+
cluster: flight_sql_backend
|
|
565
|
+
cors:
|
|
566
|
+
allow_origin_string_match:
|
|
567
|
+
- prefix: "*"
|
|
568
|
+
allow_methods: "GET, PUT, DELETE, POST, OPTIONS"
|
|
569
|
+
allow_headers: "content-type,x-grpc-web,x-user-agent"
|
|
570
|
+
expose_headers: "grpc-status,grpc-message"
|
|
571
|
+
http_filters:
|
|
572
|
+
- name: envoy.filters.http.grpc_web
|
|
573
|
+
- name: envoy.filters.http.cors
|
|
574
|
+
- name: envoy.filters.http.router
|
|
575
|
+
clusters:
|
|
576
|
+
- name: flight_sql_backend
|
|
577
|
+
connect_timeout: 0.25s
|
|
578
|
+
type: LOGICAL_DNS
|
|
579
|
+
http2_protocol_options: {}
|
|
580
|
+
lb_policy: ROUND_ROBIN
|
|
581
|
+
load_assignment:
|
|
582
|
+
cluster_name: flight_sql_backend
|
|
583
|
+
endpoints:
|
|
584
|
+
- lb_endpoints:
|
|
585
|
+
- endpoint:
|
|
586
|
+
address:
|
|
587
|
+
socket_address:
|
|
588
|
+
address: your-flight-sql-server
|
|
589
|
+
port_value: 50051
|
|
590
|
+
```
|
|
504
591
|
|
|
505
592
|
### Flight SQL Servers
|
|
506
593
|
|
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 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";
|
|
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.js";
|
|
9
9
|
/**
|
|
10
10
|
* Flight SQL client for executing queries and managing data with Arrow Flight SQL servers.
|
|
11
11
|
*
|
|
@@ -30,8 +30,7 @@ import { type Action, type ActionResult, type ActionType, type CatalogInfo, type
|
|
|
30
30
|
*/
|
|
31
31
|
export declare class FlightSqlClient {
|
|
32
32
|
private readonly options;
|
|
33
|
-
private
|
|
34
|
-
private flightService;
|
|
33
|
+
private transport;
|
|
35
34
|
private authToken;
|
|
36
35
|
private connected;
|
|
37
36
|
constructor(options: FlightSqlClientOptions);
|
|
@@ -357,17 +356,15 @@ export declare class FlightSqlClient {
|
|
|
357
356
|
private authenticate;
|
|
358
357
|
private handshake;
|
|
359
358
|
private encodeBasicAuth;
|
|
360
|
-
private createCredentials;
|
|
361
|
-
private waitForReady;
|
|
362
359
|
private createRequestMetadata;
|
|
363
360
|
private cleanup;
|
|
364
361
|
private ensureConnected;
|
|
365
|
-
private wrapGrpcError;
|
|
366
362
|
/**
|
|
367
|
-
*
|
|
368
|
-
*
|
|
363
|
+
* Get the transport, throwing if not connected.
|
|
364
|
+
* This is a helper to avoid non-null assertions after ensureConnected().
|
|
369
365
|
*/
|
|
370
|
-
private
|
|
366
|
+
private getConnectedTransport;
|
|
367
|
+
private wrapTransportError;
|
|
371
368
|
private serializeFlightDescriptor;
|
|
372
369
|
private parseFlightInfo;
|
|
373
370
|
private parseSchemaResult;
|
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;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|