--- /dev/null
+/*\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