XPLAINVisitor
public class XPLAINSystemTableVisitor extends java.lang.Object implements XPLAINVisitor
Modifier and Type | Field | Description |
---|---|---|
private Activation |
activation |
|
private boolean |
considerTimingInformation |
|
private DataDictionary |
dd |
|
private LanguageConnectionContext |
lcc |
|
private boolean |
no_call_stmts |
|
private int |
noChildren |
|
private java.util.List<XPLAINResultSetDescriptor> |
rsets |
|
private java.util.List<java.lang.Object> |
rsetsTimings |
|
private java.util.List<XPLAINScanPropsDescriptor> |
scanrsets |
|
private java.util.List<XPLAINSortPropsDescriptor> |
sortrsets |
|
private XPLAINStatementDescriptor |
stmt |
|
private XPLAINStatementTimingsDescriptor |
stmtTimings |
|
private UUID |
stmtUUID |
|
private java.util.Stack<UUID> |
UUIDStack |
Constructor | Description |
---|---|
XPLAINSystemTableVisitor() |
Modifier and Type | Method | Description |
---|---|---|
private void |
addArraysToSystemCatalogs() |
This method writes the created descriptor arrays
to the cooresponding system catalogs.
|
private void |
addStmtDescriptorsToSystemCatalog() |
This method writes only the stmt and its timing descriptor
to the dataDictionary
|
private void |
clean() |
This method cleans up things after explanation.
|
void |
doXPLAIN(RunTimeStatistics rss,
Activation activation) |
the interface method, which gets called by the Top-ResultSet, which starts
the tree traversal.
|
private java.sql.Connection |
getDefaultConn() |
Open a nested Connection with which to execute INSERT statements.
|
private void |
pushUUIDnoChildren(UUID uuid) |
helper method, which pushes the UUID,
"number of Children" times onto the UUIDStack.
|
void |
reset() |
This method resets the visitor.
|
void |
setNumberOfChildren(int noChildren) |
this method only stores the current number of children of the current explained node.
|
void |
visit(ResultSetStatistics statistics) |
Visit this node, calling back to it to get details.
|
private boolean no_call_stmts
private LanguageConnectionContext lcc
private DataDictionary dd
private Activation activation
private boolean considerTimingInformation
private XPLAINStatementDescriptor stmt
private XPLAINStatementTimingsDescriptor stmtTimings
private UUID stmtUUID
private java.util.List<XPLAINResultSetDescriptor> rsets
private java.util.List<java.lang.Object> rsetsTimings
private java.util.List<XPLAINSortPropsDescriptor> sortrsets
private java.util.List<XPLAINScanPropsDescriptor> scanrsets
private int noChildren
private java.util.Stack<UUID> UUIDStack
private void pushUUIDnoChildren(UUID uuid)
uuid
- the UUID to pushpublic void setNumberOfChildren(int noChildren)
setNumberOfChildren
in interface XPLAINVisitor
noChildren
- the number of children of the current explained node.public void visit(ResultSetStatistics statistics)
visit
in interface XPLAINVisitor
statistics
- the statistics, which want to get explained.public void reset()
reset
in interface XPLAINVisitor
public void doXPLAIN(RunTimeStatistics rss, Activation activation) throws StandardException
doXPLAIN
in interface XPLAINVisitor
StandardException
private void clean()
private java.sql.Connection getDefaultConn() throws java.sql.SQLException
java.sql.SQLException
private void addStmtDescriptorsToSystemCatalog() throws StandardException, java.sql.SQLException
StandardException
java.sql.SQLException
private void addArraysToSystemCatalogs() throws StandardException, java.sql.SQLException
StandardException
java.sql.SQLException
Apache Derby V10.14 Internals - Copyright © 2004,2018 The Apache Software Foundation. All Rights Reserved.