Interface Attribute


public interface Attribute
List of all connection (JDBC) attributes by the system.

This class exists for two reasons

  1. To act as the internal documentation for the attributes.
  2. To remove the need to declare a java static field for the attributes name in the protocol/implementation class. This reduces the footprint as the string is final and thus can be included simply as a String constant pool entry.

This class should not be shipped with the product.

This class has no methods, all it contains are String's which by are public, static and final since they are declared in an interface.

At some point this class should be replaced by org.apache.derby.shared.common.reference.Attribute. The issue is that this class is used by ij to check attributes, ij uses reflection on this class to get the list of valid attributes. The expanded class in shared has the client attributes as well. Ideally ij would work of an explicit list of attributes and not infer the set from reflection. See DERBY-1151

  • Field Details

    • PROTOCOL

      static final String PROTOCOL
      Not an attribute but the root for the JDBC URL that Derby supports.
      See Also:
    • SQLJ_NESTED

      static final String SQLJ_NESTED
      The SQLJ protocol for getting the default connection for server side jdbc
      See Also:
    • DNC_PROTOCOL

      static final String DNC_PROTOCOL
      The protocol for Derby Network Client
      See Also:
    • JCC_PROTOCOL

      static final String JCC_PROTOCOL
      The protocol for the IBM Universal JDBC Driver
      See Also:
    • DECRYPT_DATABASE

      static final String DECRYPT_DATABASE
      Attribute name for decrypting an encrypted database.
      See Also:
    • DATA_ENCRYPTION

      static final String DATA_ENCRYPTION
      Attribute name to encrypt the database on disk. If set to true, all user data is stored encrypted on disk.
      See Also:
    • BOOT_PASSWORD

      static final String BOOT_PASSWORD
      If dataEncryption is true, use this attribute to pass in the secret key. The secret key must be at least 8 characters long. This key must not be stored persistently in cleartext anywhere.
      See Also:
    • NEW_BOOT_PASSWORD

      static final String NEW_BOOT_PASSWORD
      The attribute that is used to chage the secret key of an encrypted database. The secret key must be at least 8 characters long. This key must not be stored persistently in cleartext anywhere.
      See Also:
    • REPLICATION_START_MASTER

      static final String REPLICATION_START_MASTER
      Attribute name to start replication master mode for a database. If used, REPLICATION_SLAVE_HOST is a required attribute.
      See Also:
    • REPLICATION_STOP_MASTER

      static final String REPLICATION_STOP_MASTER
      Attribute name to stop replication master mode for a database.
      See Also:
    • REPLICATION_START_SLAVE

      static final String REPLICATION_START_SLAVE
      Attribute name to start replication slave mode for a database.
      See Also:
    • REPLICATION_STOP_SLAVE

      static final String REPLICATION_STOP_SLAVE
      Attribute name to stop replication slave mode for a database.
      See Also:
    • REPLICATION_INTERNAL_SHUTDOWN_SLAVE

      static final String REPLICATION_INTERNAL_SHUTDOWN_SLAVE
      Attribute name to stop replication slave mode for a database. Internal use only
      See Also:
    • REPLICATION_SLAVE_HOST

      static final String REPLICATION_SLAVE_HOST
      If startMaster is true, this attribute is used to specify the host name the master should connect to. This is a required attribute.
      See Also:
    • REPLICATION_FAILOVER

      static final String REPLICATION_FAILOVER
      Attribute name to start failover for a given database..
      See Also:
    • REPLICATION_SLAVE_PORT

      static final String REPLICATION_SLAVE_PORT
      If startMaster is true, this attribute is used to specify the port the master should connect to. This is an optional attribute
      See Also:
    • DBNAME_ATTR

      static final String DBNAME_ATTR
      The attribute that is used for the database name, from the JDBC notion of jdbc::
      See Also:
    • SHUTDOWN_ATTR

      static final String SHUTDOWN_ATTR
      The attribute that is used to request a shutdown.
      See Also:
    • DEREGISTER_ATTR

      static final String DEREGISTER_ATTR
      The attribute that is to keep autoloading idiom for driver
      See Also:
    • CREATE_ATTR

      static final String CREATE_ATTR
      The attribute that is used to request a database create.
      See Also:
    • DROP_ATTR

      static final String DROP_ATTR
      The attribute that is used to request a drop database.
      See Also:
    • USERNAME_ATTR

      static final String USERNAME_ATTR
      The attribute that is used to set the user name.
      See Also:
    • PASSWORD_ATTR

      static final String PASSWORD_ATTR
      The attribute that is used to set the user password.
      See Also:
    • DRDAID_ATTR

      static final String DRDAID_ATTR
      The attribute that is used to set the connection's DRDA ID.
      See Also:
    • UPGRADE_ATTR

      static final String UPGRADE_ATTR
      The attribute that is used to allow upgrade.
      See Also:
    • LOG_DEVICE

      static final String LOG_DEVICE
      Put the log on a different device.
      See Also:
    • TERRITORY

      static final String TERRITORY
      Set the territory for the database.
      See Also:
    • CRYPTO_PROVIDER

      static final String CRYPTO_PROVIDER
      Attribute for encrypting a database. Specifies the cryptographic services provider.
      See Also:
    • CRYPTO_ALGORITHM

      static final String CRYPTO_ALGORITHM
      Attribute for encrypting a database. Specifies the cryptographic algorithm.
      See Also:
    • CRYPTO_KEY_LENGTH

      static final String CRYPTO_KEY_LENGTH
      Attribute for encrypting a database. Specifies the key length in bytes for the specified cryptographic algorithm.
      See Also:
    • CRYPTO_EXTERNAL_KEY

      static final String CRYPTO_EXTERNAL_KEY
      Attribute for encrypting a database. Specifies the actual key. When this is specified all the supplied crypto information is stored external to the database, ie by the application.
      See Also:
    • NEW_CRYPTO_EXTERNAL_KEY

      static final String NEW_CRYPTO_EXTERNAL_KEY
      The attribute that is used to chage the encryption key of an encrypted database. When this is specified all the supplied crypto information is stored external to the database, ie by the application.
      See Also:
    • CRYPTO_EXTERNAL_KEY_VERIFY_FILE

      static final String CRYPTO_EXTERNAL_KEY_VERIFY_FILE
      One can encrypt the database with an encryption key at create time. For security reasons, this key is not made persistent in the database. But it is necessary to verify the encryption key whenever booting the database before we access the data/logs to avoid the risk of corrupting the database because of a wrong encryption key. This attribute refers to the name of the file where encrypted data is stored for verification of encryption key.
      See Also:
    • CREATE_FROM

      static final String CREATE_FROM
      This attribute is used to request to create a database from backup. This will throw error if a database with same already exists at the location where we tring to create.
      See Also:
    • RESTORE_FROM

      static final String RESTORE_FROM
      This attribute is used to request a database restore from backup. It must be used only when the active database is corrupted, because it will cleanup the existing database and replace it from the backup.
      See Also:
    • ROLL_FORWARD_RECOVERY_FROM

      static final String ROLL_FORWARD_RECOVERY_FROM
      The attribute that is used to request a roll-forward recovery of the database.
      See Also:
    • CLIENT_SECURITY_MECHANISM

      static final String CLIENT_SECURITY_MECHANISM
      securityMechanism sets the DRDA mechanism in-use for the client. Internal only.
      See Also:
    • DRDA_SECTKN_IN

      static final String DRDA_SECTKN_IN
      Internal attributes. Mainly used by DRDA and Derby BUILTIN authentication provider in some security mechanism context (SECMEC_USRSSBPWD). DRDA_SECTKN_IN is the random client seed (RDs) DRDA_SECTKN_OUT is the random server seed (RDr)
      See Also:
    • DRDA_SECTKN_OUT

      static final String DRDA_SECTKN_OUT
      See Also:
    • DRDA_SECMEC

      static final String DRDA_SECMEC
      Internal attribute which holds the value of the securityMechanism attribute specified by the client. Used for passing information about which security mechanism to use from the network server to the embedded driver. Use another name than "securityMechanism" in order to prevent confusion if an attempt is made to establish an embedded connection with securityMechanism specified (see DERBY-3025).
      See Also:
    • SOFT_UPGRADE_NO_FEATURE_CHECK

      static final String SOFT_UPGRADE_NO_FEATURE_CHECK
      Internal attribute. Used to always allow soft upgrade for authentication purposes in a two phase hard upgrade (to check database owner power before proceeding. The purpose is to avoid failing soft upgrade due to a feature being set but not supported until after hard upgrade has taken place (e.g. during hard upgrade from 10.1 -> 10.3 or higher if derby.database.sqlAuthorization is set, cf. DD_Version#checkVersion).
      See Also:
    • COLLATION

      static final String COLLATION
      Optional JDBC url attribute (at the database create time only) It can be set to one of the following 2 values 1) UCS_BASIC (This means codepoint based collation. This will also be the default collation used by Derby if no collation attribute is specified on the JDBC url at the database create time. This collation is what Derby 10.2 and prior have supported) 2)TERRITORY_BASED (the collation will be based on language region specified by the existing Derby attribute called territory. If the territory attribute is not specified at the database create time, Derby will use java.util.Locale.getDefault to determine the territory for the newly created database.
      See Also: