Class XPLAINUtil
- java.lang.Object
-
- org.apache.derby.impl.sql.execute.xplain.XPLAINUtil
-
public class XPLAINUtil extends java.lang.Object
This class contains helper methods, which support the System Table Visitor.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
CALL_STMT_TYPE
static java.lang.String
DDL_STMT_TYPE
static java.lang.String
DELETE_STMT_TYPE
static java.lang.String
INSERT_STMT_TYPE
static java.lang.String
ISOLATION_READ_COMMIT
static java.lang.String
ISOLATION_READ_UNCOMMITED
isolation level codesstatic java.lang.String
ISOLATION_REPEAT_READ
static java.lang.String
ISOLATION_SERIALIZABLE
static java.lang.String
LOCK_GRANULARITY_ROW
static java.lang.String
LOCK_GRANULARITY_TABLE
lock granularitystatic java.lang.String
LOCK_MODE_EXCLUSIVE
lock modesstatic java.lang.String
LOCK_MODE_INSTANTENOUS_EXCLUSIVE
static java.lang.String
LOCK_MODE_INSTANTENOUS_SHARE
static java.lang.String
LOCK_MODE_SHARE
static java.lang.String
NO_CODE
static java.lang.String
OP_AGGREGATE
static java.lang.String
OP_ANY
static java.lang.String
OP_BULK
static java.lang.String
OP_CASCADE
static java.lang.String
OP_CONSTRAINTSCAN
static java.lang.String
OP_CURRENT_OF
static java.lang.String
OP_DELETE
static java.lang.String
OP_DISTINCT
static java.lang.String
OP_DISTINCTSCAN
static java.lang.String
OP_FILTER
static java.lang.String
OP_GROUP
static java.lang.String
OP_HASHSCAN
static java.lang.String
OP_HASHTABLE
static java.lang.String
OP_INDEXSCAN
static java.lang.String
OP_INSERT
static java.lang.String
OP_JOIN_HASH
static java.lang.String
OP_JOIN_HASH_LO
static java.lang.String
OP_JOIN_NL
static java.lang.String
OP_JOIN_NL_LO
static java.lang.String
OP_LASTINDEXKEYSCAN
static java.lang.String
OP_MATERIALIZE
static java.lang.String
OP_NORMALIZE
static java.lang.String
OP_ONCE
static java.lang.String
OP_PROJ_RESTRICT
static java.lang.String
OP_PROJECT
static java.lang.String
OP_ROW
static java.lang.String
OP_ROW_COUNT
static java.lang.String
OP_ROWIDSCAN
static java.lang.String
OP_SCROLL
static java.lang.String
OP_SET
static java.lang.String
OP_SET_EXCEPT
static java.lang.String
OP_SET_INTERSECT
static java.lang.String
OP_SORT
static java.lang.String
OP_TABLESCAN
the rs operator codesstatic java.lang.String
OP_UNION
static java.lang.String
OP_UPDATE
static java.lang.String
OP_VTI
static java.lang.String
OP_VTI_RS
static java.lang.String
OP_WINDOW
static java.lang.String
SCAN_BITSET_ALL
static java.lang.String
SCAN_BTREE
static java.lang.String
SCAN_HEAP
the scan info codesstatic java.lang.String
SCAN_SORT
static java.lang.String
SELECT_APPROXIMATE_STMT_TYPE
static java.lang.String
SELECT_STMT_TYPE
the different statement type constantsstatic java.lang.String
SORT_EXTERNAL
sort info propertiesstatic java.lang.String
SORT_INTERNAL
static java.lang.String
UPDATE_STMT_TYPE
static java.lang.String
XPLAIN_FULL
static java.lang.String
XPLAIN_ONLY
the explain type constantsstatic java.lang.String
YES_CODE
yes no codes
-
Constructor Summary
Constructors Constructor Description XPLAINUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static XPLAINScanPropsDescriptor
extractScanProps(XPLAINScanPropsDescriptor descriptor, java.util.Properties scanProps)
helper method which extracts the right (non-internationalzed) scan properties of the scan info propertiesstatic XPLAINSortPropsDescriptor
extractSortProps(XPLAINSortPropsDescriptor descriptor, java.util.Properties sortProps)
helper method which extracts the right (non-internationalzed) sort properties of the sort info properties objectstatic java.lang.Long
getAVGNextTime(long dividend, long divisor)
Compute average, avoiding divide-by-zero problems.static java.lang.String
getHashKeyColumnNumberString(int[] hashKeyColumns)
static java.lang.String
getIsolationLevelCode(java.lang.String isolationLevel)
util function, to resolve the isolation level and return a isolation level codestatic java.lang.String
getLockGranularityCode(java.lang.String lockString)
util function, to resolve the lock granularity and return a lock granularity codestatic java.lang.String
getLockModeCode(java.lang.String lockString)
util function, to resolve the lock mode, and return a lock mode codestatic java.lang.String
getStatementType(java.lang.String SQLText)
This method helps to figure out the statement type and returns an appropriate return code, characterizing the stmt type.static java.lang.String
getYesNoCharFromBoolean(boolean test)
-
-
-
Field Detail
-
ISOLATION_READ_UNCOMMITED
public static final java.lang.String ISOLATION_READ_UNCOMMITED
isolation level codes- See Also:
- Constant Field Values
-
ISOLATION_READ_COMMIT
public static final java.lang.String ISOLATION_READ_COMMIT
- See Also:
- Constant Field Values
-
ISOLATION_REPEAT_READ
public static final java.lang.String ISOLATION_REPEAT_READ
- See Also:
- Constant Field Values
-
ISOLATION_SERIALIZABLE
public static final java.lang.String ISOLATION_SERIALIZABLE
- See Also:
- Constant Field Values
-
LOCK_MODE_EXCLUSIVE
public static final java.lang.String LOCK_MODE_EXCLUSIVE
lock modes- See Also:
- Constant Field Values
-
LOCK_MODE_INSTANTENOUS_EXCLUSIVE
public static final java.lang.String LOCK_MODE_INSTANTENOUS_EXCLUSIVE
- See Also:
- Constant Field Values
-
LOCK_MODE_SHARE
public static final java.lang.String LOCK_MODE_SHARE
- See Also:
- Constant Field Values
-
LOCK_MODE_INSTANTENOUS_SHARE
public static final java.lang.String LOCK_MODE_INSTANTENOUS_SHARE
- See Also:
- Constant Field Values
-
LOCK_GRANULARITY_TABLE
public static final java.lang.String LOCK_GRANULARITY_TABLE
lock granularity- See Also:
- Constant Field Values
-
LOCK_GRANULARITY_ROW
public static final java.lang.String LOCK_GRANULARITY_ROW
- See Also:
- Constant Field Values
-
OP_TABLESCAN
public static final java.lang.String OP_TABLESCAN
the rs operator codes- See Also:
- Constant Field Values
-
OP_INDEXSCAN
public static final java.lang.String OP_INDEXSCAN
- See Also:
- Constant Field Values
-
OP_HASHSCAN
public static final java.lang.String OP_HASHSCAN
- See Also:
- Constant Field Values
-
OP_DISTINCTSCAN
public static final java.lang.String OP_DISTINCTSCAN
- See Also:
- Constant Field Values
-
OP_LASTINDEXKEYSCAN
public static final java.lang.String OP_LASTINDEXKEYSCAN
- See Also:
- Constant Field Values
-
OP_HASHTABLE
public static final java.lang.String OP_HASHTABLE
- See Also:
- Constant Field Values
-
OP_ROWIDSCAN
public static final java.lang.String OP_ROWIDSCAN
- See Also:
- Constant Field Values
-
OP_CONSTRAINTSCAN
public static final java.lang.String OP_CONSTRAINTSCAN
- See Also:
- Constant Field Values
-
OP_JOIN_NL
public static final java.lang.String OP_JOIN_NL
- See Also:
- Constant Field Values
-
OP_JOIN_HASH
public static final java.lang.String OP_JOIN_HASH
- See Also:
- Constant Field Values
-
OP_JOIN_NL_LO
public static final java.lang.String OP_JOIN_NL_LO
- See Also:
- Constant Field Values
-
OP_JOIN_HASH_LO
public static final java.lang.String OP_JOIN_HASH_LO
- See Also:
- Constant Field Values
-
OP_UNION
public static final java.lang.String OP_UNION
- See Also:
- Constant Field Values
-
OP_SET
public static final java.lang.String OP_SET
- See Also:
- Constant Field Values
-
OP_SET_INTERSECT
public static final java.lang.String OP_SET_INTERSECT
- See Also:
- Constant Field Values
-
OP_SET_EXCEPT
public static final java.lang.String OP_SET_EXCEPT
- See Also:
- Constant Field Values
-
OP_INSERT
public static final java.lang.String OP_INSERT
- See Also:
- Constant Field Values
-
OP_UPDATE
public static final java.lang.String OP_UPDATE
- See Also:
- Constant Field Values
-
OP_DELETE
public static final java.lang.String OP_DELETE
- See Also:
- Constant Field Values
-
OP_CASCADE
public static final java.lang.String OP_CASCADE
- See Also:
- Constant Field Values
-
OP_VTI
public static final java.lang.String OP_VTI
- See Also:
- Constant Field Values
-
OP_BULK
public static final java.lang.String OP_BULK
- See Also:
- Constant Field Values
-
OP_DISTINCT
public static final java.lang.String OP_DISTINCT
- See Also:
- Constant Field Values
-
OP_NORMALIZE
public static final java.lang.String OP_NORMALIZE
- See Also:
- Constant Field Values
-
OP_ANY
public static final java.lang.String OP_ANY
- See Also:
- Constant Field Values
-
OP_SCROLL
public static final java.lang.String OP_SCROLL
- See Also:
- Constant Field Values
-
OP_MATERIALIZE
public static final java.lang.String OP_MATERIALIZE
- See Also:
- Constant Field Values
-
OP_ONCE
public static final java.lang.String OP_ONCE
- See Also:
- Constant Field Values
-
OP_VTI_RS
public static final java.lang.String OP_VTI_RS
- See Also:
- Constant Field Values
-
OP_ROW
public static final java.lang.String OP_ROW
- See Also:
- Constant Field Values
-
OP_PROJECT
public static final java.lang.String OP_PROJECT
- See Also:
- Constant Field Values
-
OP_FILTER
public static final java.lang.String OP_FILTER
- See Also:
- Constant Field Values
-
OP_AGGREGATE
public static final java.lang.String OP_AGGREGATE
- See Also:
- Constant Field Values
-
OP_PROJ_RESTRICT
public static final java.lang.String OP_PROJ_RESTRICT
- See Also:
- Constant Field Values
-
OP_SORT
public static final java.lang.String OP_SORT
- See Also:
- Constant Field Values
-
OP_GROUP
public static final java.lang.String OP_GROUP
- See Also:
- Constant Field Values
-
OP_CURRENT_OF
public static final java.lang.String OP_CURRENT_OF
- See Also:
- Constant Field Values
-
OP_ROW_COUNT
public static final java.lang.String OP_ROW_COUNT
- See Also:
- Constant Field Values
-
OP_WINDOW
public static final java.lang.String OP_WINDOW
- See Also:
- Constant Field Values
-
SCAN_HEAP
public static final java.lang.String SCAN_HEAP
the scan info codes- See Also:
- Constant Field Values
-
SCAN_BTREE
public static final java.lang.String SCAN_BTREE
- See Also:
- Constant Field Values
-
SCAN_SORT
public static final java.lang.String SCAN_SORT
- See Also:
- Constant Field Values
-
SCAN_BITSET_ALL
public static final java.lang.String SCAN_BITSET_ALL
- See Also:
- Constant Field Values
-
SELECT_STMT_TYPE
public static final java.lang.String SELECT_STMT_TYPE
the different statement type constants- See Also:
- Constant Field Values
-
SELECT_APPROXIMATE_STMT_TYPE
public static final java.lang.String SELECT_APPROXIMATE_STMT_TYPE
- See Also:
- Constant Field Values
-
INSERT_STMT_TYPE
public static final java.lang.String INSERT_STMT_TYPE
- See Also:
- Constant Field Values
-
UPDATE_STMT_TYPE
public static final java.lang.String UPDATE_STMT_TYPE
- See Also:
- Constant Field Values
-
DELETE_STMT_TYPE
public static final java.lang.String DELETE_STMT_TYPE
- See Also:
- Constant Field Values
-
CALL_STMT_TYPE
public static final java.lang.String CALL_STMT_TYPE
- See Also:
- Constant Field Values
-
DDL_STMT_TYPE
public static final java.lang.String DDL_STMT_TYPE
- See Also:
- Constant Field Values
-
XPLAIN_ONLY
public static final java.lang.String XPLAIN_ONLY
the explain type constants- See Also:
- Constant Field Values
-
XPLAIN_FULL
public static final java.lang.String XPLAIN_FULL
- See Also:
- Constant Field Values
-
SORT_EXTERNAL
public static final java.lang.String SORT_EXTERNAL
sort info properties- See Also:
- Constant Field Values
-
SORT_INTERNAL
public static final java.lang.String SORT_INTERNAL
- See Also:
- Constant Field Values
-
YES_CODE
public static final java.lang.String YES_CODE
yes no codes- See Also:
- Constant Field Values
-
NO_CODE
public static final java.lang.String NO_CODE
- See Also:
- Constant Field Values
-
-
Method Detail
-
getYesNoCharFromBoolean
public static java.lang.String getYesNoCharFromBoolean(boolean test)
-
getHashKeyColumnNumberString
public static java.lang.String getHashKeyColumnNumberString(int[] hashKeyColumns)
-
getLockModeCode
public static java.lang.String getLockModeCode(java.lang.String lockString)
util function, to resolve the lock mode, and return a lock mode code
-
getIsolationLevelCode
public static java.lang.String getIsolationLevelCode(java.lang.String isolationLevel)
util function, to resolve the isolation level and return a isolation level code
-
getLockGranularityCode
public static java.lang.String getLockGranularityCode(java.lang.String lockString)
util function, to resolve the lock granularity and return a lock granularity code
-
getStatementType
public static java.lang.String getStatementType(java.lang.String SQLText)
This method helps to figure out the statement type and returns an appropriate return code, characterizing the stmt type.
-
extractScanProps
public static XPLAINScanPropsDescriptor extractScanProps(XPLAINScanPropsDescriptor descriptor, java.util.Properties scanProps)
helper method which extracts the right (non-internationalzed) scan properties of the scan info properties- Parameters:
descriptor
- the descriptor to fill with propertiesscanProps
- the provided scan props- Returns:
- the filled descriptor
-
extractSortProps
public static XPLAINSortPropsDescriptor extractSortProps(XPLAINSortPropsDescriptor descriptor, java.util.Properties sortProps)
helper method which extracts the right (non-internationalzed) sort properties of the sort info properties object- Parameters:
descriptor
- the descriptor to fill with propertiessortProps
- the provided sort props- Returns:
- the filled descriptor
-
getAVGNextTime
public static java.lang.Long getAVGNextTime(long dividend, long divisor)
Compute average, avoiding divide-by-zero problems.- Parameters:
dividend
- the long value for the dividend (the whole next time)divisor
- the long value for the divisor (the sum of all rows seen)- Returns:
- the quotient or null
-
-