org.teiid.query.analysis
Class AnalysisRecord

java.lang.Object
  extended by org.teiid.query.analysis.AnalysisRecord
All Implemented Interfaces:
java.io.Serializable

public class AnalysisRecord
extends java.lang.Object
implements java.io.Serializable

The AnalysisRecord holds all debug/analysis information for a particular query as it is executed. This includes:

See Also:
Serialized Form

Field Summary
static java.lang.String PROP_BINDINGS
           
static java.lang.String PROP_CONDITION
           
static java.lang.String PROP_CRITERIA
           
static java.lang.String PROP_DATA_COL
           
static java.lang.String PROP_DEFAULT
           
static java.lang.String PROP_DEFAULT_PROGRAM
           
static java.lang.String PROP_DEPENDENT
           
static java.lang.String PROP_ELSE
           
static java.lang.String PROP_ENCODING
           
static java.lang.String PROP_EXECUTION_PLAN
           
static java.lang.String PROP_EXPRESSION
           
static java.lang.String PROP_FORMATTED
           
static java.lang.String PROP_GROUP_COLS
           
static java.lang.String PROP_IN_MEMORY
           
static java.lang.String PROP_INTO_GROUP
           
static java.lang.String PROP_IS_STAGING
           
static java.lang.String PROP_JOIN_CRITERIA
           
static java.lang.String PROP_JOIN_STRATEGY
           
static java.lang.String PROP_JOIN_TYPE
           
static java.lang.String PROP_MESSAGE
           
static java.lang.String PROP_MODEL_NAME
           
static java.lang.String PROP_NAMESPACE
           
static java.lang.String PROP_NAMESPACE_DECL
           
static java.lang.String PROP_NODE_COST_ESTIMATES
           
static java.lang.String PROP_NODE_STATS_LIST
           
static java.lang.String PROP_OPTIONAL
           
static java.lang.String PROP_OUTPUT_COLS
           
static java.lang.String PROP_PROGRAM
           
static java.lang.String PROP_RECURSE_DIR
           
static java.lang.String PROP_RESULT_SET
           
static java.lang.String PROP_ROW_LIMIT
           
static java.lang.String PROP_ROW_OFFSET
           
static java.lang.String PROP_SELECT_COLS
           
static java.lang.String PROP_SORT_COLS
           
static java.lang.String PROP_SORT_MODE
           
static java.lang.String PROP_SQL
           
static java.lang.String PROP_TAG
           
static java.lang.String PROP_THEN
           
static java.lang.String PROP_VARIABLE
           
static java.lang.String PROP_WITH
           
 
Constructor Summary
AnalysisRecord(boolean recordQueryPlan, boolean recordDebug)
           
 
Method Summary
 void addAnnotation(Annotation annotation)
          Add an annotation.
static void addLanaguageObjects(PlanNode node, java.lang.String key, java.util.List<? extends LanguageObject> objects)
           
static AnalysisRecord createNonRecordingRecord()
           
 java.util.Collection<Annotation> getAnnotations()
          Get annotations.
 java.lang.String getDebugLog()
          Get debug trace log recorded to writer.
static java.util.List<java.lang.String> getOutputColumnProperties(java.util.List<SingleElementSymbol> projectedSymbols)
          Helper method to turn a list of projected symbols into a suitable list of output column strings with name and type.
 PlanNode getQueryPlan()
           
 void println(java.lang.String debugLine)
          Add line to debug log This can only be used if recordDebug returns true.
 boolean recordAnnotations()
          Determine whether annotations should be recorded
 boolean recordDebug()
          Determine whether debug trace log should be recorded
 boolean recordQueryPlan()
          Determine whether query plan should be recorded
 void setQueryPlan(PlanNode queryPlan)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PROP_OUTPUT_COLS

public static final java.lang.String PROP_OUTPUT_COLS
See Also:
Constant Field Values

PROP_CRITERIA

public static final java.lang.String PROP_CRITERIA
See Also:
Constant Field Values

PROP_SELECT_COLS

public static final java.lang.String PROP_SELECT_COLS
See Also:
Constant Field Values

PROP_GROUP_COLS

public static final java.lang.String PROP_GROUP_COLS
See Also:
Constant Field Values

PROP_SQL

public static final java.lang.String PROP_SQL
See Also:
Constant Field Values

PROP_MODEL_NAME

public static final java.lang.String PROP_MODEL_NAME
See Also:
Constant Field Values

PROP_DEPENDENT

public static final java.lang.String PROP_DEPENDENT
See Also:
Constant Field Values

PROP_JOIN_STRATEGY

public static final java.lang.String PROP_JOIN_STRATEGY
See Also:
Constant Field Values

PROP_JOIN_TYPE

public static final java.lang.String PROP_JOIN_TYPE
See Also:
Constant Field Values

PROP_JOIN_CRITERIA

public static final java.lang.String PROP_JOIN_CRITERIA
See Also:
Constant Field Values

PROP_EXECUTION_PLAN

public static final java.lang.String PROP_EXECUTION_PLAN
See Also:
Constant Field Values

PROP_INTO_GROUP

public static final java.lang.String PROP_INTO_GROUP
See Also:
Constant Field Values

