Interface FbWireDatabase

All Superinterfaces:
AutoCloseable, ExceptionListenable, FbAttachment, FbDatabase, FbWireAttachment
All Known Implementing Classes:
AbstractFbWireDatabase, V10Database, V11Database, V12Database, V13Database, V15Database, V16Database, V18Database

public interface FbWireDatabase extends FbDatabase, FbWireAttachment
Since:
3.0
Author:
Mark Rotteveel
  • Method Details

    • readResponse

      Response readResponse(WarningMessageCallback callback) throws SQLException, IOException
      Reads the response from the server.
      Parameters:
      callback - Callback object for warnings, null for default callback
      Returns:
      Response read.
      Throws:
      SQLException - For errors returned from the server, or when attempting to read
      IOException - For errors reading the response from the connection.
    • releaseObject

      void releaseObject(int operation, int objectId) throws SQLException
      Release object.
      Parameters:
      operation - Operation
      objectId - ID of the object to release
      Throws:
      SQLException
    • readSqlResponse

      SqlResponse readSqlResponse(WarningMessageCallback callback) throws SQLException, IOException
      Convenience method to read a Response to a SqlResponse
      Parameters:
      callback - Callback object for warnings, null for default callback
      Returns:
      SqlResponse
      Throws:
      SQLException - For errors returned from the server, or when attempting to read.
      IOException - For errors reading the response from the connection.
    • getBlrCalculator

      BlrCalculator getBlrCalculator()
      Returns:
      The BlrCalculator instance for this database.
    • enqueueDeferredAction

      void enqueueDeferredAction(DeferredAction deferredAction) throws SQLException
      Enqueue a deferred action.

      FbDatabase implementations that do not support deferred actions are allowed to throw an UnsupportedOperationException

      Parameters:
      deferredAction - Deferred action
      Throws:
      SQLException - for errors forcing handling of oversized queue using op_ping (or op_batch_sync)
    • completeDeferredActions

      void completeDeferredActions() throws SQLException
      Completes pending deferred actions.

      FbDatabase implementations that do not support deferred actions should simply do nothing.

      Throws:
      SQLException - for errors forcing ping/batch sync
      Since:
      6
    • consumePackets

      void consumePackets(int numberOfResponses, WarningMessageCallback warningCallback)
      Consumes packets notifying for warnings, but ignoring exceptions thrown from the packet.

      This method should only be used inside the implementation if either packets need to be ignored, or to ensure that there is no backlog of packets (eg when an exception occurs during processing of multiple package responses).

      Parameters:
      numberOfResponses - Number of responses to consume.
      warningCallback - Callback for warnings
    • getInfo

      byte[] getInfo(int operation, int handle, byte[] requestItems, int maxBufferLength, WarningMessageCallback warningMessageCallback) throws SQLException
      Generic info request.

      The implementation does not perform handle validation nor notification of error dispatchers. Doing that is the responsibility of the caller.

      Parameters:
      operation - Operation code
      handle - Handle (db, transaction, statement, blob, etc)
      requestItems - Information items to request
      maxBufferLength - Maximum response buffer length to use
      warningMessageCallback - Callback for warnings when reading the response (can be null to use database default)
      Returns:
      The response buffer (note: length is the actual length of the response, not maxBufferLength)
      Throws:
      SQLException - For errors retrieving the information