com.simba.dsi.dataengine.utilities
Class DataEnginePropertyKey

java.lang.Object
  extended by com.simba.dsi.dataengine.utilities.DataEnginePropertyKey

public class DataEnginePropertyKey
extends java.lang.Object

Constants of the supported DataEngine property keys.


Field Summary
static int DSIEXT_DATAENGINE_AETREE_OPTIMIZATION
          A String governing if SQLEngine should perform optimizations on the AE Tree.
static int DSIEXT_DATAENGINE_COALESCE_DUPLICATE_GROUP_BY_EXPRESSIONS
          A String governing if SQLEngine should remove duplicate expressions in the GROUP BY list in the AETree.
static int DSIEXT_DATAENGINE_IGNORE_PARSER_LIMITS
          A String governing if SQLEngine ignore limits defined by SQLGetInfo when building the parse tree.
static int DSIEXT_DATAENGINE_LOG_AETREES
          A UINT32 bitmask enumerating the types of logging to perform on the AE Tree.
static int DSIEXT_DATAENGINE_LOG_ETREE
          A String governing if SQLEngine should log the ETree.
static int DSIEXT_DATAENGINE_LOG_PARSETREE
          A String governing if SQLEngine should log the parse tree.
static int DSIEXT_DATAENGINE_NULL_EQUALS_EMPTY_STRING
          A String governing if SQLEngine should treat the IS NULL predicate and the = '' (empty string) comparison predicate the same.
static int DSIEXT_DATAENGINE_PREFER_INDEX_ONLY_SCANS
          A String governing if SQLEngine should use DSII indexes for 'Index-Only scans' even if no filters are satisfied by the indexed columns.
static int DSIEXT_DATAENGINE_TABLE_CACHING
          A String governing if SQLEngine should handle caching of tables so that the DSII does not need to be able to visit a row more than once.
static int DSIEXT_DATAENGINE_USE_DSII_INDEXES
          A String governing if SQLEngine should use DSII indexes during execution.
static int DSIEXT_DATAENGINE_USE_LITERAL_LEN_FOR_PARAM_META
          A String governing if SQLEngine should use the DSI_CONN_MAX_CHAR_LITERAL_LEN and DSI_CONN_MAX_BINARY_LITERAL_LEN when exposing parameter metadata.
static int DSIEXT_MAX_COLUMN_SIZE_TO_INCLUDE_IN_BLOCK
          The maximum column size in bytes for SQL-CHAR and SQL-BINARY types that will be stored in a memory block during memory intensive operations such as SORT or JOIN that use a temporary table to save intermediate results to disk.
static int DSIEXT_MAX_OPEN_FILE_PER_NODE
          Maximum number of open files that one execution node/unit, e.g.
static int DSIEXT_PROVIDE_DEFAULT_CATALOG_NAME
          A String governing if SQLEngine should provide the default catalog name to SqlDataEngine#openTable when the user has not specified it in the input SQL statement.
static int DSIEXT_RECOMMENDED_TEMPORARY_TABLE_BLOCK_SIZE
          The recommended block size (in bytes) that will be used for memory intensive operations such as SORT or JOIN that use a temporary table to save intermediate results to disk.
 
Constructor Summary
DataEnginePropertyKey()
           
 
Method Summary
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DSIEXT_DATAENGINE_NULL_EQUALS_EMPTY_STRING

public static final int DSIEXT_DATAENGINE_NULL_EQUALS_EMPTY_STRING
A String governing if SQLEngine should treat the IS NULL predicate and the = '' (empty string) comparison predicate the same.

default: "N"

See Also:
Constant Field Values

DSIEXT_DATAENGINE_TABLE_CACHING

public static final int DSIEXT_DATAENGINE_TABLE_CACHING
A String governing if SQLEngine should handle caching of tables so that the DSII does not need to be able to visit a row more than once. This can be useful if the data is fetched from a remote location and is not easily available after the first visit. However, if a DSII index is used on a table, then internal caching will be disabled for that table regardless of the value returned for this option.

default: "N"

See Also:
Constant Field Values

DSIEXT_DATAENGINE_AETREE_OPTIMIZATION

public static final int DSIEXT_DATAENGINE_AETREE_OPTIMIZATION
A String governing if SQLEngine should perform optimizations on the AE Tree.

default: "Y"

See Also:
Constant Field Values

DSIEXT_DATAENGINE_LOG_AETREES

public static final int DSIEXT_DATAENGINE_LOG_AETREES
A UINT32 bitmask enumerating the types of logging to perform on the AE Tree. If a specific value is set, then a file called AETree.log will be created in the global logging path and the specified AETree will be logged to that file. Note that if this value is set to 0 no logging is performed, but if any of the bitmask values are set then the AETree will be logged even if the global logging setting is set to off.

The bitmask is composed of OR'ing 0 or more of the following values:

default: 0

See Also:
Constant Field Values

DSIEXT_DATAENGINE_COALESCE_DUPLICATE_GROUP_BY_EXPRESSIONS

public static final int DSIEXT_DATAENGINE_COALESCE_DUPLICATE_GROUP_BY_EXPRESSIONS
A String governing if SQLEngine should remove duplicate expressions in the GROUP BY list in the AETree.

