1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.apache.hadoop.hbase.hbql.statement.select;
22
23 import org.apache.expreval.expr.var.NamedParameter;
24 import org.apache.hadoop.hbase.client.Result;
25 import org.apache.hadoop.hbase.hbql.client.HBqlException;
26 import org.apache.hadoop.hbase.hbql.client.HConnection;
27 import org.apache.hadoop.hbase.hbql.impl.AggregateValue;
28 import org.apache.hadoop.hbase.hbql.impl.HConnectionImpl;
29 import org.apache.hadoop.hbase.hbql.mapping.ColumnAttrib;
30 import org.apache.hadoop.hbase.hbql.mapping.MappingContext;
31 import org.apache.hadoop.hbase.hbql.statement.SelectStatement;
32
33 import java.io.Serializable;
34 import java.util.List;
35
36 public interface SelectElement extends Serializable {
37
38 static final long serialVersionUID = 1L;
39
40 void validate(MappingContext mappingContext, HConnection connection) throws HBqlException;
41
42 List<ColumnAttrib> getAttribsUsedInExpr();
43
44 void assignAsNamesForExpressions(SelectStatement selectStatement);
45
46 void assignSelectValue(HConnectionImpl connection, Object newobj, int maxVerions, Result result) throws HBqlException;
47
48 int setParameter(String name, Object val) throws HBqlException;
49
50 List<NamedParameter> getParameterList();
51
52 void reset();
53
54 String getAsName();
55
56 String getElementName();
57
58 boolean hasAsName();
59
60 boolean isAFamilySelect();
61
62 String asString();
63
64 AggregateValue newAggregateValue() throws HBqlException;
65
66 boolean isAnAggregateElement();
67
68 void validateTypes(boolean allowColumns, boolean allowCollections) throws HBqlException;
69 }