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 Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String BOOT_PASSWORD
      If dataEncryption is true, use this attribute to pass in the secret key.
      static java.lang.String CLIENT_SECURITY_MECHANISM
      securityMechanism sets the DRDA mechanism in-use for the client.
      static java.lang.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.
      static java.lang.String CREATE_ATTR
      The attribute that is used to request a database create.
      static java.lang.String CREATE_FROM
      This attribute is used to request to create a database from backup.
      static java.lang.String CRYPTO_ALGORITHM
      Attribute for encrypting a database.
      static java.lang.String CRYPTO_EXTERNAL_KEY
      Attribute for encrypting a database.
      static java.lang.String CRYPTO_EXTERNAL_KEY_VERIFY_FILE
      One can encrypt the database with an encryption key at create time.
      static java.lang.String CRYPTO_KEY_LENGTH
      Attribute for encrypting a database.
      static java.lang.String CRYPTO_PROVIDER
      Attribute for encrypting a database.
      static java.lang.String DATA_ENCRYPTION
      Attribute name to encrypt the database on disk.
      static java.lang.String DBNAME_ATTR
      The attribute that is used for the database name, from the JDBC notion of jdbc::
      static java.lang.String DECRYPT_DATABASE
      Attribute name for decrypting an encrypted database.
      static java.lang.String DEREGISTER_ATTR
      The attribute that is to keep autoloading idiom for driver
      static java.lang.String DNC_PROTOCOL
      The protocol for Derby Network Client
      static java.lang.String DRDA_SECMEC
      Internal attribute which holds the value of the securityMechanism attribute specified by the client.
      static java.lang.String DRDA_SECTKN_IN
      Internal attributes.
      static java.lang.String DRDA_SECTKN_OUT  
      static java.lang.String DRDAID_ATTR
      The attribute that is used to set the connection's DRDA ID.
      static java.lang.String DROP_ATTR
      The attribute that is used to request a drop database.
      static java.lang.String JCC_PROTOCOL
      The protocol for the IBM Universal JDBC Driver
      static java.lang.String LOG_DEVICE
      Put the log on a different device.
      static java.lang.String NEW_BOOT_PASSWORD
      The attribute that is used to chage the secret key of an encrypted database.
      static java.lang.String NEW_CRYPTO_EXTERNAL_KEY
      The attribute that is used to chage the encryption key of an encrypted database.
      static java.lang.String PASSWORD_ATTR
      The attribute that is used to set the user password.
      static java.lang.String PROTOCOL
      Not an attribute but the root for the JDBC URL that Derby supports.
      static java.lang.String REPLICATION_FAILOVER
      Attribute name to start failover for a given database..
      static java.lang.String REPLICATION_INTERNAL_SHUTDOWN_SLAVE
      Attribute name to stop replication slave mode for a database.
      static java.lang.String REPLICATION_SLAVE_HOST
      If startMaster is true, this attribute is used to specify the host name the master should connect to.
      static java.lang.String REPLICATION_SLAVE_PORT
      If startMaster is true, this attribute is used to specify the port the master should connect to.
      static java.lang.String REPLICATION_START_MASTER
      Attribute name to start replication master mode for a database.
      static java.lang.String REPLICATION_START_SLAVE
      Attribute name to start replication slave mode for a database.
      static java.lang.String REPLICATION_STOP_MASTER
      Attribute name to stop replication master mode for a database.
      static java.lang.String REPLICATION_STOP_SLAVE
      Attribute name to stop replication slave mode for a database.
      static java.lang.String RESTORE_FROM
      This attribute is used to request a database restore from backup.
      static java.lang.String ROLL_FORWARD_RECOVERY_FROM
      The attribute that is used to request a roll-forward recovery of the database.
      static java.lang.String SHUTDOWN_ATTR
      The attribute that is used to request a shutdown.
      static java.lang.String SOFT_UPGRADE_NO_FEATURE_CHECK
      Internal attribute.
      static java.lang.String SQLJ_NESTED
      The SQLJ protocol for getting the default connection for server side jdbc
      static java.lang.String TERRITORY
      Set the territory for the database.
      static java.lang.String UPGRADE_ATTR
      The attribute that is used to allow upgrade.
      static java.lang.String USERNAME_ATTR
      The attribute that is used to set the user name.
    • Field Detail

      • PROTOCOL

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

        static final java.lang.String SQLJ_NESTED
        The SQLJ protocol for getting the default connection for server side jdbc
        See Also:
        Constant Field Values
      • DNC_PROTOCOL

        static final java.lang.String DNC_PROTOCOL
        The protocol for Derby Network Client
        See Also:
        Constant Field Values
      • JCC_PROTOCOL

        static final java.lang.String JCC_PROTOCOL
        The protocol for the IBM Universal JDBC Driver
        See Also:
        Constant Field Values
      • DECRYPT_DATABASE

        static final java.lang.String DECRYPT_DATABASE
        Attribute name for decrypting an encrypted database.
        See Also:
        Constant Field Values
      • DATA_ENCRYPTION

        static final java.lang.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:
        Constant Field Values
      • BOOT_PASSWORD

        static final java.lang.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:
        Constant Field Values
      • NEW_BOOT_PASSWORD

        static final java.lang.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:
        Constant Field Values
      • REPLICATION_START_MASTER

        static final java.lang.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:
        Constant Field Values
      • REPLICATION_STOP_MASTER

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

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

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

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

        static final java.lang.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:
        Constant Field Values
      • REPLICATION_FAILOVER

        static final java.lang.String REPLICATION_FAILOVER
        Attribute name to start failover for a given database..
        See Also:
        Constant Field Values
      • REPLICATION_SLAVE_PORT

        static final java.lang.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:
        Constant Field Values
      • DBNAME_ATTR

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

        static final java.lang.String SHUTDOWN_ATTR
        The attribute that is used to request a shutdown.
        See Also:
        Constant Field Values
      • DEREGISTER_ATTR

        static final java.lang.String DEREGISTER_ATTR
        The attribute that is to keep autoloading idiom for driver
        See Also:
        Constant Field Values
      • CREATE_ATTR

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

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

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

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

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

        static final java.lang.String UPGRADE_ATTR
        The attribute that is used to allow upgrade.
        See Also:
        Constant Field Values
      • LOG_DEVICE

        static final java.lang.String LOG_DEVICE
        Put the log on a different device.
        See Also:
        Constant Field Values
      • TERRITORY

        static final java.lang.String TERRITORY
        Set the territory for the database.
        See Also:
        Constant Field Values
      • CRYPTO_PROVIDER

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

        static final java.lang.String CRYPTO_ALGORITHM
        Attribute for encrypting a database. Specifies the cryptographic algorithm.
        See Also:
        Constant Field Values
      • CRYPTO_KEY_LENGTH

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

        static final java.lang.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:
        Constant Field Values
      • NEW_CRYPTO_EXTERNAL_KEY

        static final java.lang.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:
        Constant Field Values
      • CRYPTO_EXTERNAL_KEY_VERIFY_FILE

        static final java.lang.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:
        Constant Field Values
      • CREATE_FROM

        static final java.lang.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:
        Constant Field Values
      • RESTORE_FROM

        static final java.lang.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:
        Constant Field Values
      • ROLL_FORWARD_RECOVERY_FROM

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

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

        static final java.lang.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:
        Constant Field Values
      • DRDA_SECMEC

        static final java.lang.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:
        Constant Field Values
      • SOFT_UPGRADE_NO_FEATURE_CHECK

        static final java.lang.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:
        Constant Field Values
      • COLLATION

        static final java.lang.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:
        Constant Field Values