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 RealMaterializedResultSetStatistics 42 extends RealNoPutResultSetStatistics 43 { 44 45 46 47 public ResultSetStatistics childResultSetStatistics; 48 public long createTCTime; 49 public long fetchTCTime; 50 51 56 public RealMaterializedResultSetStatistics( 57 int numOpens, 58 int rowsSeen, 59 int rowsFiltered, 60 long constructorTime, 61 long openTime, 62 long nextTime, 63 long closeTime, 64 long createTCTime, 65 long fetchTCTime, 66 int resultSetNumber, 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.createTCTime = createTCTime; 85 this.fetchTCTime = fetchTCTime; 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_MATERIALIZED_RS) + 105 ":\n" + 106 indent + MessageService.getTextMessage(SQLState.RTS_NUM_OPENS) + 107 " = " + numOpens + "\n" + 108 indent + MessageService.getTextMessage(SQLState.RTS_ROWS_SEEN) + 109 " = " + rowsSeen + "\n" + 110 dumpTimeStats(indent, subIndent) + "\n" + 111 dumpEstimatedCosts(subIndent) + "\n" + 112 subIndent + MessageService.getTextMessage( 113 SQLState.RTS_TEMP_CONGLOM_CREATE_TIME) + 114 " = " + createTCTime + "\n" + 115 subIndent + MessageService.getTextMessage( 116 SQLState.RTS_TEMP_CONGLOM_FETCH_TIME) + 117 " = " + fetchTCTime + "\n" + 118 indent + MessageService.getTextMessage(SQLState.RTS_SOURCE_RS) + 119 ":\n" + 120 childResultSetStatistics.getStatementExecutionPlanText(sourceDepth) + "\n"; 121 } 122 123 133 public String getScanStatisticsText(String tableName, int depth) 134 { 135 return childResultSetStatistics.getScanStatisticsText(tableName, depth); 136 } 137 138 140 public String toString() 141 { 142 return getStatementExecutionPlanText(0); 143 } 144 public java.util.Vector getChildren(){ 145 java.util.Vector children = new java.util.Vector (); 146 children.addElement(childResultSetStatistics); 147 return children; 148 } 149 153 public String getNodeName(){ 154 return MessageService.getTextMessage(SQLState.RTS_MATERIALIZED_RS); 155 } 156 } 157 | Popular Tags |