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

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

As a first step toward analyzing this issue, I have searched the codeline for 
how the properties in Property.java are used. Here is my summary:

----------------------------

Internal only:

DELETE_ON_CREATE
BOOT_DB_CLASSPATH
DERBY_INSTALL_URL
DERBY_SECURITY_HOST
PROPERTIES_CONGLOM_ID
LOG_ARCHIVE_MODE
LOG_DEVICE_AT_BACKUP
LOG_ARCHIVE_MODE
IN_RESTORE_FROM_BACKUP
DELETE_ROOT_ON_ERROR
SERVICE_PROTOCOL
SERVICE_LOCALE
STORAGE_DATA_NOT_SYNCED_AT_CHECKPOINT
STORAGE_DATA_NOT_SYNCED_AT_ALLOCATION
STORAGE_LOG_NOT_SYNCE
SERVER_STARTED_FROM_CMD_LINE


Undocumented:

FILESYNC_TRANSACTION_LOG
LANG_PERMISSIONS_CACHE_SIZE
LANG_TD_CACHE_SIZE
STORAGE_AUTO_INDEX_STATS_DEBUG_CREATE_THRESHOLD
STORAGE_AUTO_INDEX_STATS_DEBUG_ABSDIFF_THRESHOLD
STORAGE_AUTO_INDEX_STATS_DEBUG_LNDIFF_THRESHOLD
STORAGE_AUTO_INDEX_STATS_DEBUG_QUEUE_SIZE
STORAGE_AUTO_INDEX_STATS_DEBUG_KEEP_DISPOSABLE_STATS
LOG_SWITCH_INTERVAL
CHECKPOINT_INTERVAL
LOG_BUFFER_SIZE
ALPHA_BETA_ALLOW_UPGRADE
COLLATION

Externally visible but undocumented:

LANG_SPS_CACHE_SIZE
LANG_SEQGEN_CACHE_SIZE
LANGUAGE_STALE_PLAN_CHECK_INTERVAL

Undocumented and unused:

LOG_ARCHIVAL_DIRECTORY



Currently documented but should not be:

USER_PROPERTY_PREFIX


----------------------------

LOG_SEVERITY_LEVEL
  PropertyUtil.getSystemInt(Property.LOG_SEVERITY_LEVEL, SanityManager.DEBUG ? 
0 : ExceptionSeverity.SESSION_SEVERITY);

EXT_DIAG_SEVERITY_LEVEL
  
PropertyUtil.getSystemInt(Property.EXT_DIAG_SEVERITY_LEVEL,ExceptionSeverity.SESSION_SEVERITY);

LOG_BOOT_TRACE
  Boolean.valueOf(startParams.getProperty(Property.LOG_BOOT_TRACE, 
PropertyUtil.getSystemProperty(Property.LOG_BOOT_TRACE))).booleanValue();
  PropertyUtil.getSystemBoolean(Property.LOG_BOOT_TRACE);

ERRORLOG_FILE_PROPERTY
  PropertyUtil.getSystemProperty(Property.ERRORLOG_FILE_PROPERTY);

ERRORLOG_METHOD_PROPERTY
  PropertyUtil.getSystemProperty(Property.ERRORLOG_METHOD_PROPERTY);

ERRORLOG_FIELD_PROPERTY
  PropertyUtil.getSystemProperty(Property.ERRORLOG_FIELD_PROPERTY);

LOG_FILE_APPEND
  PropertyUtil.getSystemBoolean(Property.LOG_FILE_APPEND);

SYSTEM_HOME_PROPERTY
  PropertyUtil.getSystemProperty( Property.SYSTEM_HOME_PROPERTY );
  System.getProperty( Property.SYSTEM_HOME_PROPERTY );
  System.getProperty(Property.SYSTEM_HOME_PROPERTY,".");
  also read by NetworkServerMBeanImpl but the code looks buggy

BOOT_ALL
  
Boolean.valueOf(PropertyUtil.getSystemProperty(Property.BOOT_ALL)).booleanValue();

NO_AUTO_BOOT
  
Boolean.valueOf(serviceProperties.getProperty(Property.NO_AUTO_BOOT)).booleanValue();

FORCE_DATABASE_LOCK
  
startParams.getProperty(Property.FORCE_DATABASE_LOCK,PropertyUtil.getSystemProperty(Property.FORCE_DATABASE_LOCK));

LOCKS_ESCALATION_THRESHOLD
  PropertyUtil.getServiceInt
    (tranCtrl,Property.LOCKS_ESCALATION_THRESHOLD,
     
Property.MIN_LOCKS_ESCALATION_THRESHOLD,Integer.MAX_VALUE,Property.DEFAULT_LOCKS_ESCALATION_THRESHOLD);

