Module org.firebirdsql.jaybird
Package org.firebirdsql.gds.ng.wire.version12

# Class V12Database

java.lang.Object
org.firebirdsql.gds.ng.AbstractFbAttachment<T>
org.firebirdsql.gds.ng.AbstractFbDatabase<WireDatabaseConnection>
org.firebirdsql.gds.ng.wire.AbstractFbWireDatabase
org.firebirdsql.gds.ng.wire.version10.V10Database
org.firebirdsql.gds.ng.wire.version11.V11Database
org.firebirdsql.gds.ng.wire.version12.V12Database

All Implemented Interfaces:
  `AutoCloseable`, `FbAttachment`, `FbDatabase`, `ExceptionListenable`, `TransactionListener`, `FbWireAttachment`, `FbWireDatabase`

Direct Known Subclasses:
  `V13Database`

public class V12Database extends V11Database
`FbWireDatabase` implementation for the version 12 wire protocol.

Since:
  3.0
Author:
  Mark Rotteveel

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from interface org.firebirdsql.gds.ng.wire.FbWireAttachment

  `FbWireAttachment.AcceptPacket`

- ## Field Summary

  ### Fields inherited from class org.firebirdsql.gds.ng.wire.AbstractFbWireDatabase

  `protocolDescriptor, wireOperations`

  ### Fields inherited from class org.firebirdsql.gds.ng.AbstractFbDatabase

  `databaseListenerDispatcher`

  ### Fields inherited from class org.firebirdsql.gds.ng.AbstractFbAttachment

  `connection, exceptionListenerDispatcher`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `V12Database(WireDatabaseConnection connection, ProtocolDescriptor descriptor)`
  Creates a V12Database instance.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `cancelOperation(int kind)`
  Cancels the current operation.
  `protected Encoding`
  `getFilenameEncoding(DatabaseParameterBuffer dpb)`
  Gets the `Encoding` to use for the database filename.

  ### Methods inherited from class org.firebirdsql.gds.ng.wire.version11.V11Database

  `releaseObject`

  ### Methods inherited from class org.firebirdsql.gds.ng.wire.version10.V10Database

  `afterAttachActions, attach, attachOrCreate, authReceiveResponse, createDatabase, createStatement, doReleaseObjectPacket, dropDatabase, executeImmediate, getBlrCalculator, initAsynchronousChannel, internalDetach, processAttachOrCreateResponse, processReleaseObjectResponse, reconnectTransaction, sendAttachOrCreateToBuffer, startTransaction, startTransaction`

  ### Methods inherited from class org.firebirdsql.gds.ng.wire.AbstractFbWireDatabase

  `cancelEvent, checkAttached, checkConnected, closeConnection, completeDeferredActions, consumePackets, countEvents, createBlobForInput, createBlobForOutput, createEventHandle, enqueueDeferredAction, forceClose, getDatabaseInfo, getHandle, getInfo, getWireOperations, getXdrIn, getXdrOut, getXdrStreamAccess, isAttached, queueEvent, readGenericResponse, readResponse, readSqlResponse, setNetworkTimeout`

  ### Methods inherited from class org.firebirdsql.gds.ng.AbstractFbDatabase

  `addDatabaseListener, addWeakDatabaseListener, close, createBlobParameterBuffer, createTransactionParameterBuffer, emptyRowDescriptor, getActiveTransactionCount, getConnectionDialect, getConnectionProperties, getDatabaseDialect, getDatabaseInfo, getDatabaseInformationProcessor, getDatabaseWarningCallback, getDescribeDatabaseInfoBlock, getOdsMajor, getOdsMinor, getOdsVersion, getParameterDescriptionInfoRequestItems, getStatementInfoRequestItems, getTransactionIdBuffer, removeDatabaseListener, setDatabaseDialect, setOdsMajor, setOdsMinor, transactionAdded, transactionStateChanged`

  ### Methods inherited from class org.firebirdsql.gds.ng.AbstractFbAttachment

  `addExceptionListener, getDatatypeCoder, getEncoding, getEncodingFactory, getNetworkTimeout, getServerVersion, isLockedByCurrentThread, removeExceptionListener, requireNotAttached, safelyDetach, setAttached, setDetached, setServerVersion, withLock`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface org.firebirdsql.gds.ng.listeners.ExceptionListenable

  `addExceptionListener, removeExceptionListener`

  ### Methods inherited from interface org.firebirdsql.gds.ng.FbAttachment

  `close, forceClose, getDatatypeCoder, getEncoding, getEncodingFactory, getNetworkTimeout, getServerVersion, isAttached, isLockedByCurrentThread, setNetworkTimeout, withLock`

  ### Methods inherited from interface org.firebirdsql.gds.ng.FbDatabase

  `addDatabaseListener, addWeakDatabaseListener, cancelEvent, countEvents, createBlobForInput, createBlobForInput, createBlobForInput, createBlobForOutput, createBlobForOutput, createBlobForOutput, createBlobParameterBuffer, createEventHandle, createTransactionParameterBuffer, emptyRowDescriptor, getConnectionDialect, getConnectionProperties, getDatabaseDialect, getDatabaseInfo, getDatabaseInfo, getHandle, getOdsMajor, getOdsMinor, getOdsVersion, queueEvent, removeDatabaseListener`

  ### Methods inherited from interface org.firebirdsql.gds.ng.wire.FbWireAttachment

  `getWireOperations, getXdrStreamAccess, readGenericResponse`

  ### Methods inherited from interface org.firebirdsql.gds.ng.wire.FbWireDatabase

  `completeDeferredActions, consumePackets, enqueueDeferredAction, getInfo, readResponse, readSqlResponse`

- ## Constructor Details

  - ### V12Database

    protected V12Database(WireDatabaseConnection connection, ProtocolDescriptor descriptor)
    Creates a V12Database instance.
    Parameters:
      `connection` - A WireConnection with an established connection to the server.
      `descriptor` - The ProtocolDescriptor that created this connection (this is used for creating further dependent objects).

- ## Method Details

  - ### cancelOperation

    public void cancelOperation(int kind) throws SQLException
    Description copied from interface: `FbDatabase`
    Cancels the current operation.

    The cancellation types are:

    `ISCConstants.fb_cancel_disable`
      disables execution of fb_cancel_raise requests for the specified attachment. It can be useful when your program is executing critical operations, such as cleanup, for example.
    `ISCConstants.fb_cancel_enable`
      re-enables delivery of a cancel execution that was previously disabled. The 'cancel' state is effective by default, being initialized when the attachment is created.
    `ISCConstants.fb_cancel_raise`
      cancels any activity related to the database handle. The effect will be that, as soon as possible, the engine will try to stop the running request and return an exception to the caller
    `ISCConstants.fb_cancel_abort`
      forcibly close client side of connection. Useful if you need to close a connection urgently. All active transactions will be rolled back by the server. 'Success' is always returned to the application. Use with care!
    Specified by:
      `cancelOperation` in interface `FbDatabase`
    Overrides:
      `cancelOperation` in class `V10Database`
    Parameters:
      `kind` - Cancellation type
    Throws:
      `SQLException` - For errors cancelling, or if the cancel operation is not supported.

  - ### getFilenameEncoding

    protected Encoding getFilenameEncoding(DatabaseParameterBuffer dpb)
    Gets the `Encoding` to use for the database filename.

    For version 12 always returns the UTF8 encoding.

    Overrides:
      `getFilenameEncoding` in class `V10Database`
    Parameters:
      `dpb` - Database parameter buffer
    Returns:
      Encoding
    See Also:
      - `V12ParameterConverter`