@qualithm/arrow-flight-sql-js 1.3.0 → 1.5.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/dist/client.js CHANGED
@@ -3,8 +3,9 @@
3
3
  *
4
4
  * @packageDocumentation
5
5
  */
6
- import { cmdDescriptor, FlightClient, FlightError } from "@qualithm/arrow-flight-js";
7
- import { ActionClosePreparedStatementRequest, ActionCreatePreparedStatementRequest, ActionCreatePreparedStatementResult, CommandPreparedStatementQuery, CommandPreparedStatementUpdate, CommandStatementQuery, CommandStatementUpdate, DoPutPreparedStatementResult, DoPutUpdateResult } from "./generated/arrow/flight/protocol/sql/FlightSql.js";
6
+ import { cmdDescriptor, FlightClient } from "@qualithm/arrow-flight-js";
7
+ import { FlightSqlError, validateHandle, validateParameterData, validateQuery, validateTransactionId } from "./errors.js";
8
+ import { ActionBeginTransactionRequest, ActionBeginTransactionResult, ActionClosePreparedStatementRequest, ActionCreatePreparedStatementRequest, ActionCreatePreparedStatementResult, ActionEndTransactionRequest, ActionEndTransactionRequest_EndTransaction, CommandGetCatalogs, CommandGetDbSchemas, CommandGetExportedKeys, CommandGetImportedKeys, CommandGetPrimaryKeys, CommandGetSqlInfo, CommandGetTables, CommandGetTableTypes, CommandGetXdbcTypeInfo, CommandPreparedStatementQuery, CommandPreparedStatementUpdate, CommandStatementQuery, CommandStatementUpdate, DoPutPreparedStatementResult, DoPutUpdateResult } from "./generated/arrow/flight/protocol/sql/FlightSql.js";
8
9
  /**
9
10
  * Flight SQL type URL prefix for encoding commands in Any messages.
10
11
  */
@@ -14,6 +15,8 @@ const TYPE_URL_PREFIX = "type.googleapis.com/arrow.flight.protocol.sql";
14
15
  */
15
16
  const ACTION_CREATE_PREPARED_STATEMENT = "CreatePreparedStatement";
16
17
  const ACTION_CLOSE_PREPARED_STATEMENT = "ClosePreparedStatement";
18
+ const ACTION_BEGIN_TRANSACTION = "BeginTransaction";
19
+ const ACTION_END_TRANSACTION = "EndTransaction";
17
20
  /**
18
21
  * Encodes a Flight SQL command as a descriptor command buffer.
19
22
  *
@@ -183,6 +186,7 @@ export class FlightSqlClient extends FlightClient {
183
186
  * ```
184
187
  */