DEADLOCK_TIMEOUT
  PropertyUtil.getPropertyFromSet(dbOnly, p, key);

DEADLOCK_MONITOR
  PropertyUtil.getPropertyFromSet(dbOnly, p, key);
  PropertyUtil.booleanProperty(Property.DEADLOCK_MONITOR, svalue, false) ? 
StandardException.REPORT_ALWAYS : StandardException.REPORT_DEFAULT;

DEADLOCK_TRACE
  PropertyUtil.getPropertyFromSet(dbOnly, p, key);
  PropertyUtil.booleanProperty(Property.DEADLOCK_TRACE, svalue, false)

LOCKWAIT_TIMEOUT
  PropertyUtil.getPropertyFromSet(dbOnly, p, key);
  PropertyUtil.handleInt(value, Integer.MIN_VALUE, Integer.MAX_VALUE / 1000, 
defaultValue);

DATABASE_CLASSPATH
  PropertyUtil.getPropertyFromSet(startParams,Property.DATABASE_CLASSPATH);
  PropertyUtil.getSystemProperty(Property.DATABASE_CLASSPATH, "");
  PropertyUtil.getServiceProperty(ps, Property.DATABASE_CLASSPATH);

DATABASE_PROPERTIES_ONLY
  PropertyUtil.getDatabaseProperty(tc, key);

PAGE_SIZE_PARAMETER
  PropertyUtil.getServiceProperty(lcc.getTransactionCompile(), 
Property.PAGE_SIZE_PARAMETER)
  
ROW_LOCKING
  PropertyUtil.getServiceBoolean(tc, Property.ROW_LOCKING, true)

STORAGE_TEMP_DIRECTORY
  PropertyUtil.getSystemProperty(Property.STORAGE_TEMP_DIRECTORY)

DURABILITY_PROPERTY
  PropertyUtil.getSystemProperty(Property.DURABILITY_PROPERTY)

LANG_SEQUENCE_PREALLOCATOR
  PropertyUtil.getServiceProperty( tc, Property.LANG_SEQUENCE_PREALLOCATOR );

STATEMENT_CACHE_SIZE
  PropertyUtil.getPropertyFromSet(startParams, 
org.apache.derby.iapi.reference.Property.STATEMENT_CACHE_SIZE)

STORAGE_AUTO_INDEX_STATS
  PropertyUtil.getSystemBoolean(Property.STORAGE_AUTO_INDEX_STATS, true);
  PropertyUtil.getDatabaseProperty(bootingTC,Property.STORAGE_AUTO_INDEX_STATS);

STORAGE_AUTO_INDEX_STATS_LOGGING
  PropertyUtil.getSystemBoolean(Property.STORAGE_AUTO_INDEX_STATS_LOGGING);
  PropertyUtil.getDatabaseProperty(bootingTC, 
Property.STORAGE_AUTO_INDEX_STATS_LOGGING);

STORAGE_AUTO_INDEX_STATS_TRACING
  PropertyUtil.getSystemProperty(Property.STORAGE_AUTO_INDEX_STATS_TRACING, 
"off");
  
PropertyUtil.getDatabaseProperty(bootingTC,Property.STORAGE_AUTO_INDEX_STATS_TRACING);

PROP_XA_TRANSACTION_TIMEOUT
  PropertyUtil.getServiceInt
    
(tc,Property.PROP_XA_TRANSACTION_TIMEOUT,0,Integer.MAX_VALUE,Property.DEFAULT_XA_TRANSACTION_TIMEOUT);

SQL_AUTHORIZATION_PROPERTY
  PropertyUtil.getSystemBoolean(Property.SQL_AUTHORIZATION_PROPERTY)
  
PropertyUtil.getDatabaseProperty(bootingTC,Property.SQL_AUTHORIZATION_PROPERTY);

DEFAULT_CONNECTION_MODE_PROPERTY
  SYSCS_GET_DATABASE_PROPERTY(Property.DEFAULT_CONNECTION_MODE_PROPERTY);
  PropertyUtil.getServiceProperty(tc,Property.DEFAULT_CONNECTION_MODE_PROPERTY);

READ_ONLY_ACCESS_USERS_PROPERTY
  PropertyUtil.getServiceProperty(tc, 
PropertyUtil.READ_ONLY_ACCESS_USERS_PROPERTY);

