Quadcap Embeddable Database

com.quadcap.sql.AggregateExpression Class Reference

Inheritance diagram for com.quadcap.sql.AggregateExpression:

com.quadcap.sql.Expression Externalizable List of all members.

Detailed Description

Expression implementing one of AVG, SUM, MIN, or MAX.

Author:
Stan Bailes

Definition at line 69 of file AggregateExpression.java.

Public Member Functions

 AggregateExpression ()
 Default constructor.

 AggregateExpression (int op, boolean all, Expression expr)
 Explicit constructor.

void reset (Session session) throws IOException
int rank ()
 Returns zero if this is a scalar expression, one if it's a vector type and 2 if it's a table/cursor type.

Type getType (Session session, Cursor cursor) throws SQLException
 Return the expression's type if known.

Value getValue (Session session, Cursor cursor) throws SQLException
 If this is a scalar, return its value.

void updateAggregate (Session session, Cursor cursor) throws SQLException
void invert ()
 Negate the logical value of the expression.

String toString ()
void visitSubExpressions (ExpressionVisitor ev)
 Give a visitor access to the parse tree.

void readExternal (ObjectInput in) throws IOException, ClassNotFoundException
void writeExternal (ObjectOutput out) throws IOException

Static Public Attributes

final int AVG = 0
final int SUM = 1
final int MIN = 2
final int MAX = 3
final int COUNT = 4

Package Functions

Expression getInnerExpression ()
boolean isMin ()
boolean isMax ()
boolean isCount ()
AggregateSessionState getSessionState (Session session)
AggregateSessionState getSessionState (Session session, boolean mk)

Static Package Functions

String toString (int op)

Package Attributes

int op = -1
boolean all = false
Expression expr = null

Static Package Attributes

String[] ops = {"AVG","SUM","MIN","MAX","COUNT"}
final byte[] aByte = { 0 }


Constructor & Destructor Documentation

com.quadcap.sql.AggregateExpression.AggregateExpression  ) 
 

Default constructor.

Definition at line 97 of file AggregateExpression.java.

com.quadcap.sql.AggregateExpression.AggregateExpression int  op,
boolean  all,
Expression  expr
 

Explicit constructor.

Definition at line 102 of file AggregateExpression.java.


Member Function Documentation

Expression com.quadcap.sql.AggregateExpression.getInnerExpression  )  [package]
 

Definition at line 108 of file AggregateExpression.java.

References com.quadcap.sql.AggregateExpression.expr.

Referenced by com.quadcap.sql.SelectExpression.optimizeAggregate().

AggregateSessionState com.quadcap.sql.AggregateExpression.getSessionState Session  session,
boolean  mk
[package]
 

Definition at line 162 of file AggregateExpression.java.

References com.quadcap.sql.Session.getContext(), and com.quadcap.sql.Session.putContext().

AggregateSessionState com.quadcap.sql.AggregateExpression.getSessionState Session  session  )  [package]
 

Definition at line 158 of file AggregateExpression.java.

References com.quadcap.sql.AggregateExpression.getSessionState().

Referenced by com.quadcap.sql.AggregateExpression.getSessionState(), and com.quadcap.sql.AggregateExpression.reset().

Type com.quadcap.sql.AggregateExpression.getType Session  session,
Cursor  cursor
throws SQLException [virtual]
 

Return the expression's type if known.

Implements com.quadcap.sql.Expression.

Definition at line 174 of file AggregateExpression.java.

References com.quadcap.sql.AggregateExpression.COUNT, com.quadcap.sql.AggregateExpression.expr, com.quadcap.sql.Expression.getType(), com.quadcap.sql.AggregateExpression.getType(), and com.quadcap.sql.AggregateExpression.op.

Referenced by com.quadcap.sql.AggregateExpression.getType().

Value com.quadcap.sql.AggregateExpression.getValue Session  session,
Cursor  cursor
throws SQLException
 

If this is a scalar, return its value.

Reimplemented from com.quadcap.sql.Expression.

Definition at line 185 of file AggregateExpression.java.

References com.quadcap.sql.AggregateExpression.AggregateSessionState.accum, com.quadcap.sql.AggregateExpression.AVG, com.quadcap.sql.AggregateExpression.COUNT, com.quadcap.sql.AggregateExpression.AggregateSessionState.count, com.quadcap.sql.AggregateExpression.getValue(), com.quadcap.sql.AggregateExpression.MAX, com.quadcap.sql.AggregateExpression.MIN, com.quadcap.sql.AggregateExpression.op, and com.quadcap.sql.AggregateExpression.SUM.

