01: /*
02:
03: Derby - Class org.apache.derby.iapi.sql.execute.ResultSetStatisticsFactory
04:
05: Licensed to the Apache Software Foundation (ASF) under one or more
06: contributor license agreements. See the NOTICE file distributed with
07: this work for additional information regarding copyright ownership.
08: The ASF licenses this file to you under the Apache License, Version 2.0
09: (the "License"); you may not use this file except in compliance with
10: the License. You may obtain a copy of the License at
11:
12: http://www.apache.org/licenses/LICENSE-2.0
13:
14: Unless required by applicable law or agreed to in writing, software
15: distributed under the License is distributed on an "AS IS" BASIS,
16: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17: See the License for the specific language governing permissions and
18: limitations under the License.
19:
20: */
21:
22: package org.apache.derby.iapi.sql.execute;
23:
24: import org.apache.derby.iapi.error.StandardException;
25:
26: import org.apache.derby.iapi.sql.Activation;
27: import org.apache.derby.iapi.sql.ResultSet;
28:
29: import org.apache.derby.iapi.sql.execute.RunTimeStatistics;
30:
31: import org.apache.derby.impl.sql.execute.rts.ResultSetStatistics;
32:
33: /**
34: * ResultSetStatisticsFactory provides a wrapper around all of
35: * the result sets statistics objects needed in building the run time statistics.
36: *
37: * @author jerry
38: */
39: public interface ResultSetStatisticsFactory {
40: /**
41: Module name for the monitor's module locating system.
42: */
43: String MODULE = "org.apache.derby.iapi.sql.execute.ResultSetStatisticsFactory";
44:
45: //
46: // RunTimeStatistics Object
47: //
48:
49: /**
50: * RunTimeStatistics creation.
51: *
52: * @param activation The Activation we are generating the statistics for
53: * @param rs The top ResultSet for the ResultSet tree
54: * @param subqueryTrackingArray Array of subqueries, used for finding
55: * materialized subqueries.
56: *
57: * @exception StandardException on error
58: */
59: RunTimeStatistics getRunTimeStatistics(Activation activation,
60: ResultSet rs, NoPutResultSet[] subqueryTrackingArray)
61: throws StandardException;
62:
63: //
64: // ResultSetStatistics Objects
65: //
66:
67: /**
68: Get the matching ResultSetStatistics for the specified ResultSet.
69: */
70: public ResultSetStatistics getResultSetStatistics(ResultSet rs);
71:
72: public ResultSetStatistics getResultSetStatistics(NoPutResultSet rs);
73:
74: public ResultSetStatistics getNoRowsResultSetStatistics(ResultSet rs);
75: }
|