For example, if "Y", the query "SELECT C1 from T1 GROUP BY C1, C1" will result in the grouping list in the AETree containing only 1 node referring to C1. If "N', the same query will produce an AETree with two such nodes.

default: "Y"

See Also:
Constant Field Values

DSIEXT_DATAENGINE_IGNORE_PARSER_LIMITS

public static final int DSIEXT_DATAENGINE_IGNORE_PARSER_LIMITS
A String governing if SQLEngine ignore limits defined by SQLGetInfo when building the parse tree. Note that DSI_CONN_MAX_IDENTIFIER_LEN is never ignored, even if this property is set to "Y".

default: "N"

See Also:
Constant Field Values

DSIEXT_DATAENGINE_LOG_PARSETREE

public static final int DSIEXT_DATAENGINE_LOG_PARSETREE
A String governing if SQLEngine should log the parse tree. Note that if this value is set to N then no logging is performed, but if set to Y then the parse tree will be logged even if the global logging setting is set to off.

default: "N"

See Also:
Constant Field Values

DSIEXT_DATAENGINE_LOG_ETREE

public static final int DSIEXT_DATAENGINE_LOG_ETREE
A String governing if SQLEngine should log the ETree.

Note that if this value is set to N then no logging is performed, but if set to Y then the ETree will be logged even if the global logging setting is set to off.

default: "N"

See Also:
Constant Field Values

DSIEXT_DATAENGINE_USE_DSII_INDEXES

public static final int DSIEXT_DATAENGINE_USE_DSII_INDEXES
A String governing if SQLEngine should use DSII indexes during execution. If set to N, then DSIExtResultSet::OpenIndex() will not be called.

DSIEXT_DATAENGINE_PREFER_INDEX_ONLY_SCANS

public static final int DSIEXT_DATAENGINE_PREFER_INDEX_ONLY_SCANS
A String governing if SQLEngine should use DSII indexes for 'Index-Only scans' even if no filters are satisfied by the indexed columns. This property only has an effect if DSIEXT_DATAENGINE_USE_DSII_INDEXES is set to "Y". If this property is set to "N", this only prevents Index-Only scans when the index no filters. This option should be set to "N" unless doing an index-only scan is faster than using the corresponding table even if no rows are filtered out by the index. default: "N"

See Also:
Constant Field Values

DSIEXT_DATAENGINE_USE_LITERAL_LEN_FOR_PARAM_META

public static final int DSIEXT_DATAENGINE_USE_LITERAL_LEN_FOR_PARAM_META
A String governing if SQLEngine should use the DSI_CONN_MAX_CHAR_LITERAL_LEN and DSI_CONN_MAX_BINARY_LITERAL_LEN when exposing parameter metadata. default: L"Y"

See Also:
Constant Field Values

DSIEXT_RECOMMENDED_TEMPORARY_TABLE_BLOCK_SIZE

public static final int DSIEXT_RECOMMENDED_TEMPORARY_TABLE_BLOCK_SIZE
The recommended block size (in bytes) that will be used for memory intensive operations such as SORT or JOIN that use a temporary table to save intermediate results to disk. Each operation has a minimum amount of blocks that it will keep in memory. Therefore, the block-size is correlated to the minimum number of bytes that a query will need reserve in order to execute.

Setting a large block size can be problematic if there can be several queries executing at once because each will try to acquire (n-blocks)*blocksize bytes and fail if there is not enough memory to accommodate that.

Setting a small block size can decrease the performance of a query where the row size is close to or larger than the blocksize. For example, a query with many columns, or one where one column has a large column size. In this case, each in-memory block will only contain one row, which will make sorting slow.

This value will never be decreased, but it is possible that the actual block-size will be larger per query, depending on the estimated size of one row in the current relation.

This property can be set per query.


DSIEXT_MAX_COLUMN_SIZE_TO_INCLUDE_IN_BLOCK

public static final int DSIEXT_MAX_COLUMN_SIZE_TO_INCLUDE_IN_BLOCK
The maximum column size in bytes for SQL-CHAR and SQL-BINARY types that will be stored in a memory block during memory intensive operations such as SORT or JOIN that use a temporary table to save intermediate results to disk.

Allowing large data to be stored in memory has the effect of increasing the block-size when the large data-type is part of the relation. Having a large block size can be problematic if there can be several queries executing at once because each will try to acquire (n-blocks)*blocksize bytes and fail if there is not enough memory to accommodate that.

This property can be set per query.


DSIEXT_PROVIDE_DEFAULT_CATALOG_NAME

public static final int DSIEXT_PROVIDE_DEFAULT_CATALOG_NAME
A String governing if SQLEngine should provide the default catalog name to SqlDataEngine#openTable when the user has not specified it in the input SQL statement.

If "N" is chosen, then the catalog will be null for such SQL statements.

default: "Y"

See Also:
Constant Field Values

DSIEXT_MAX_OPEN_FILE_PER_NODE

public static final int DSIEXT_MAX_OPEN_FILE_PER_NODE
Maximum number of open files that one execution node/unit, e.g. sort or join node, are allowed to use. The property is to make sure that SQLEngine do not consume too much file descriptors as many Linux like systems limit the number of open file descriptors per process.

This property can be set per query.

Constructor Detail

DataEnginePropertyKey

public DataEnginePropertyKey()


Copyright © 2006-2014 Simba Technologies Incorporated. All Rights Reserved.