Adding JMCR-Stable version
[Benchmarks_CSolver.git] / JMCR-Stable / real-world application / MyDerby-10.3 / java / engine / org / apache / derby / iapi / store / access / conglomerate / Sort.java
diff --git a/JMCR-Stable/real-world application/MyDerby-10.3/java/engine/org/apache/derby/iapi/store/access/conglomerate/Sort.java b/JMCR-Stable/real-world application/MyDerby-10.3/java/engine/org/apache/derby/iapi/store/access/conglomerate/Sort.java
new file mode 100644 (file)
index 0000000..dccc094
--- /dev/null
@@ -0,0 +1,88 @@
+/*\r
+\r
+   Derby - Class org.apache.derby.iapi.store.access.conglomerate.Sort\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.conglomerate;\r
+\r
+import org.apache.derby.iapi.error.StandardException;\r
+\r
+import org.apache.derby.iapi.store.access.conglomerate.TransactionManager;\r
+\r
+import org.apache.derby.iapi.store.access.ScanController;\r
+import org.apache.derby.iapi.store.access.SortController;\r
+import org.apache.derby.iapi.store.access.TransactionController;\r
+\r
+/**\r
+\r
+  The sort interface corresponds to an instance of an in-progress sort.\r
+  Sorts are not persistent.\r
+\r
+**/\r
+\r
+public interface Sort\r
+{\r
+       /**\r
+       Open a sort controller.\r
+       <p>\r
+       The sort may have been dropped already, in which case\r
+       this method should thrown an exception.\r
+\r
+    @exception StandardException Standard exception policy.\r
+       **/\r
+       SortController open(TransactionManager tran)\r
+               throws StandardException;\r
+\r
+       /**\r
+       Open a scan controller.\r
+       <p>\r
+       The sort may have been dropped already, in which case\r
+       this method should thrown an exception.\r
+\r
+    @exception StandardException Standard exception policy.\r
+       **/\r
+\r
+       ScanController openSortScan(\r
+    TransactionManager  tran,\r
+    boolean             hold)\r
+                       throws StandardException;\r
+\r
+       /**\r
+       Open a row Source to get rows out of the sorter.\r
+       <p>\r
+       The sort may have been dropped already, in which case\r
+       this method should thrown an exception.\r
+\r
+    @exception StandardException Standard exception policy.\r
+       **/\r
+\r
+       ScanControllerRowSource openSortRowSource(TransactionManager tran)\r
+                       throws StandardException;\r
+\r
+\r
+       /**\r
+       Drop the sort - this means release all its resources.\r
+       <p>\r
+       Note: drop is like close, it has to be tolerant of\r
+       being called more than once, it must succeed or at\r
+       least not throw any exceptions.\r
+       **/\r
+       void drop(TransactionController tran)\r
+        throws StandardException;\r
+}\r