1 21 22 package org.apache.derby.impl.sql.execute.rts; 23 24 import org.apache.derby.iapi.services.io.StoredFormatIds; 25 26 import org.apache.derby.iapi.services.i18n.MessageService; 27 import org.apache.derby.iapi.reference.SQLState; 28 29 import org.apache.derby.iapi.services.io.FormatableHashtable; 30 31 import java.io.ObjectOutput ; 32 import java.io.ObjectInput ; 33 import java.io.IOException ; 34 35 41 public class RealScalarAggregateStatistics 42 extends RealNoPutResultSetStatistics 43 { 44 45 46 public int rowsInput = 0; 47 public boolean indexKeyOptimization; 48 public ResultSetStatistics childResultSetStatistics; 49 50 52 56 public RealScalarAggregateStatistics( 57 int numOpens, 58 int rowsSeen, 59 int rowsFiltered, 60 long constructorTime, 61 long openTime, 62 long nextTime, 63 long closeTime, 64 int resultSetNumber, 65 boolean indexKeyOptimization, 66 int rowsInput, 67 double optimizerEstimatedRowCount, 68 double optimizerEstimatedCost, 69 ResultSetStatistics childResultSetStatistics 70 ) 71 { 72 super( 73 numOpens, 74 rowsSeen, 75 rowsFiltered, 76 constructorTime, 77 openTime, 78 nextTime, 79 closeTime, 80 resultSetNumber, 81 optimizerEstimatedRowCount, 82 optimizerEstimatedCost 83 ); 84 this.indexKeyOptimization = indexKeyOptimization; 85 this.rowsInput = rowsInput; 86 this.childResultSetStatistics = childResultSetStatistics; 87 } 88 89 91 98 public String getStatementExecutionPlanText(int depth) 99 { 100 initFormatInfo(depth); 101 102 return 103 indent + MessageService.getTextMessage( 104 SQLState.RTS_SCALAR_AGG_RS) + 105 ":\n" + 106 indent + MessageService.getTextMessage(SQLState.RTS_NUM_OPENS) + 107 " = " + numOpens + "\n" + 108 indent + MessageService.getTextMessage(SQLState.RTS_ROWS_INPUT) + 109 " = " + rowsInput + "\n" + 110 dumpTimeStats(indent, subIndent) + "\n" + 111 dumpEstimatedCosts(subIndent) + "\n" + 112 indent + MessageService.getTextMessage( 113 SQLState.RTS_INDEX_KEY_OPT) + 114 " = " + indexKeyOptimization + "\n" + 115 indent + MessageService.getTextMessage(SQLState.RTS_SOURCE_RS) + 116 ":\n" + 117 childResultSetStatistics.getStatementExecutionPlanText( 118 sourceDepth) + 119 "\n"; 120 } 121 122 132 public String getScanStatisticsText(String tableName, int depth) 133 { 134 return childResultSetStatistics.getScanStatisticsText(tableName, depth); 135 } 136 137 139 public String toString() 140 { 141 return getStatementExecutionPlanText(0); 142 } 143 public java.util.Vector getChildren(){ 144 java.util.Vector children = new java.util.Vector (); 145 children.addElement(childResultSetStatistics); 146 return children; 147 } 148 152 public String getNodeName(){ 153 return MessageService.getTextMessage(SQLState.RTS_SCALAR_AGG); 154 } 155 } 156 | Popular Tags |