helma/build/antclick/db.conf

318 lines
10 KiB
Text

#######################################################
#
# Configuration options for the Mckoi SQL Database.
#
# NOTE: Lines starting with '#' are comments.
#
#######################################################
#
# database_path - The path where the database data files
# are located.
# See the 'root_path' configuration property for the
# details of how the engine resolves this to an
# absolute path in your file system.
database_path=./data
#
# log_path - The path the log files are written.
# See the 'root_path' configuration property for the
# details of how the engine resolves this to an
# absolute path in your file system.
# The log path must point to a writable directory. If
# no log files are to be kept, then comment out (or
# remove) the 'log_path' variable.
log_path=./log
#
# root_path - If this is set to 'jvm' then the root
# path of all database files is the root path of the
# JVM (Java virtual machine) running the database
# engine. If this property is set to 'configuration'
# or if it is not present then the root path is the
# path of this configuration file.
# This property is useful if you are deploying a
# database and need this configuration file to be the
# root of the directory tree of the database files.
root_path=configuration
#root_path=jvm
#
# jdbc_server_port - The TCP/IP port on this host where
# the database server is mounted. The default port
# of the Mckoi SQL Database server is '9157'
jdbc_server_port=9157
#
# ignore_case_for_identifiers - If enabled all
# identifiers are compared case insensitive. If
# disabled (the default) the case of the identifier
# is important.
# For example, if a table called 'MyTable' contains
# a column called 'my_column' and this property is
# enabled, the identifier 'MYTAble.MY_COlumN' will
# correctly reference the column of the table. If
# this property is disable a not found error is
# generated.
# This property is intended for compatibility with
# other database managements systems where the case
# of identifiers is not important.
ignore_case_for_identifiers=disabled
#
# socket_polling_frequency - Mckoi SQL maintains a pool
# of connections on the server to manage dispatching
# of commands to worker threads. All connections on
# the jdbc port are polled frequently, and ping
# requests are sent to determine if the TCP
# connection has closed or not. This value determines
# how frequently the connections are polled via the
# 'available' method.
# The value is the number of milliseconds between each
# poll of the 'available' method of the connections
# input socket stream. Different Java implementations
# will undoubtedly require this value to be tweaked.
# A value of '3' works great on the Sun NT Java 1.2.2
# and 1.3 Java runtimes.
#
# NOTE: This 'socket polling' module is a horrible hack
# and will be removed at some point when the threading
# performance improves or there is an API for non-
# blocking IO. I'll probably write an alternative
# version for use with the improved Java version.
socket_polling_frequency=3
# ----- PLUG-INS -----
#
# database_services - The services (as a Java class) that
# are registered at database boot time. Each service
# class is separated by a semi-colon (;) character.
# A database service must extend
# com.mckoi.database.ServerService
#
#database_services=mypackage.MyService
#
# function_factories - Registers one or more FunctionFactory
# classes with the database at boot time. A
# FunctionFactory allows user-defined functions to be
# incorporated into the SQL language. Each factory class
# is separated by a semi-colon (;) character.
#
#function_factories=mypackage.MyFunctionFactory
#
# The Java regular expression library to use. Currently
# the engine supports the Apache Jakarta regular expression
# library, and the GNU LGPL regular expression library.
# These two regular expression libraries can be found at the
# following web sites:
#
# GNU Regexp: http://www.cacas.org/~wes/java/
# Apache Regexp: http://jakarta.apache.org/regexp/
#
# The libraries provide similar functionality, however they
# are released under a different license. The GNU library
# is released under the LGPL and is compatible with GPL
# distributions of the database. The Apache Jakarta library
# is released under the Apache Software License and must not
# be linked into GPL distributions.
#
# Use 'regex_library=gnu.regexp' to use the GNU library, or
# 'regex_library=org.apache.regexp' to use the Apache
# library.
#
# NOTE: To use either library, you must include the
# respective .jar package in the Java classpath.
regex_library=gnu.regexp
# ----- PERFORMANCE -----
#
# data_cache_size - The maximum amount of memory (in bytes)
# to allow the memory cache to grow to. If this is set
# to a value < 4096 then the internal cache is disabled.
# It is recommended that a database server should provide
# a cache of 4 Megabytes (4194304). A stand alone
# database need not have such a large cache.
# data_cache_size=4194304
data_cache_size=0
#
# max_cache_entry_size - The maximum size of an element
# in the data cache. This is available for tuning
# reasons and the value here is dependant on the type
# of data being stored. If your data has more larger
# fields that would benefit from being stored in the
# cache then increase this value from its default of
# 8192 (8k).
max_cache_entry_size=8192
#
# lookup_comparison_list - When this is set to 'enabled'
# the database attempts to optimize sorting by generating
# an internal lookup table that enables the database to
# quickly calculate the order of a column without having
# to look at the data directly. The column lookup
# tables are only generated under certain query
# conditions. Set this to 'disabled' if the memory
# resources are slim.
lookup_comparison_list=enabled
#
# lookup_comparison_cache_size - The maximum amount of
# memory (in bytes) to allow for column lookup tables.
# If the maximum amount of memory is reached, the lookup
# table is either cached to disk so that is may be
# reloaded later if necessary, or removed from memory
# entirely. The decision is based on how long ago the
# table was last used.
#
# This property only makes sense if the
# 'lookup_comparison_list' property is enabled.
#
# NOTE: This property does nothing yet...
lookup_comparison_cache_size=2097152
#
# index_cache_size - The maximum amount of memory (in
# bytes) to allow for the storage of column indices.
# If the number of column indices in memory reaches
# this memory threshold then the index blocks are
# cached to disk.
#
# ISSUE: This is really an implementation of internal
# memory page caching but in Java. Is it necessary?
# Why not let the OS handle it with its page file?
#
# NOTE: This property does nothing yet...
index_cache_size=2097152
#
# max_worker_threads - The maximum number of worker
# threads that can be spawned to handle incoming
# requests. The higher this number, the more
# 'multi-threaded' the database becomes. The
# default setting is '4'.
maximum_worker_threads=4
#
# soft_index_storage - If this is set to 'enabled', the
# database engine will keep all column indices behind a
# soft reference. This enables the JVM garbage collector
# to reclaim memory used by the indexing system if the
# memory is needed.
#
# This is useful for an embedded database where requests
# are rare. When the database part is idle, the index
# memory (that can take up significant space for large
# tables) is reclaimed for other uses. For a dedicated
# database server it is recommended this is disabled.
#
# Enable this if you need the engine to use less memory.
# I would recommend the config property
# 'lookup_comparison_list' is disabled if this is enabled.
# The default setting is 'disabled'.
soft_index_storage=disabled
#
# dont_synch_filesystem - If this is enabled, the engine
# will not synchronize the file handle when a table change
# is committed. This will mean the data is not as
# safe but the 'commit' command will work faster. If this
# is enabled, there is a chance that committed changes will
# not get a chance to flush to the file system if the
# system crashes.
#
# It is recommended this property is left commented out.
#
#dont_synch_filesystem=enabled
#
# transaction_error_on_dirty_select - If this is disabled
# the 4th conflict (dirty read on modified table) will
# not be detected. This has transactional consequences
# that will cause data modifications to sometimes be
# out of syncronization. For example, one transaction
# adds an entry, and another concurrent transaction
# deletes all entries. If this is disabled this
# conflict will not be detected. The table will end up
# with the one entry added after commit.
#
# It is recommended this property is left commented out.
#
#transaction_error_on_dirty_select=disabled
# ----- SPECIAL -----
#
# read_only - If this is set to 'enabled' then the database
# is readable and not writable. You may boot a database
# in read only mode from multiple VM's. If the database
# data files are stored on a read only medium such as a
# CD, then the property must be enabled else it will not
# be possible to boot the database.
# ( Uncomment the line below for read only mode )
#read_only=enabled
# ----- DEBUGGING -----
#
# debug_log_file - The file that is used to log all debug
# information. This file is stored in the 'log_path'
# path.
debug_log_file=debug.log
#
# debug_level - The minimum debug level of messages that
# are written to the log file. Reducing this number
# will cause more debug information to be written to
# the log.
# 10 = INFORMATION
# 20 = WARNINGS
# 30 = ALERTS
# 40 = ERRORS
debug_level=20
#
# table_lock_check - If this is enabled, every time a
# table is accessed a check is performed to ensure that
# the table owns the correct locks. If a lock assertion
# fails then an error is generated in the log file.
# This should not be enabled in a production system
# because the lock assertion check is expensive. However
# it should be used during testing because it helps to
# ensure locks are being made correctly.
table_lock_check=disabled