Referenced by com.quadcap.sql.AggregateExpression.getValue().

void com.quadcap.sql.AggregateExpression.invert  ) 
 

Negate the logical value of the expression.

Reimplemented from com.quadcap.sql.Expression.

Definition at line 272 of file AggregateExpression.java.

boolean com.quadcap.sql.AggregateExpression.isCount  )  [package]
 

Definition at line 114 of file AggregateExpression.java.

References com.quadcap.sql.AggregateExpression.COUNT, and com.quadcap.sql.AggregateExpression.op.

Referenced by com.quadcap.sql.SelectExpression.optimizeAggregate().

boolean com.quadcap.sql.AggregateExpression.isMax  )  [package]
 

Definition at line 113 of file AggregateExpression.java.

References com.quadcap.sql.AggregateExpression.MAX, and com.quadcap.sql.AggregateExpression.op.

Referenced by com.quadcap.sql.SelectExpression.optimizeAggregate().

boolean com.quadcap.sql.AggregateExpression.isMin  )  [package]
 

Definition at line 112 of file AggregateExpression.java.

References com.quadcap.sql.AggregateExpression.MIN, and com.quadcap.sql.AggregateExpression.op.

Referenced by com.quadcap.sql.SelectExpression.optimizeAggregate().

int com.quadcap.sql.AggregateExpression.rank  )  [virtual]
 

Returns zero if this is a scalar expression, one if it's a vector type and 2 if it's a table/cursor type.

Implements com.quadcap.sql.Expression.

Definition at line 172 of file AggregateExpression.java.

void com.quadcap.sql.AggregateExpression.readExternal ObjectInput  in  )  throws IOException, ClassNotFoundException
 

Definition at line 287 of file AggregateExpression.java.

References com.quadcap.sql.AggregateExpression.all, com.quadcap.sql.AggregateExpression.expr, com.quadcap.sql.AggregateExpression.op, and com.quadcap.sql.AggregateExpression.readExternal().

Referenced by com.quadcap.sql.AggregateExpression.readExternal().

void com.quadcap.sql.AggregateExpression.reset Session  session  )  throws IOException
 

Definition at line 153 of file AggregateExpression.java.

References com.quadcap.sql.AggregateExpression.getSessionState(), com.quadcap.sql.AggregateExpression.AggregateSessionState.reset(), and com.quadcap.sql.AggregateExpression.reset().

Referenced by com.quadcap.sql.AggregateExpression.reset().

String com.quadcap.sql.AggregateExpression.toString  )  [virtual]
 

Implements com.quadcap.sql.Expression.

Definition at line 275 of file AggregateExpression.java.

References com.quadcap.sql.AggregateExpression.all, com.quadcap.sql.AggregateExpression.expr, and com.quadcap.sql.AggregateExpression.op.

String com.quadcap.sql.AggregateExpression.toString int  op  )  [static, package]
 

Definition at line 84 of file AggregateExpression.java.

References com.quadcap.sql.AggregateExpression.ops.

void com.quadcap.sql.AggregateExpression.updateAggregate Session  session,
Cursor  cursor
throws SQLException
 

Definition at line 208 of file AggregateExpression.java.

References com.quadcap.sql.AggregateExpression.aByte, com.quadcap.sql.AggregateExpression.AggregateSessionState.accum, com.quadcap.sql.AggregateExpression.all, com.quadcap.sql.AggregateExpression.AVG, com.quadcap.sql.types.Value.binop(), com.quadcap.sql.types.Value.boolOp(), com.quadcap.sql.AggregateExpression.COUNT, com.quadcap.sql.AggregateExpression.AggregateSessionState.count, com.quadcap.sql.AggregateExpression.AggregateSessionState.distinct, com.quadcap.sql.AggregateExpression.expr, com.quadcap.sql.Expression.getValue(), com.quadcap.sql.AggregateExpression.MAX, com.quadcap.sql.AggregateExpression.MIN, com.quadcap.sql.AggregateExpression.op, com.quadcap.sql.index.Btree.set(), com.quadcap.sql.AggregateExpression.SUM, and com.quadcap.sql.AggregateExpression.updateAggregate().

Referenced by com.quadcap.sql.AggregateExpression.updateAggregate(), and com.quadcap.sql.AggregateCursor.updateAggregates().

void com.quadcap.sql.AggregateExpression.visitSubExpressions ExpressionVisitor  ev  ) 
 

Give a visitor access to the parse tree.

Reimplemented from com.quadcap.sql.Expression.

Definition at line 283 of file AggregateExpression.java.