FULL_ACCESS_USERS_PROPERTY
  SYSCS_GET_DATABASE_PROPERTY(Property.FULL_ACCESS_USERS_PROPERTY);
  PropertyUtil.getServiceProperty(tc, PropertyUtil.FULL_ACCESS_USERS_PROPERTY);

REQUIRE_AUTHENTICATION_PARAMETER
  
PropertyUtil.getPropertyFromSet(properties,org.apache.derby.iapi.reference.Property.REQUIRE_AUTHENTICATION_PARAMETER);

AUTHENTICATION_PROVIDER_PARAMETER
  
PropertyUtil.getPropertyFromSet(properties,Property.AUTHENTICATION_PROVIDER_PARAMETER);

AUTHENTICATION_SERVER_PARAMETER
  PropertyUtil.getServiceProperty(tc,AUTHENTICATION_SERVER_PARAMETER,(String) 
null);

AUTHENTICATION_NATIVE_PASSWORD_LIFETIME
  
PropertyUtil.getPropertyFromSet(properties,Property.AUTHENTICATION_NATIVE_PASSWORD_LIFETIME);

AUTHENTICATION_PASSWORD_EXPIRATION_THRESHOLD
  
PropertyUtil.getPropertyFromSet(properties,Property.AUTHENTICATION_PASSWORD_EXPIRATION_THRESHOLD);

AUTHENTICATION_BUILTIN_SALT_LENGTH
  PropertyUtil.getPropertyFromSet(props, key);

AUTHENTICATION_BUILTIN_ITERATIONS
  PropertyUtil.getPropertyFromSet(props, key);

AUTHENTICATION_BUILTIN_ALGORITHM
  PropertyUtil.getPropertyFromSet(props, key);

REPLICATION_LOG_BUFFER_SIZE
  
PropertyUtil.getSystemInt(Property.REPLICATION_LOG_BUFFER_SIZE,DEFAULT_LOG_BUFFER_SIZE);

REPLICATION_MIN_SHIPPING_INTERVAL
  getSystemInt(Property.REPLICATION_MIN_SHIPPING_INTERVAL, (int)MIN);

REPLICATION_MAX_SHIPPING_INTERVAL
  getSystemInt(Property.REPLICATION_MAX_SHIPPING_INTERVAL, (int)MAX);

REPLICATION_VERBOSE
  PropertyUtil.getSystemBoolean(Property.REPLICATION_VERBOSE,true);

START_DRDA
  PropertyUtil.getSystemProperty(Property.START_DRDA);

DRDA_PROP_LOGCONNECTIONS
  PropertyUtil.getSystemProperty(Property.DRDA_PROP_LOGCONNECTIONS);

DRDA_PROP_TRACEALL
  PropertyUtil.getSystemProperty(Property.DRDA_PROP_TRACEALL);

DRDA_PROP_TRACE
  PropertyUtil.getSystemProperty( Property.DRDA_PROP_TRACEDIRECTORY )

DRDA_PROP_TRACEDIRECTORY
  PropertyUtil.getSystemProperty( Property.DRDA_PROP_TRACEDIRECTORY )

DRDA_PROP_MINTHREADS
  PropertyUtil.getSystemProperty( Property.DRDA_PROP_MINTHREADS);

DRDA_PROP_MAXTHREADS
  PropertyUtil.getSystemProperty( Property.DRDA_PROP_MAXTHREADS);

DRDA_PROP_TIMESLICE
  PropertyUtil.getSystemProperty(Property.DRDA_PROP_TIMESLICE);

DRDA_PROP_SSL_MODE
  PropertyUtil.getSystemProperty(Property.DRDA_PROP_SSL_MODE);

DRDA_PROP_SECURITYMECHANISM
  PropertyUtil.getSystemProperty(Property.DRDA_PROP_SECURITYMECHANISM);

DRDA_PROP_PORTNUMBER
  PropertyUtil.getSystemProperty(Property.DRDA_PROP_PORTNUMBER);

DRDA_PROP_HOSTNAME
  PropertyUtil.getSystemProperty(Property.DRDA_PROP_HOSTNAME);

DRDA_PROP_KEEPALIVE
  PropertyUtil.getSystemProperty(Property.DRDA_PROP_KEEPALIVE);

DRDA_PROP_STREAMOUTBUFFERSIZE
  PropertyUtil.getSystemInt( Property.DRDA_PROP_STREAMOUTBUFFERSIZE ,0 );

STORAGE_USE_DEFAULT_FILE_PERMISSIONS
  PropertyUtil.getSystemProperty(Property.STORAGE_USE_DEFAULT_FILE_PERMISSIONS);

                
> 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
>
> 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

Reply via email to