PROP_SORT_COLS

public static final java.lang.String PROP_SORT_COLS
See Also:
Constant Field Values

PROP_SORT_MODE

public static final java.lang.String PROP_SORT_MODE
See Also:
Constant Field Values

PROP_NODE_STATS_LIST

public static final java.lang.String PROP_NODE_STATS_LIST
See Also:
Constant Field Values

PROP_NODE_COST_ESTIMATES

public static final java.lang.String PROP_NODE_COST_ESTIMATES
See Also:
Constant Field Values

PROP_ROW_OFFSET

public static final java.lang.String PROP_ROW_OFFSET
See Also:
Constant Field Values

PROP_ROW_LIMIT

public static final java.lang.String PROP_ROW_LIMIT
See Also:
Constant Field Values

PROP_WITH

public static final java.lang.String PROP_WITH
See Also:
Constant Field Values

PROP_MESSAGE

public static final java.lang.String PROP_MESSAGE
See Also:
Constant Field Values

PROP_TAG

public static final java.lang.String PROP_TAG
See Also:
Constant Field Values

PROP_NAMESPACE

public static final java.lang.String PROP_NAMESPACE
See Also:
Constant Field Values

PROP_DATA_COL

public static final java.lang.String PROP_DATA_COL
See Also:
Constant Field Values

PROP_NAMESPACE_DECL

public static final java.lang.String PROP_NAMESPACE_DECL
See Also:
Constant Field Values

PROP_OPTIONAL

public static final java.lang.String PROP_OPTIONAL
See Also:
Constant Field Values

PROP_DEFAULT

public static final java.lang.String PROP_DEFAULT
See Also:
Constant Field Values

PROP_RECURSE_DIR

public static final java.lang.String PROP_RECURSE_DIR
See Also:
Constant Field Values

PROP_BINDINGS

public static final java.lang.String PROP_BINDINGS
See Also:
Constant Field Values

PROP_IS_STAGING

public static final java.lang.String PROP_IS_STAGING
See Also:
Constant Field Values

PROP_IN_MEMORY

public static final java.lang.String PROP_IN_MEMORY
See Also:
Constant Field Values

PROP_CONDITION

public static final java.lang.String PROP_CONDITION
See Also:
Constant Field Values

PROP_DEFAULT_PROGRAM

public static final java.lang.String PROP_DEFAULT_PROGRAM
See Also:
Constant Field Values

PROP_ENCODING

public static final java.lang.String PROP_ENCODING
See Also:
Constant Field Values

PROP_FORMATTED

public static final java.lang.String PROP_FORMATTED
See Also:
Constant Field Values

PROP_EXPRESSION

public static final java.lang.String PROP_EXPRESSION
See Also:
Constant Field Values

PROP_RESULT_SET

public static final java.lang.String PROP_RESULT_SET
See Also:
Constant Field Values

PROP_PROGRAM

public static final java.lang.String PROP_PROGRAM
See Also:
Constant Field Values

PROP_VARIABLE

public static final java.lang.String PROP_VARIABLE
See Also:
Constant Field Values

PROP_THEN

public static final java.lang.String PROP_THEN
See Also:
Constant Field Values

PROP_ELSE

public static final java.lang.String PROP_ELSE
See Also:
Constant Field Values
Constructor Detail

AnalysisRecord

public AnalysisRecord(boolean recordQueryPlan,
                      boolean recordDebug)
Method Detail

createNonRecordingRecord

public static AnalysisRecord createNonRecordingRecord()

getQueryPlan

public PlanNode getQueryPlan()

setQueryPlan

public void setQueryPlan(PlanNode queryPlan)

recordQueryPlan

public boolean recordQueryPlan()
Determine whether query plan should be recorded

Returns:
True to record

recordAnnotations

public boolean recordAnnotations()
Determine whether annotations should be recorded

Returns:
True to record

recordDebug

public boolean recordDebug()
Determine whether debug trace log should be recorded

Returns:
True to record

addAnnotation

public void addAnnotation(Annotation annotation)
Add an annotation. This can only be used if recordAnnotations() returns true.

Parameters:
annotation - Annotation to add

getAnnotations

public java.util.Collection<Annotation> getAnnotations()
Get annotations.

Returns:

println

public void println(java.lang.String debugLine)
Add line to debug log This can only be used if recordDebug returns true.

Parameters:
debugLine - Text to add to debug writer

getDebugLog

public java.lang.String getDebugLog()
Get debug trace log recorded to writer. Typically this is used once at the end of query execution.

Returns:

getOutputColumnProperties

public static java.util.List<java.lang.String> getOutputColumnProperties(java.util.List<SingleElementSymbol> projectedSymbols)
Helper method to turn a list of projected symbols into a suitable list of output column strings with name and type.

Parameters:
projectedSymbols - The list of SingleElementSymbol projected from a plan or node
Returns:
List of output columns for sending to the client as part of the plan

addLanaguageObjects

public static void addLanaguageObjects(PlanNode node,
                                       java.lang.String key,
                                       java.util.List<? extends LanguageObject> objects)


Copyright © 2010. All Rights Reserved.