01: /*
02:
03: Derby - Class org.apache.derby.iapi.store.access.conglomerate.SortFactory
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.store.access.conglomerate;
23:
24: import java.util.Properties;
25: import org.apache.derby.catalog.UUID;
26: import org.apache.derby.iapi.error.StandardException;
27: import org.apache.derby.iapi.store.access.SortObserver;
28: import org.apache.derby.iapi.store.access.SortCostController;
29: import org.apache.derby.iapi.store.access.ColumnOrdering;
30: import org.apache.derby.iapi.store.access.TransactionController;
31:
32: import org.apache.derby.iapi.types.DataValueDescriptor;
33:
34: /**
35:
36: The factory interface for all sort access methods.
37:
38: **/
39:
40: public interface SortFactory extends MethodFactory {
41: /**
42: Used to identify this interface when finding it with the Monitor.
43: **/
44: public static final String MODULE = "org.apache.derby.iapi.store.access.conglomerate.SortFactory";
45:
46: /**
47: Create the sort and return a sort object for it.
48:
49: @exception StandardException if the sort could not be
50: opened for some reason, or if an error occurred in one of
51: the lower level modules.
52:
53: **/
54: Sort createSort(TransactionController tran, int segment,
55: Properties implParameters, DataValueDescriptor[] template,
56: ColumnOrdering columnOrdering[], SortObserver sortObserver,
57: boolean alreadyInOrder, long estimatedRows,
58: int estimatedRowSize) throws StandardException;
59:
60: /**
61: * Return an open SortCostController.
62: * <p>
63: * Return an open SortCostController which can be used to ask about
64: * the estimated costs of SortController() operations.
65: * <p>
66: *
67: * @return The open StoreCostController.
68: *
69: * @exception StandardException Standard exception policy.
70: *
71: * @see org.apache.derby.iapi.store.access.StoreCostController
72: **/
73: SortCostController openSortCostController()
74: throws StandardException;
75: }
|