Class XPLAINUtil
- java.lang.Object
-
- org.apache.derby.impl.sql.execute.xplain.XPLAINUtil
-
public class XPLAINUtil extends java.lang.ObjectThis class contains helper methods, which support the System Table Visitor.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringCALL_STMT_TYPEstatic java.lang.StringDDL_STMT_TYPEstatic java.lang.StringDELETE_STMT_TYPEstatic java.lang.StringINSERT_STMT_TYPEstatic java.lang.StringISOLATION_READ_COMMITstatic java.lang.StringISOLATION_READ_UNCOMMITEDisolation level codesstatic java.lang.StringISOLATION_REPEAT_READstatic java.lang.StringISOLATION_SERIALIZABLEstatic java.lang.StringLOCK_GRANULARITY_ROWstatic java.lang.StringLOCK_GRANULARITY_TABLElock granularitystatic java.lang.StringLOCK_MODE_EXCLUSIVElock modesstatic java.lang.StringLOCK_MODE_INSTANTENOUS_EXCLUSIVEstatic java.lang.StringLOCK_MODE_INSTANTENOUS_SHAREstatic java.lang.StringLOCK_MODE_SHAREstatic java.lang.StringNO_CODEstatic java.lang.StringOP_AGGREGATEstatic java.lang.StringOP_ANYstatic java.lang.StringOP_BULKstatic java.lang.StringOP_CASCADEstatic java.lang.StringOP_CONSTRAINTSCANstatic java.lang.StringOP_CURRENT_OFstatic java.lang.StringOP_DELETEstatic java.lang.StringOP_DISTINCTstatic java.lang.StringOP_DISTINCTSCANstatic java.lang.StringOP_FILTERstatic java.lang.StringOP_GROUPstatic java.lang.StringOP_HASHSCANstatic java.lang.StringOP_HASHTABLEstatic java.lang.StringOP_INDEXSCANstatic java.lang.StringOP_INSERTstatic java.lang.StringOP_JOIN_HASHstatic java.lang.StringOP_JOIN_HASH_LOstatic java.lang.StringOP_JOIN_NLstatic java.lang.StringOP_JOIN_NL_LOstatic java.lang.StringOP_LASTINDEXKEYSCANstatic java.lang.StringOP_MATERIALIZEstatic java.lang.StringOP_NORMALIZEstatic java.lang.StringOP_ONCEstatic java.lang.StringOP_PROJ_RESTRICTstatic java.lang.StringOP_PROJECTstatic java.lang.StringOP_ROWstatic java.lang.StringOP_ROW_COUNTstatic java.lang.StringOP_ROWIDSCANstatic java.lang.StringOP_SCROLLstatic java.lang.StringOP_SETstatic java.lang.StringOP_SET_EXCEPTstatic java.lang.StringOP_SET_INTERSECTstatic java.lang.StringOP_SORTstatic java.lang.StringOP_TABLESCANthe rs operator codesstatic java.lang.StringOP_UNIONstatic java.lang.StringOP_UPDATEstatic java.lang.StringOP_VTIstatic java.lang.StringOP_VTI_RSstatic java.lang.StringOP_WINDOWstatic java.lang.StringSCAN_BITSET_ALLstatic java.lang.StringSCAN_BTREEstatic java.lang.StringSCAN_HEAPthe scan info codesstatic java.lang.StringSCAN_SORTstatic java.lang.StringSELECT_APPROXIMATE_STMT_TYPEstatic java.lang.StringSELECT_STMT_TYPEthe different statement type constantsstatic java.lang.StringSORT_EXTERNALsort info propertiesstatic java.lang.StringSORT_INTERNALstatic java.lang.StringUPDATE_STMT_TYPEstatic java.lang.StringXPLAIN_FULLstatic java.lang.StringXPLAIN_ONLYthe explain type constantsstatic java.lang.StringYES_CODEyes no codes
-
Constructor Summary
Constructors Constructor Description XPLAINUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static XPLAINScanPropsDescriptorextractScanProps(XPLAINScanPropsDescriptor descriptor, java.util.Properties scanProps)helper method which extracts the right (non-internationalzed) scan properties of the scan info propertiesstatic XPLAINSortPropsDescriptorextractSortProps(XPLAINSortPropsDescriptor descriptor, java.util.Properties sortProps)helper method which extracts the right (non-internationalzed) sort properties of the sort info properties objectstatic java.lang.LonggetAVGNextTime(long dividend, long divisor)Compute average, avoiding divide-by-zero problems.static java.lang.StringgetHashKeyColumnNumberString(int[] hashKeyColumns)static java.lang.StringgetIsolationLevelCode(java.lang.String isolationLevel)util function, to resolve the isolation level and return a isolation level codestatic java.lang.StringgetLockGranularityCode(java.lang.String lockString)util function, to resolve the lock granularity and return a lock granularity codestatic java.lang.StringgetLockModeCode(java.lang.String lockString)util function, to resolve the lock mode, and return a lock mode codestatic java.lang.StringgetStatementType(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.StringgetYesNoCharFromBoolean(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
-
-