KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > daffodilwoods > daffodildb > server > sql99 > dql > plan > order > _OrderPlan


1 package com.daffodilwoods.daffodildb.server.sql99.dql.plan.order;
2
3 import com.daffodilwoods.daffodildb.server.sql99.dql.plan.order._SingleTableOrderPlan;
4 import com.daffodilwoods.daffodildb.server.sql99.dql.queryexpression.*;
5 import com.daffodilwoods.database.sqlinitiator._Order;
6 import java.util.Comparator JavaDoc;
7 import com.daffodilwoods.database.resource.DException;
8 import com.daffodilwoods.daffodildb.server.serversystem._ServerSession;
9
10 /**
11  * It represents the plan for Order. Order is needed for group by, order by, set
12  * operators, distinct. It is responsible to provide optimal planning to satisfy
13  * the ordering needs of query.
14  * <p>Title: </p>
15  * <p>Description: </p>
16  * <p>Copyright: Copyright (c) 2003</p>
17  * <p>Company: </p>
18  * @author unascribed
19  * @version 1.0
20  */

21
22 public interface _OrderPlan {
23
24    /**
25     * Returns the orders which can be restricted to single table. Order is
26     * shifted to single table so as to take the advantage of indexes present on
27     * that table.
28     * @return Array of SingleTableOrderPlan
29     * @throws DException
30     */

31
32    public _SingleTableOrderPlan[] getSingleTableOrderPlans() throws DException;
33
34    /**
35     * Returns the order which will be applied on the resultset of all tables.
36     * @return Join level order
37     * @throws DException
38     */

39
40    public _Order getJoinLevelOrder() throws DException;
41
42    /**
43     * Returns the order which will be applied on the reultset of group by.
44     * @return GroupBy level order
45     * @throws DException
46     */

47
48    public _Order getGroupByLevelOrder() throws DException;
49
50    /**
51     * Sets the order which will be applied on the reultset of group by.
52     * @param groupByOrderPlan
53     * @throws DException
54     */

55
56    public void setGroupByOrderPlan(_Order groupByOrderPlan) throws DException;
57
58    /**
59     * Sets the order which will be applied on the resultset of all tables.
60     * @param joinOrderPlan
61     * @throws DException
62     */

63
64    public void setJoinOrderPlan(_Order joinOrderPlan) throws DException;
65
66    /**
67     * Sets the orders which can be restricted to single table.
68     * @param singleTableOrderPlan
69     * @throws DException
70     */

71
72    public void setSingleTableOrderPlans(_SingleTableOrderPlan[] singleTableOrderPlan) throws DException;
73
74    public void setQueryLevelOrderPlans(_Order queryLevelOrderPlan) throws DException ;
75
76    public _Order getQueryLevelOrderPlans() throws DException ;
77
78
79 }
80
81
Popular Tags