References com.quadcap.sql.AggregateExpression.expr, com.quadcap.sql.ExpressionVisitor.visit(), and com.quadcap.sql.AggregateExpression.visitSubExpressions().

Referenced by com.quadcap.sql.AggregateExpression.visitSubExpressions().

void com.quadcap.sql.AggregateExpression.writeExternal ObjectOutput  out  )  throws IOException
 

Definition at line 295 of file AggregateExpression.java.

References com.quadcap.sql.AggregateExpression.all, com.quadcap.sql.AggregateExpression.expr, com.quadcap.sql.AggregateExpression.op, and com.quadcap.sql.AggregateExpression.writeExternal().

Referenced by com.quadcap.sql.AggregateExpression.writeExternal().


Member Data Documentation

final byte [] com.quadcap.sql.AggregateExpression.aByte = { 0 } [static, package]
 

Definition at line 92 of file AggregateExpression.java.

Referenced by com.quadcap.sql.AggregateExpression.updateAggregate().

boolean com.quadcap.sql.AggregateExpression.all = false [package]
 

Definition at line 79 of file AggregateExpression.java.

Referenced by com.quadcap.sql.SelectExpression.optimizeAggregate(), com.quadcap.sql.AggregateExpression.readExternal(), com.quadcap.sql.AggregateExpression.toString(), com.quadcap.sql.AggregateExpression.updateAggregate(), and com.quadcap.sql.AggregateExpression.writeExternal().

final int com.quadcap.sql.AggregateExpression.AVG = 0 [static]
 

Definition at line 72 of file AggregateExpression.java.

Referenced by com.quadcap.sql.AggregateExpression.getValue(), and com.quadcap.sql.AggregateExpression.updateAggregate().

final int com.quadcap.sql.AggregateExpression.COUNT = 4 [static]
 

Definition at line 76 of file AggregateExpression.java.

Referenced by com.quadcap.sql.AggregateExpression.getType(), com.quadcap.sql.AggregateExpression.getValue(), com.quadcap.sql.AggregateExpression.isCount(), and com.quadcap.sql.AggregateExpression.updateAggregate().

Expression com.quadcap.sql.AggregateExpression.expr = null [package]
 

Definition at line 80 of file AggregateExpression.java.

Referenced by com.quadcap.sql.AggregateExpression.getInnerExpression(), com.quadcap.sql.AggregateExpression.getType(), com.quadcap.sql.AggregateExpression.readExternal(), com.quadcap.sql.AggregateExpression.toString(), com.quadcap.sql.AggregateExpression.updateAggregate(), com.quadcap.sql.AggregateExpression.visitSubExpressions(), and com.quadcap.sql.AggregateExpression.writeExternal().

final int com.quadcap.sql.AggregateExpression.MAX = 3 [static]
 

Definition at line 75 of file AggregateExpression.java.

Referenced by com.quadcap.sql.AggregateExpression.getValue(), com.quadcap.sql.AggregateExpression.isMax(), and com.quadcap.sql.AggregateExpression.updateAggregate().

final int com.quadcap.sql.AggregateExpression.MIN = 2 [static]
 

Definition at line 74 of file AggregateExpression.java.

Referenced by com.quadcap.sql.AggregateExpression.getValue(), com.quadcap.sql.AggregateExpression.isMin(), and com.quadcap.sql.AggregateExpression.updateAggregate().

int com.quadcap.sql.AggregateExpression.op = -1 [package]
 

Definition at line 78 of file AggregateExpression.java.

Referenced by com.quadcap.sql.AggregateExpression.getType(), com.quadcap.sql.AggregateExpression.getValue(), com.quadcap.sql.AggregateExpression.isCount(), com.quadcap.sql.AggregateExpression.isMax(), com.quadcap.sql.AggregateExpression.isMin(), com.quadcap.sql.AggregateExpression.readExternal(), com.quadcap.sql.AggregateExpression.toString(), com.quadcap.sql.AggregateExpression.updateAggregate(), and com.quadcap.sql.AggregateExpression.writeExternal().

String [] com.quadcap.sql.AggregateExpression.ops = {"AVG","SUM","MIN","MAX","COUNT"} [static, package]
 

Definition at line 82 of file AggregateExpression.java.

Referenced by com.quadcap.sql.AggregateExpression.toString().

final int com.quadcap.sql.AggregateExpression.SUM = 1 [static]
 

Definition at line 73 of file AggregateExpression.java.

Referenced by com.quadcap.sql.AggregateExpression.getValue(), and com.quadcap.sql.AggregateExpression.updateAggregate().