Differences between revisions 6 and 7
Revision 6 as of 2009-09-20 22:12:45
Size: 1312
Editor: localhost
Comment: converted to 1.6 markup
Revision 7 as of 2013-10-08 19:00:53
Size: 1961
Editor: KimHaase
Comment:
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
Line 3: Line 4:
This page lists the undocumented Derby behavior which can be handy to the users at the same time, the users should be aware that this behavior is not documented and hence it is subject to change at anytime. This page lists undocumented Derby behavior which can be handy for users. At the same time, users should be aware that this behavior is not documented, and hence it is subject to change at anytime.
Line 6: Line 7:
Currently, the client tracing can be enabled by setting jdbc url attributes or through setXXX methods on the DataSource or by calling DriverManager.setLogWriter method (More information on these options can be found in the Server and Administration Guide). All these options require changing the client code which may not be a feasible option for a deployed client application. To get around this, in Derby 10.3, 2 new JVM properties([[http://issues.apache.org/jira/browse/DERBY-1275|DERBY-1275]]) have been added. They are namely, derby.client.traceLevel and derby.client.traceDirectory. When the client application is started, the users can include these 2 JVM properties to start the client side tracing. eg
java -Dderby.client.traceDirectory=./traceDir -Dderby.client.traceLevel=64 clientApplication
Currently, the client tracing can be enabled by setting jdbc url attributes or through setXXX methods on the DataSource or by calling DriverManager.setLogWriter method (More information on these options can be found in the Server and Administration Guide). All these options require changing the client code which may not be a feasible option for a deployed client application. To get around this, in Derby 10.3, 2 new JVM properties([[http://issues.apache.org/jira/browse/DERBY-1275|DERBY-1275]]) have been added. They are namely, derby.client.traceLevel and derby.client.traceDirectory. When the client application is started, the users can include these 2 JVM properties to start the client side tracing. eg java -Dderby.client.traceDirectory=./traceDir -Dderby.client.traceLevel=64 clientApplication
Line 9: Line 9:
When running under security manager, read permission for these properties is required. If permission to read the properties is not allowed, the properties will be ignored and tracing will not be affected. When running under security manager, read permission for these properties is required. If permission to read the properties is not allowed, the properties will be ignored and tracing will not be affected.

= Undocumented optimizer overrides =
"Overriding the default optimizer behavior" in "Tuning Derby" (http://db.apache.org/derby/docs/10.10/tuning/ctunoptimzoverride.html) documents four optimizer overrides (constraint, index, joinOrder, joinStrategy). Derby supports some additional ones that are not documented. They are as follows:

 * bulkFetch (must be an integer greater than 0 and not updatable)
 * hashInitialCapacity (must be an integer greater than 0)
 * hashLoadFactor (must be a float value greater than 0.0 and less than or equal to 1.0)
 * hashMaxCapacity (must be an integer greater than 0)
 * useStatistics (must be "true" or "false")

Introduction

This page lists undocumented Derby behavior which can be handy for users. At the same time, users should be aware that this behavior is not documented, and hence it is subject to change at anytime.

Client side tracing under Network Server

Currently, the client tracing can be enabled by setting jdbc url attributes or through setXXX methods on the DataSource or by calling DriverManager.setLogWriter method (More information on these options can be found in the Server and Administration Guide). All these options require changing the client code which may not be a feasible option for a deployed client application. To get around this, in Derby 10.3, 2 new JVM properties(DERBY-1275) have been added. They are namely, derby.client.traceLevel and derby.client.traceDirectory. When the client application is started, the users can include these 2 JVM properties to start the client side tracing. eg java -Dderby.client.traceDirectory=./traceDir -Dderby.client.traceLevel=64 clientApplication

When running under security manager, read permission for these properties is required. If permission to read the properties is not allowed, the properties will be ignored and tracing will not be affected.

Undocumented optimizer overrides

"Overriding the default optimizer behavior" in "Tuning Derby" (http://db.apache.org/derby/docs/10.10/tuning/ctunoptimzoverride.html) documents four optimizer overrides (constraint, index, joinOrder, joinStrategy). Derby supports some additional ones that are not documented. They are as follows:

  • bulkFetch (must be an integer greater than 0 and not updatable)
  • hashInitialCapacity (must be an integer greater than 0)
  • hashLoadFactor (must be a float value greater than 0.0 and less than or equal to 1.0)
  • hashMaxCapacity (must be an integer greater than 0)
  • useStatistics (must be "true" or "false")

UndocumentedDerbyBehavior (last edited 2013-10-08 19:00:53 by KimHaase)