Adding JMCR-Stable version
[Benchmarks_CSolver.git] / JMCR-Stable / real-world application / MyDerby-10.3 / java / engine / org / apache / derby / iapi / store / access / ScanInfo.java
diff --git a/JMCR-Stable/real-world application/MyDerby-10.3/java/engine/org/apache/derby/iapi/store/access/ScanInfo.java b/JMCR-Stable/real-world application/MyDerby-10.3/java/engine/org/apache/derby/iapi/store/access/ScanInfo.java
new file mode 100644 (file)
index 0000000..81487af
--- /dev/null
@@ -0,0 +1,91 @@
+/*\r
+\r
+   Derby - Class org.apache.derby.iapi.store.access.ScanInfo\r
+\r
+   Licensed to the Apache Software Foundation (ASF) under one or more\r
+   contributor license agreements.  See the NOTICE file distributed with\r
+   this work for additional information regarding copyright ownership.\r
+   The ASF licenses this file to you under the Apache License, Version 2.0\r
+   (the "License"); you may not use this file except in compliance with\r
+   the License.  You may obtain a copy of the License at\r
+\r
+      http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+   Unless required by applicable law or agreed to in writing, software\r
+   distributed under the License is distributed on an "AS IS" BASIS,\r
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+   See the License for the specific language governing permissions and\r
+   limitations under the License.\r
+\r
+ */\r
+\r
+package org.apache.derby.iapi.store.access;\r
+\r
+import org.apache.derby.iapi.error.StandardException;\r
+\r
+import java.util.Properties;\r
+\r
+/**\r
+\r
+  This object provides performance information related to an open scan.\r
+  The information is accumulated during operations on a ScanController() and\r
+  then copied into this object and returned by a call to \r
+  ScanController.getStatistic().\r
+\r
+  @see GenericScanController#getScanInfo()\r
+\r
+**/\r
+\r
+public interface ScanInfo\r
+{\r
+    /**\r
+     * Return all information gathered about the scan.\r
+     * <p>\r
+     * This routine returns a list of properties which contains all information\r
+     * gathered about the scan.  If a Property is passed in, then that property\r
+     * list is appeneded to, otherwise a new property object is created and\r
+     * returned.\r
+     * <p>\r
+     * Not all scans may support all properties, if the property is not \r
+     * supported then it will not be returned.  The following is a list of\r
+     * properties that may be returned. These names have been internationalized,\r
+        * the names shown here are the old, non-internationalized names:\r
+     *\r
+     *     scanType\r
+     *         - type of the scan being performed:\r
+     *           btree\r
+     *           heap\r
+     *           sort\r
+     *     numPagesVisited\r
+     *         - the number of pages visited during the scan.  For btree scans\r
+     *           this number only includes the leaf pages visited.  \r
+     *     numDeletedRowsVisited\r
+     *         - the number of deleted rows visited during the scan.  This\r
+     *           number includes only those rows marked deleted.\r
+     *     numRowsVisited\r
+     *         - the number of rows visited during the scan.  This number \r
+     *           includes all rows, including: those marked deleted, those\r
+     *           that don't meet qualification, ...\r
+     *     numRowsQualified\r
+     *         - the number of rows which met the qualification.\r
+     *     treeHeight (btree's only)\r
+     *         - for btree's the height of the tree.  A tree with one page\r
+     *           has a height of 1.  Total number of pages visited in a btree\r
+     *           scan is (treeHeight - 1 + numPagesVisited).\r
+     *     numColumnsFetched\r
+     *         - the number of columns Fetched - partial scans will result\r
+     *           in fetching less columns than the total number in the scan.\r
+     *     columnsFetchedBitSet\r
+     *         - The BitSet.toString() method called on the validColumns arg.\r
+     *           to the scan, unless validColumns was set to null, and in that\r
+     *           case we will return "all".\r
+     *     NOTE - this list will be expanded as more information about the scan\r
+     *            is gathered and returned.\r
+     *\r
+     * @param prop   Property list to fill in.\r
+     *\r
+        * @exception  StandardException  Standard exception policy.\r
+     **/\r
+    Properties getAllScanInfo(Properties prop)\r
+               throws StandardException;\r
+}\r