db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rick Hillegas (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DERBY-6220) Provide a way for users to determine the value of a Derby property
Date Mon, 03 Jun 2013 15:47:21 GMT

    [ https://issues.apache.org/jira/browse/DERBY-6220?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13673223#comment-13673223
] 

Rick Hillegas commented on DERBY-6220:
--------------------------------------

Here is an attempt to distill the information from the previous analysis.

The derby.* properties live in several property sets:

JVM - Properties set on the JVM boot command line (mentioned in the Developer's Guide).
DB - Properties set in the database (mentioned in the Developer's Guide).
DERBY - Properties set in derby.properties (mentioned in the Developer's Guide).
SERVICE - The service.properties file of the database (not documented).

These sets are searched in several orders, depending on which property is needed. Details
of these search orders follow later in this comment:

SYSTEM_ORDER (via the PropertyUtil.getSystem*() methods)
SERVICE_ORDER (via the PropertyUtil.getService*() methods)
BOOT_ORDER (via PropertyUtil.getPropertyFromSet())
DB_ONLY_ORDER (via PropertyUtil.getDatabaseProperty())
PRIVATE_ORDER (what's in service.properties)
INDEX_STATS_ORDER (a special set of rules)
SQL_AUTH_ORDER (a special set of rules)

-------------- SYSTEM_ORDER (via the PropertyUtil.getSystem*() methods) ------------------

   look in JVM;
   otherwise look in DERBY;

Covers these properties:

     LOG_SEVERITY_LEVEL
     EXT_DIAG_SEVERITY_LEVEL
     LOG_BOOT_TRACE
     ERRORLOG_FILE_PROPERTY
     ERRORLOG_METHOD_PROPERTY
     ERRORLOG_FIELD_PROPERTY
     LOG_FILE_APPEND
     SYSTEM_HOME_PROPERTY
     BOOT_ALL
     FORCE_DATABASE_LOCK
     STORAGE_TEMP_DIRECTORY
     DURABILITY_PROPERTY
     REPLICATION_LOG_BUFFER_SIZE
     REPLICATION_MIN_SHIPPING_INTERVAL
     REPLICATION_MAX_SHIPPING_INTERVAL
     REPLICATION_VERBOSE
     START_DRDA
     DRDA_PROP_LOGCONNECTIONS
     DRDA_PROP_TRACEALL
     DRDA_PROP_TRACE
     DRDA_PROP_TRACEDIRECTORY
     DRDA_PROP_MINTHREADS
     DRDA_PROP_MAXTHREADS
     DRDA_PROP_TIMESLICE
     DRDA_PROP_SSL_MODE
     DRDA_PROP_SECURITYMECHANISM
     DRDA_PROP_PORTNUMBER
     DRDA_PROP_HOSTNAME
     DRDA_PROP_KEEPALIVE
     DRDA_PROP_STREAMOUTBUFFERSIZE
     STORAGE_USE_DEFAULT_FILE_PERMISSIONS


-------------- SERVICE_ORDER (via the PropertyUtil.getService*() methods) ------------------

      if ( derby.database.propertiesOnly is set in the database )
      {
          then only look in DB;
      }
      else
      {
          look in JVM;
          otherwise look in DB;
          otherwise look in DERBY;
      }

Covers these properties:

     LOCKS_ESCALATION_THRESHOLD
     PAGE_SIZE_PARAMETER
     ROW_LOCKING
     LANG_SEQUENCE_PREALLOCATOR
     PROP_XA_TRANSACTION_TIMEOUT
     READ_ONLY_ACCESS_USERS_PROPERTY
     AUTHENTICATION_SERVER_PARAMETER
     DEFAULT_CONNECTION_MODE_PROPERTY
     FULL_ACCESS_USERS_PROPERTY
     DATABASE_CLASSPATH


-------------- BOOT_ORDER (via PropertyUtil.getPropertyFromSet()) ------------------

     dbOnly = true if derby.database.propertiesOnly=true

     if ( !dbOnly ) { look in JVM; }
     otherwise look in DB;
     otherwise look in SERVICE;
     if ( dbOnly ) { not found; }
     otherwise look in JVM;
     otherwise look in DERBY;

Covers these properties:

     DEADLOCK_TIMEOUT
     DEADLOCK_MONITOR
     DEADLOCK_TRACE
     LOCKWAIT_TIMEOUT
     STATEMENT_CACHE_SIZE
     REQUIRE_AUTHENTICATION_PARAMETER
     AUTHENTICATION_PROVIDER_PARAMETER
     AUTHENTICATION_NATIVE_PASSWORD_LIFETIME
     AUTHENTICATION_PASSWORD_EXPIRATION_THRESHOLD
     AUTHENTICATION_BUILTIN_SALT_LENGTH
     AUTHENTICATION_BUILTIN_ITERATIONS
     AUTHENTICATION_BUILTIN_ALGORITHM

-------------- DB_ONLY_ORDER (via PropertyUtil.getDatabaseProperty()) ------------------

   look in DB

Covers these properties:

     DATABASE_PROPERTIES_ONLY

-------------- PRIVATE_ORDER (what's in service.properties) ------------------

   look in SERVICE

Covers these properties:

     NO_AUTO_BOOT

-------------- INDEX_STATS_ORDER (a special set of rules) ------------------

This search order covers the properties which control automatic statistics collection. Some
of these properties default to being on and some to being off. This order is:

     look in DB;
     otherwise look in JVM;
     otherwise look in DERBY;

Covers these properties:

     STORAGE_AUTO_INDEX_STATS (default true)
     STORAGE_AUTO_INDEX_STATS_LOGGING (default false)
     STORAGE_AUTO_INDEX_STATS_TRACING (default "off")

-------------- SQL_AUTH_ORDER (a special set of rules) ------------------

SQL_AUTHORIZATION_PROPERTY is true if either of the following conditions is true:

    SQL_AUTHORIZATION_PROPERTY is true in DB
    or the database uses NATIVE authentication

                
> Provide a way for users to determine the value of a Derby property
> ------------------------------------------------------------------
>
>                 Key: DERBY-6220
>                 URL: https://issues.apache.org/jira/browse/DERBY-6220
>             Project: Derby
>          Issue Type: Improvement
>          Components: SQL
>    Affects Versions: 10.11.0.0
>            Reporter: Rick Hillegas
>         Attachments: derby-6220-01-aa-cleanupProperty.diff
>
>
> Derby properties can be specified as system properties, values stored in derby.properties,
and values stored in the database via the syscs_set_database_property procedure. The rules
for how these property sets interact are confusing. It would be good to provide users a way
to figure out what Derby thinks a property is set to. Maybe we could provide a builtin or
system function for this purpose.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message