@InternalApi

# Package org.firebirdsql.gds.ng

The Jaybird GDS-ng API provides the abstraction for connecting to Firebird either through a wire protocol implementation, a native firebird client or other means.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  AbstractAttachProperties.PropertyUpdateListener | Property update listener.
  BlobConfig | Firebird configuration for a blob.
  DatatypeCoder | Interface defining the encoding and decoding for Firebird (numerical) data types.
  DeferredResponse<T> | Interface for receiving deferred/async responses.
  FbAttachment | Connection to a Firebird server (to a database or service).
  FbBatchConfig | Configuration for a Firebird 4+ batch.
  FbBlob | Interface for blob operations.
  FbDatabase | Connection handle to a database.
  FbDatabaseFactory | Factory for `FbDatabase` instances.
  FbService | Connection handle to a service.
  FbStatement | API for statement handles.
  FbTransaction | Handle for a transaction.
  IAttachProperties<T extends IAttachProperties<T>> | Common properties for database and service attach.
  IConnectionProperties | Connection properties for the Firebird connection.
  InfoProcessor<T> | Functional interface to process an information buffer (responses to p_info_* requests) returning an object of type T.
  InfoProcessor.StatementInfo | Interface for information on a statement.
  IServiceProperties | Connection properties for a Firebird service attachment.
  LockCloseable | Unlocks the lock on `LockCloseable.close()`, intended for use with try-with-resources.
  OperationCloseHandle | Close handle for `Operation` implementations.
  ParameterConverter<D extends AbstractConnection<IConnectionProperties,?>,S extends AbstractConnection<IServiceProperties,?>> | Provides conversion of parameters (e.g.
  WarningMessageCallback | Callback interface for passing warnings.

- Class Summary
  Class | Description
  --- | ---
  AbstractAttachProperties<T extends IAttachProperties<T>> | Abstract mutable implementation of `IAttachProperties`.
  AbstractConnection<T extends IAttachProperties<T>,C extends FbAttachment> | Abstract class with common logic for connections.
  AbstractEventHandle | Abstract implementation for event handle.
  AbstractFbAttachment<T extends AbstractConnection<? extends IAttachProperties<?>,? extends FbAttachment>> | Common behavior for `AbstractFbService` and `AbstractFbDatabase`.
  AbstractFbBlob |
  AbstractFbDatabase<T extends AbstractConnection<IConnectionProperties,? extends FbDatabase>> | Abstract implementation of `FbDatabase` with behavior common to the various implementations.
  AbstractFbService<T extends AbstractConnection<IServiceProperties,? extends FbService>> | Abstract service implementation.
  AbstractFbStatement |
  AbstractFbTransaction |
  AbstractImmutableAttachProperties<T extends IAttachProperties<T>> | Abstract immutable implementation of `IAttachProperties`.
  AbstractParameterConverter<D extends AbstractConnection<IConnectionProperties,?>,S extends AbstractConnection<IServiceProperties,?>> | Abstract class for behavior common to `ParameterConverter` implementations.
  BatchCompletion | Completion data from a batch execute.
  BatchCompletion.DetailedError |
  BlobLengthProcessor | Blob information processor for retrieving blob length.
  DatatypeCoder.RawDateTimeStruct | Deprecated use a `java.time` type; will be removed in Jaybird 6
  DefaultDatatypeCoder | The default datatype coder.
  EncodingSpecificDatatypeCoder | Datatype coder wrapping another datatype coder and applying a specific encoding definition, while delegating other methods to the wrapped datatype coder.
  ExecutionPlanProcessor | InfoProcessor to retrieve the (normal) execution plan of a statement.
  FbBatchConfig.Immutable | Class to provide an immutable copy of a batch config.
  FbConnectionProperties | Mutable implementation of `IConnectionProperties`
  FbExceptionBuilder | Builder for exceptions received from Firebird.
  FbImmutableConnectionProperties | Immutable implementation of `IConnectionProperties`.
  FbImmutableServiceProperties | Immutable implementation of `IServiceProperties`.
  FbServiceProperties | Mutable implementation of `IServiceProperties`.
  OperationMonitor | The statement operation monitor allows monitoring of statement execution and fetching of all statements.
  SqlCountHolder | Class for holding the SQL counts (update, delete, select, insert) for a statement execution.
  SqlCountProcessor | Info processor for retrieving affected record count.
  StatementInfoProcessor | InfoProcessor to retrieve the statement information associated with `AbstractFbStatement.getStatementInfoRequestItems()` and `AbstractFbStatement.getParameterDescriptionInfoRequestItems()`.
  TransactionHelper | Class with static helper methods for use with transactions

- Enum Summary
  Enum | Description
  --- | ---
  AbstractFbBlob.BlobState | State of the blob.
  CursorFlag | Cursor flags.
  FbBlob.SeekMode | Seek mode for `FbBlob.seek(int, org.firebirdsql.gds.ng.FbBlob.SeekMode)`.
  FetchDirection | Direction of fetch.
  FetchType | Type of fetch.
  StatementState | Statement states for `FbStatement` implementations
  StatementType | Firebird statement types.
  TransactionState | Transactions states.
  WireCrypt |

- Exception Summary
  Exception | Description
  --- | ---
  InfoTruncatedException | Thrown to indicate that an info request buffer was truncated (`isc_info_truncated`).

## Package org.firebirdsql.gds.ng Description

The Jaybird GDS-ng API provides the abstraction for connecting to Firebird either through a wire protocol implementation, a native firebird client or other means. These classes are used by the JDBC implementation of Jaybird. The classes in this package (and its subpackages) can be used directly but the stability of the interface is not guaranteed (not even between point releases). We strongly advise to use the JDBC implementation.

The classes and interfaces provided by this package can be used to add additional protocol implementations, but given the expected volatility of the interface (see above) we urge you to use caution.

The ng stands for Next Generation, as this is the second incarnation, replacing the original GDS API introduced in Jaybird 1.0 (removed in Jaybird 3.0).

Since:
  3

Copyright © 2001-2025 Jaybird (Firebird JDBC) team. All rights reserved.