185
188
  async query(query, options) {
189
+ validateQuery(query);
186
190
  const command = {
187
191
  query,
188
192
  transactionId: options?.transactionId
@@ -222,6 +226,7 @@ export class FlightSqlClient extends FlightClient {
222
226
  * ```
223
227
  */
224
228
  async executePreparedQuery(handle, options) {
229
+ validateHandle(handle, "prepared statement handle");
225
230
  const command = {
226
231
  preparedStatementHandle: handle
227
232
  };
@@ -252,6 +257,7 @@ export class FlightSqlClient extends FlightClient {
252
257
  * ```
253
258
  */
254
259
  async executePreparedUpdate(handle, options) {
260
+ validateHandle(handle, "prepared statement handle");
255
261
  const command = {
256
262
  preparedStatementHandle: handle
257
263
  };
@@ -274,12 +280,16 @@ export class FlightSqlClient extends FlightClient {
274
280
  const results = await stream.collectResults();
275
281
  const firstResult = results.at(0);
276
282
  if (!firstResult) {
277
- throw new FlightError("no result returned from prepared update", "INTERNAL");
283
+ throw new FlightSqlError("no result returned from prepared update", "RESULT_ERROR", {
284
+ flightCode: "INTERNAL"
285
+ });
278
286
  }
279
287
  // Decode the DoPutUpdateResult from appMetadata
280
288
  const { appMetadata } = firstResult;
281
289
  if (appMetadata.length === 0) {
282
- throw new FlightError("prepared update result missing app metadata", "INTERNAL");
290
+ throw new FlightSqlError("prepared update result missing app metadata", "RESULT_ERROR", {
291
+ flightCode: "INTERNAL"
292
+ });
283
293
  }
284
294
  const updateResult = DoPutUpdateResult.decode(appMetadata);
285
295
  return {
@@ -303,6 +313,7 @@ export class FlightSqlClient extends FlightClient {
303
313
  * ```
304
314
  */
305
315
  async executeUpdate(query, options) {
316
+ validateQuery(query);
306
317
  const command = {
307
318
  query,
308
319
  transactionId: options?.transactionId
@@ -326,12 +337,16 @@ export class FlightSqlClient extends FlightClient {
326
337
  const results = await stream.collectResults();
327
338
  const firstResult = results.at(0);
328
339
  if (!firstResult) {
329
- throw new FlightError("no result returned from update", "INTERNAL");
340
+ throw new FlightSqlError("no result returned from update", "RESULT_ERROR", {
341
+ flightCode: "INTERNAL"
342
+ });
330
343
  }
331
344
  // Decode the DoPutUpdateResult from appMetadata
332
345
  const { appMetadata } = firstResult;
333
346
  if (appMetadata.length === 0) {
334
- throw new FlightError("update result missing app metadata", "INTERNAL");
347
+ throw new FlightSqlError("update result missing app metadata", "RESULT_ERROR", {
348
+ flightCode: "INTERNAL"
349
+ });
335
350
  }
336
351
  const updateResult = DoPutUpdateResult.decode(appMetadata);
337
352
  return {
@@ -364,6 +379,7 @@ export class FlightSqlClient extends FlightClient {
364
379
  * ```
365
380
  */
366
381
  async createPreparedStatement(query, options) {
382
+ validateQuery(query);
367
383
  const request = {
368
384
  query,
369
385
  transactionId: options?.transactionId
@@ -382,7 +398,9 @@ export class FlightSqlClient extends FlightClient {
382
398
  break;
383
399
  }
384
400
  if (!resultBody || resultBody.length === 0) {
385
- throw new FlightError("no result returned from create prepared statement", "INTERNAL");
401
+ throw new FlightSqlError("no result returned from create prepared statement", "RESULT_ERROR", {
402
+ flightCode: "INTERNAL"
403
+ });
386
404
  }
387
405
  // Unpack the Any message and decode the result
388
406
  const valueBytes = unpackAny(resultBody);
@@ -408,6 +426,7 @@ export class FlightSqlClient extends FlightClient {
408
426
  * ```
409
427
  */
410
428
  async closePreparedStatement(handle, options) {
429
+ validateHandle(handle, "prepared statement handle");
411
430
  const request = {
412
431
  preparedStatementHandle: handle
413
432
  };
@@ -462,6 +481,8 @@ export class FlightSqlClient extends FlightClient {
462
481
  * ```
463
482
  */
464
483
  async bindParameters(handle, parameters, options) {
484
+ validateHandle(handle, "prepared statement handle");
485
+ validateParameterData(parameters);
465
486
  const command = {
466
487
  preparedStatementHandle: handle
467
488
  };
@@ -499,6 +520,394 @@ export class FlightSqlClient extends FlightClient {
499
520
  : undefined
500
521
  };
501
522
  }
523
+ // ─────────────────────────────────────────────────────────────────────────────
524
+ // Metadata Queries
525
+ // ─────────────────────────────────────────────────────────────────────────────
526
+ /**
527
+ * Retrieves the list of catalogs (databases) available on the server.
528
+ *
529
+ * @param options - Optional call options
530
+ * @returns Flight information for retrieving catalog data
531
+ * @throws {FlightError} If the request fails
532
+ *
533
+ * @example
534
+ * ```ts
535
+ * const info = await client.getCatalogs()
536
+ * const table = await flightInfoToTable(client, info)
537
+ * for (const row of table) {
538
+ * console.log("Catalog:", row.catalog_name)
539
+ * }
540
+ * ```
541
+ */
542
+ async getCatalogs(options) {
543
+ const command = {};
544
+ const encoded = CommandGetCatalogs.encode(command).finish();
545
+ const descriptor = createCommandDescriptor("CommandGetCatalogs", encoded);
546
+ return this.getFlightInfo(descriptor, options);
547
+ }
548
+ /**
549
+ * Retrieves the list of database schemas.
550
+ *
551
+ * @param options - Optional filtering and call options
552
+ * @returns Flight information for retrieving schema data
553
+ * @throws {FlightError} If the request fails
554
+ *
555
+ * @example
556
+ * ```ts
557
+ * // Get all schemas
558
+ * const info = await client.getDbSchemas()
559
+ *
560
+ * // Get schemas in a specific catalog
561
+ * const info = await client.getDbSchemas({ catalog: "my_database" })
562
+ *
563
+ * // Get schemas matching a pattern
564
+ * const info = await client.getDbSchemas({ dbSchemaFilterPattern: "public%" })
565
+ * ```
566
+ */
567
+ async getDbSchemas(options) {
568
+ const command = {
569
+ catalog: options?.catalog,
570
+ dbSchemaFilterPattern: options?.dbSchemaFilterPattern
571
+ };
572
+ const encoded = CommandGetDbSchemas.encode(command).finish();
573
+ const descriptor = createCommandDescriptor("CommandGetDbSchemas", encoded);
574
+ return this.getFlightInfo(descriptor, options);
575
+ }
576
+ /**
577
+ * Retrieves the list of tables.
578
+ *
579
+ * @param options - Optional filtering and call options
580
+ * @returns Flight information for retrieving table data
581
+ * @throws {FlightError} If the request fails
582
+ *
583
+ * @example
584
+ * ```ts
585
+ * // Get all tables
586
+ * const info = await client.getTables()
587
+ *
588
+ * // Get tables with schema information
589
+ * const info = await client.getTables({ includeSchema: true })
590
+ *
591
+ * // Get only views
592
+ * const info = await client.getTables({ tableTypes: ["VIEW"] })
593
+ *
594
+ * // Get tables matching a pattern in a specific schema
595
+ * const info = await client.getTables({
596
+ * dbSchemaFilterPattern: "public",
597
+ * tableNameFilterPattern: "user%"
598
+ * })
599
+ * ```
600
+ */
601
+ async getTables(options) {
602
+ const command = {
603
+ catalog: options?.catalog,
604
+ dbSchemaFilterPattern: options?.dbSchemaFilterPattern,
605
+ tableNameFilterPattern: options?.tableNameFilterPattern,
606
+ tableTypes: options?.tableTypes ?? [],
607
+ includeSchema: options?.includeSchema ?? false
608
+ };
609
+ const encoded = CommandGetTables.encode(command).finish();
610
+ const descriptor = createCommandDescriptor("CommandGetTables", encoded);
611
+ return this.getFlightInfo(descriptor, options);
612
+ }
613
+ /**
614
+ * Retrieves the list of table types supported by the server.
615
+ *
616
+ * Common table types include TABLE, VIEW, and SYSTEM TABLE.
617
+ *
618
+ * @param options - Optional call options
619
+ * @returns Flight information for retrieving table type data
620
+ * @throws {FlightError} If the request fails
621
+ *
622
+ * @example
623
+ * ```ts
624
+ * const info = await client.getTableTypes()
625
+ * const table = await flightInfoToTable(client, info)
626
+ * for (const row of table) {
627
+ * console.log("Table type:", row.table_type)
628
+ * }
629
+ * ```
630
+ */
631
+ async getTableTypes(options) {
632
+ const command = {};
633
+ const encoded = CommandGetTableTypes.encode(command).finish();
634
+ const descriptor = createCommandDescriptor("CommandGetTableTypes", encoded);
635
+ return this.getFlightInfo(descriptor, options);
636
+ }
637
+ /**
638
+ * Retrieves the primary keys for a table.
639
+ *
640
+ * @param table - The table name to get primary keys for
641
+ * @param options - Optional filtering and call options
642
+ * @returns Flight information for retrieving primary key data
643
+ * @throws {FlightError} If the request fails
644
+ *
645
+ * @example
646
+ * ```ts
647
+ * const info = await client.getPrimaryKeys("users", {
648
+ * catalog: "my_database",
649
+ * dbSchema: "public"
650
+ * })
651
+ * const table = await flightInfoToTable(client, info)
652
+ * for (const row of table) {
653
+ * console.log("Primary key column:", row.column_name)
654
+ * }
655
+ * ```
656
+ */
657
+ async getPrimaryKeys(table, options) {
658
+ const command = {
659
+ table,
660
+ catalog: options?.catalog,
661
+ dbSchema: options?.dbSchema
662
+ };
663
+ const encoded = CommandGetPrimaryKeys.encode(command).finish();
664
+ const descriptor = createCommandDescriptor("CommandGetPrimaryKeys", encoded);
665
+ return this.getFlightInfo(descriptor, options);
666
+ }
667
+ /**
668
+ * Retrieves the exported keys (foreign keys that reference this table's primary key).
669
+ *
670
+ * @param table - The table name to get exported keys for
671
+ * @param options - Optional filtering and call options
672
+ * @returns Flight information for retrieving exported key data
673
+ * @throws {FlightError} If the request fails
674
+ *
675
+ * @example
676
+ * ```ts
677
+ * const info = await client.getExportedKeys("users")
678
+ * const table = await flightInfoToTable(client, info)
679
+ * for (const row of table) {
680
+ * console.log(`${row.fk_table_name}.${row.fk_column_name} -> ${row.pk_column_name}`)
681
+ * }
682
+ * ```
683
+ */
684
+ async getExportedKeys(table, options) {
685
+ const command = {
686
+ table,
687
+ catalog: options?.catalog,
688
+ dbSchema: options?.dbSchema
689
+ };
690
+ const encoded = CommandGetExportedKeys.encode(command).finish();
691
+ const descriptor = createCommandDescriptor("CommandGetExportedKeys", encoded);
692
+ return this.getFlightInfo(descriptor, options);
693
+ }
694
+ /**
695
+ * Retrieves the imported keys (foreign keys in this table that reference other tables).
696
+ *
697
+ * @param table - The table name to get imported keys for
698
+ * @param options - Optional filtering and call options
699
+ * @returns Flight information for retrieving imported key data
700
+ * @throws {FlightError} If the request fails
701
+ *
702
+ * @example
703
+ * ```ts
704
+ * const info = await client.getImportedKeys("orders")
705
+ * const table = await flightInfoToTable(client, info)
706
+ * for (const row of table) {
707
+ * console.log(`${row.fk_column_name} -> ${row.pk_table_name}.${row.pk_column_name}`)
708
+ * }
709
+ * ```
710
+ */
711
+ async getImportedKeys(table, options) {
712
+ const command = {
713
+ table,
714
+ catalog: options?.catalog,
715
+ dbSchema: options?.dbSchema
716
+ };
717
+ const encoded = CommandGetImportedKeys.encode(command).finish();
718
+ const descriptor = createCommandDescriptor("CommandGetImportedKeys", encoded);
719
+ return this.getFlightInfo(descriptor, options);
720
+ }
721
+ /**
722
+ * Retrieves SQL information about the server's capabilities.
723
+ *
724
+ * @param info - Array of SqlInfo codes to retrieve; if empty, returns all
725
+ * @param options - Optional call options
726
+ * @returns Flight information for retrieving SQL info data
727
+ * @throws {FlightError} If the request fails
728
+ *
729
+ * @example
730
+ * ```ts
731
+ * // Get all SQL info
732
+ * const info = await client.getSqlInfo()
733
+ *
734
+ * // Get specific info (use SqlInfo enum values)
735
+ * const info = await client.getSqlInfo([0, 1, 2]) // server name, version, arrow version
736
+ * ```
737
+ */
738
+ async getSqlInfo(info, options) {
739
+ const command = {
740
+ info: info ?? []
741
+ };
742
+ const encoded = CommandGetSqlInfo.encode(command).finish();
743
+ const descriptor = createCommandDescriptor("CommandGetSqlInfo", encoded);
744
+ return this.getFlightInfo(descriptor, options);
745
+ }
746
+ /**
747
+ * Retrieves information about data types supported by the server.
748
+ *
749
+ * @param options - Optional data type filter and call options
750
+ * @returns Flight information for retrieving type info data
751
+ * @throws {FlightError} If the request fails
752
+ *
753
+ * @example
754
+ * ```ts
755
+ * // Get all type info
756
+ * const info = await client.getXdbcTypeInfo()
757
+ *
758
+ * // Get info for a specific data type
759
+ * const info = await client.getXdbcTypeInfo({ dataType: 12 }) // VARCHAR
760
+ * ```
761
+ */
762
+ async getXdbcTypeInfo(options) {
763
+ const command = {
764
+ dataType: options?.dataType
765
+ };
766
+ const encoded = CommandGetXdbcTypeInfo.encode(command).finish();
767
+ const descriptor = createCommandDescriptor("CommandGetXdbcTypeInfo", encoded);
768
+ return this.getFlightInfo(descriptor, options);
769
+ }
770
+ /**
771
+ * Begins a new transaction.
772
+ *
773
+ * Returns a transaction ID that can be passed to query, update, and
774
+ * prepared statement operations to execute them within the transaction.
775
+ * Call `commit()` or `rollback()` to end the transaction.
776
+ *
777
+ * @param options - Optional call options
778
+ * @returns The transaction result containing the transaction ID
779
+ * @throws {FlightError} If the server does not support transactions or the request fails
780
+ *
781
+ * @example
782
+ * ```ts
783
+ * const txn = await client.beginTransaction()
784
+ *
785
+ * try {
786
+ * await client.executeUpdate(
787
+ * "INSERT INTO users (name) VALUES ('Alice')",
788
+ * { transactionId: txn.transactionId }
789
+ * )
790
+ * await client.executeUpdate(
791
+ * "UPDATE accounts SET balance = balance - 100 WHERE user = 'Alice'",
792
+ * { transactionId: txn.transactionId }
793
+ * )
794
+ * await client.commit(txn.transactionId)
795
+ * } catch (error) {
796
+ * await client.rollback(txn.transactionId)
797
+ * throw error
798
+ * }
799
+ * ```
800
+ */
801
+ async beginTransaction(options) {
802
+ const request = {};
803
+ const encoded = ActionBeginTransactionRequest.encode(request).finish();
804
+ const typeUrl = `${TYPE_URL_PREFIX}.ActionBeginTransactionRequest`;
805
+ const body = packAny(typeUrl, encoded);
806
+ const action = {
807
+ type: ACTION_BEGIN_TRANSACTION,
808
+ body
809
+ };
810
+ // Execute the action and collect the first result
811
+ let resultBody;
812
+ for await (const result of this.doAction(action, options)) {
813
+ resultBody = result.body;
814
+ break;
815
+ }
816
+ if (!resultBody || resultBody.length === 0) {
817
+ throw new FlightSqlError("no result returned from begin transaction", "TRANSACTION_ERROR", {
818
+ flightCode: "INTERNAL"
819
+ });
820
+ }
821
+ // Unpack the Any message and decode the result
822
+ const valueBytes = unpackAny(resultBody);
823
+ const txnResult = ActionBeginTransactionResult.decode(valueBytes);
824
+ return {
825
+ transactionId: Buffer.from(txnResult.transactionId)
826
+ };
827
+ }
828
+ /**
829
+ * Ends a transaction with the specified action.
830
+ *
831
+ * This is a lower-level method. Consider using `commit()` or `rollback()`
832
+ * for more readable code.
833
+ *
834
+ * @param transactionId - The transaction ID from beginTransaction
835
+ * @param action - Whether to commit or rollback the transaction
836
+ * @param options - Optional call options
837
+ * @throws {FlightError} If the request fails
838
+ */
839
+ async endTransaction(transactionId, action, options) {
840
+ validateTransactionId(transactionId);
841
+ const endAction = action === "commit"
842
+ ? ActionEndTransactionRequest_EndTransaction.END_TRANSACTION_COMMIT
843
+ : ActionEndTransactionRequest_EndTransaction.END_TRANSACTION_ROLLBACK;
844
+ const request = {
845
+ transactionId,
846
+ action: endAction
847
+ };
848
+ const encoded = ActionEndTransactionRequest.encode(request).finish();
849
+ const typeUrl = `${TYPE_URL_PREFIX}.ActionEndTransactionRequest`;
850
+ const body = packAny(typeUrl, encoded);
851
+ const flightAction = {
852
+ type: ACTION_END_TRANSACTION,
853
+ body
854
+ };
855
+ // Execute the action - no result expected
856
+ for await (const _ of this.doAction(flightAction, options)) {
857
+ // Consume any results (usually none for end transaction)
858
+ }
859
+ }
860
+ /**
861
+ * Commits a transaction.
862
+ *
863
+ * All operations executed within the transaction are made permanent.
864
+ * The transaction ID becomes invalid after this call.
865
+ *
866
+ * @param transactionId - The transaction ID from beginTransaction
867
+ * @param options - Optional call options
868
+ * @throws {FlightError} If the commit fails
869
+ *
870
+ * @example
871
+ * ```ts
872
+ * const txn = await client.beginTransaction()
873
+ * await client.executeUpdate(
874
+ * "INSERT INTO users (name) VALUES ('Alice')",
875
+ * { transactionId: txn.transactionId }
876
+ * )
877
+ * await client.commit(txn.transactionId)
878
+ * ```
879
+ */
880
+ async commit(transactionId, options) {
881
+ return this.endTransaction(transactionId, "commit", options);
882
+ }
883
+ /**
884
+ * Rolls back a transaction.
885
+ *
886
+ * All operations executed within the transaction are undone.
887
+ * The transaction ID becomes invalid after this call.
888
+ *
889
+ * @param transactionId - The transaction ID from beginTransaction
890
+ * @param options - Optional call options
891
+ * @throws {FlightError} If the rollback fails
892
+ *
893
+ * @example
894
+ * ```ts
895
+ * const txn = await client.beginTransaction()
896
+ * try {
897
+ * await client.executeUpdate(
898
+ * "INSERT INTO users (name) VALUES ('Alice')",
899
+ * { transactionId: txn.transactionId }
900
+ * )
901
+ * await client.commit(txn.transactionId)
902
+ * } catch (error) {
903
+ * await client.rollback(txn.transactionId)
904
+ * throw error
905
+ * }
906
+ * ```
907
+ */
908
+ async rollback(transactionId, options) {
909
+ return this.endTransaction(transactionId, "rollback", options);
910
+ }
502
911
  }
503
912
  /**
504
913
  * Creates a new FlightSqlClient and connects to the server.
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,103 @@
1
+ /**
2
+ * Flight SQL error types and utilities.
3
+ *
4
+ * @packageDocumentation
5
+ */
6
+ import { FlightError, type FlightErrorCode } from "@qualithm/arrow-flight-js";
7
+ /**
8
+ * Flight SQL specific error codes.
9
+ */
10
+ export type FlightSqlErrorCode = "INVALID_QUERY" | "INVALID_HANDLE" | "INVALID_PARAMETER" | "TRANSACTION_ERROR" | "RESULT_ERROR" | "SCHEMA_ERROR";
11
+ /**
12
+ * Options for creating a FlightSqlError.
13
+ */
14
+ export type FlightSqlErrorOptions = {
15
+ /** The underlying Flight error code */
16
+ flightCode?: FlightErrorCode;
17
+ /** Additional error details */
18
+ details?: string;
19
+ /** The original error that caused this error */
20
+ cause?: Error;
21
+ };
22
+ /**
23
+ * Error class for Flight SQL specific errors.
24
+ *
25
+ * Extends FlightError to provide SQL-specific error information while
26
+ * maintaining compatibility with the base error handling.
27
+ *
28
+ * @example
29
+ * ```ts
30
+ * try {
31
+ * await client.query("")
32
+ * } catch (error) {
33
+ * if (FlightSqlError.isFlightSqlError(error)) {
34
+ * console.log("SQL error code:", error.sqlCode)
35
+ * console.log("Flight code:", error.code)
36
+ * }
37
+ * }
38
+ * ```
39
+ */
40
+ export declare class FlightSqlError extends FlightError {
41
+ /**
42
+ * The SQL-specific error code.
43
+ */
44
+ readonly sqlCode: FlightSqlErrorCode;
45
+ constructor(message: string, sqlCode: FlightSqlErrorCode, options?: FlightSqlErrorOptions);
46
+ /**
47
+ * Checks if an error is a FlightSqlError.
48
+ */
49
+ static isFlightSqlError(error: unknown): error is FlightSqlError;
50
+ /**
51
+ * Checks if an error indicates an invalid query.
52
+ */
53
+ static isInvalidQuery(error: unknown): boolean;
54
+ /**
55
+ * Checks if an error indicates an invalid handle (prepared statement, transaction).
56
+ */
57
+ static isInvalidHandle(error: unknown): boolean;
58
+ /**
59
+ * Checks if an error indicates an invalid parameter.
60
+ */
61
+ static isInvalidParameter(error: unknown): boolean;
62
+ /**
63
+ * Checks if an error indicates a transaction error.
64
+ */
65
+ static isTransactionError(error: unknown): boolean;
66
+ /**
67
+ * Checks if an error indicates a result error.
68
+ */
69
+ static isResultError(error: unknown): boolean;
70
+ }
71
+ /**
72
+ * Validates that a query string is not empty.
73
+ *
74
+ * @param query - The query string to validate
75
+ * @throws {FlightSqlError} If the query is empty or whitespace-only
76
+ */
77
+ export declare function validateQuery(query: string): void;
78
+ /**
79
+ * Validates that a prepared statement handle is valid.
80
+ *
81
+ * @param handle - The handle buffer to validate
82
+ * @param name - The parameter name for error messages
83
+ * @throws {FlightSqlError} If the handle is invalid
84
+ */
85
+ export declare function validateHandle(handle: Buffer, name?: string): void;
86
+ /**
87
+ * Validates that a transaction ID is valid.
88
+ *
89
+ * @param transactionId - The transaction ID buffer to validate
90
+ * @throws {FlightSqlError} If the transaction ID is invalid
91
+ */
92
+ export declare function validateTransactionId(transactionId: Buffer): void;
93
+ /**
94
+ * Validates that parameter data contains required schema.
95
+ *
96
+ * @param params - The parameter data to validate
97
+ * @throws {FlightSqlError} If the parameter data is invalid
98
+ */
99
+ export declare function validateParameterData(params: {
100
+ schema: Uint8Array;
101
+ data: Uint8Array;
102
+ }): void;
103
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,WAAW,EAAE,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE7E;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAC1B,eAAe,GACf,gBAAgB,GAChB,mBAAmB,GACnB,mBAAmB,GACnB,cAAc,GACd,cAAc,CAAA;AAElB;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,uCAAuC;IACvC,UAAU,CAAC,EAAE,eAAe,CAAA;IAC5B,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,gDAAgD;IAChD,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,cAAe,SAAQ,WAAW;IAC7C;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAA;gBAExB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,qBAAqB;IASzF;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc;IAIhE;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAI9C;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAI/C;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAIlD;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAIlD;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;CAG9C;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAIjD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,SAAW,GAAG,IAAI,CAIpE;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAMjE;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,GAAG,IAAI,CAO5F"}