Quadcap Embeddable Database

com.quadcap.sql.Expression Class Reference

Inheritance diagram for com.quadcap.sql.Expression:

com.quadcap.sql.AggregateExpression com.quadcap.sql.BinaryExpression com.quadcap.sql.FunctionExpression com.quadcap.sql.InExpression com.quadcap.sql.NameExpression com.quadcap.sql.ParameterExpression com.quadcap.sql.QuantifiedCompare com.quadcap.sql.TableExpression com.quadcap.sql.TernaryExpression com.quadcap.sql.UnaryExpression com.quadcap.sql.ValueExpression List of all members.

Detailed Description

Base class for all expression types.

Author:
Stan Bailes

Definition at line 60 of file Expression.java.

Public Member Functions

abstract 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.

abstract 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.

Row getValues (Session session, Cursor cursor) throws SQLException
 If this is a vector, return the value.

Cursor getCursor (Session session, Cursor cursor) throws SQLException
 If this is a cursor, return the value.

void invert () throws antlr.RecognitionException
 Negate the logical value of the expression.

void visitSubExpressions (ExpressionVisitor v)
 Give a visitor access to the parse tree.

String getName ()
abstract String toString ()


Member Function Documentation

Cursor com.quadcap.sql.Expression.getCursor Session  session,
Cursor  cursor
throws SQLException
 

If this is a cursor, return the value.

Reimplemented in com.quadcap.sql.JoinedTable, com.quadcap.sql.MergeExpression, com.quadcap.sql.SelectExpression, com.quadcap.sql.SelectFromItem, com.quadcap.sql.SelectFromTable, com.quadcap.sql.TableExpression, and com.quadcap.sql.VectorExpression.

Definition at line 99 of file Expression.java.

References com.quadcap.sql.Expression.getCursor().

Referenced by com.quadcap.sql.StmtInsert.execute(), com.quadcap.sql.UnaryExpression.existsValue(), com.quadcap.sql.Expression.getCursor(), com.quadcap.sql.QuantifiedCompare.getValue(), com.quadcap.sql.InExpression.getValue2(), and com.quadcap.sql.UnaryExpression.uniqueValue().

String com.quadcap.sql.Expression.getName  ) 
 

Reimplemented in com.quadcap.sql.NameExpression.

Definition at line 118 of file Expression.java.

Referenced by com.quadcap.sql.Table.GetNames.visit().

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

Return the expression's type if known.

Implemented in com.quadcap.sql.AggregateExpression, com.quadcap.sql.BinaryExpression, com.quadcap.sql.FunctionExpression, com.quadcap.sql.InExpression, com.quadcap.sql.NameExpression, com.quadcap.sql.ParameterExpression, com.quadcap.sql.QuantifiedCompare, com.quadcap.sql.TableExpression, com.quadcap.sql.TernaryExpression, com.quadcap.sql.UnaryExpression, and com.quadcap.sql.ValueExpression.

Referenced by com.quadcap.sql.UnaryExpression.getType(), com.quadcap.sql.FunctionExpression.getType(), com.quadcap.sql.BinaryExpression.getType(), com.quadcap.sql.AggregateExpression.getType(), and com.quadcap.sql.ItemsCursor.ItemsCursor().

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

If this is a scalar, return its value.

Reimplemented in com.quadcap.sql.AggregateExpression, com.quadcap.sql.BinaryExpression, com.quadcap.sql.FunctionExpression, com.quadcap.sql.InExpression, com.quadcap.sql.NameExpression, com.quadcap.sql.ParameterExpression, com.quadcap.sql.QuantifiedCompare, com.quadcap.sql.SelectExpression, com.quadcap.sql.TernaryExpression, com.quadcap.sql.UnaryExpression, and com.quadcap.sql.ValueExpression.

Definition at line 76 of file Expression.java.

References com.quadcap.sql.Expression.getValue().

Referenced by com.quadcap.sql.CheckConstraint.add(), com.quadcap.sql.CheckConstraint.checkInsert(), com.quadcap.sql.View.checkRow(), com.quadcap.sql.UpdateItem.evaluate(), com.quadcap.sql.SelectExpression.getCursor(), com.quadcap.sql.IndexCursor.getCursorRange(), com.quadcap.sql.StmtInsert.getDefault(), com.quadcap.sql.ItemsRow.getItem(), com.quadcap.sql.VectorExpression.getParameter(), com.quadcap.sql.UnaryExpression.getValue(), com.quadcap.sql.TernaryExpression.getValue(), com.quadcap.sql.Expression.getValue(), com.quadcap.sql.BinaryExpression.getValue(), com.quadcap.sql.InExpression.getValue1(), com.quadcap.sql.VectorExpression.getValues(), com.quadcap.sql.PredicateCursor.next(), com.quadcap.sql.PredicateCursor.prev(), com.quadcap.sql.meta.MetaCursor.rowMatch(), com.quadcap.sql.StmtInsert.setVrow(), and com.quadcap.sql.AggregateExpression.updateAggregate().

Row com.quadcap.sql.Expression.getValues Session  session,
Cursor  cursor
throws SQLException
 

If this is a vector, return the value.

Reimplemented in com.quadcap.sql.NameExpression, and com.quadcap.sql.VectorExpression.

Definition at line 85 of file Expression.java.

References com.quadcap.sql.Expression.getValues(), com.quadcap.sql.Expression.rank(), and com.quadcap.sql.Row.set().

Referenced by com.quadcap.sql.VectorExpression.getCursor(), com.quadcap.sql.QuantifiedCompare.getValue(), com.quadcap.sql.InExpression.getValue1(), com.quadcap.sql.InExpression.getValue2(), com.quadcap.sql.VectorExpression.getValues(), and com.quadcap.sql.Expression.getValues().

void com.quadcap.sql.Expression.invert  )  throws antlr.RecognitionException
 

Negate the logical value of the expression.

Reimplemented in com.quadcap.sql.AggregateExpression, com.quadcap.sql.BinaryExpression, com.quadcap.sql.FunctionExpression, com.quadcap.sql.InExpression, com.quadcap.sql.MergeExpression, com.quadcap.sql.NameExpression, com.quadcap.sql.ParameterExpression, com.quadcap.sql.QuantifiedCompare, com.quadcap.sql.SelectExpression, com.quadcap.sql.TernaryExpression, com.quadcap.sql.UnaryExpression, com.quadcap.sql.ValueExpression, and com.quadcap.sql.VectorExpression.

Definition at line 108 of file Expression.java.

Referenced by com.quadcap.sql.SQLParser.compareExpression(), and com.quadcap.sql.SQLParser.notExpression().

abstract int com.quadcap.sql.Expression.rank  )  [pure 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.

Implemented in com.quadcap.sql.AggregateExpression, com.quadcap.sql.BinaryExpression, com.quadcap.sql.FunctionExpression, com.quadcap.sql.InExpression, com.quadcap.sql.JoinedTable, com.quadcap.sql.MergeExpression, com.quadcap.sql.NameExpression, com.quadcap.sql.ParameterExpression, com.quadcap.sql.QuantifiedCompare, com.quadcap.sql.SelectExpression, com.quadcap.sql.SelectFromItem, com.quadcap.sql.SelectFromTable, com.quadcap.sql.TableExpression, com.quadcap.sql.TernaryExpression, com.quadcap.sql.UnaryExpression, com.quadcap.sql.ValueExpression, and com.quadcap.sql.VectorExpression.

Referenced by com.quadcap.sql.InExpression.getValue(), com.quadcap.sql.InExpression.getValue1(), com.quadcap.sql.InExpression.getValue2(), and com.quadcap.sql.Expression.getValues().

abstract String com.quadcap.sql.Expression.toString  )  [pure virtual]
 

Implemented in com.quadcap.sql.AggregateExpression, com.quadcap.sql.BinaryExpression, com.quadcap.sql.FunctionExpression, com.quadcap.sql.InExpression, com.quadcap.sql.JoinedTable, com.quadcap.sql.MergeExpression, com.quadcap.sql.NameExpression, com.quadcap.sql.ParameterExpression, com.quadcap.sql.QuantifiedCompare, com.quadcap.sql.SelectExpression, com.quadcap.sql.SelectFromItem, com.quadcap.sql.SelectFromTable, com.quadcap.sql.TernaryExpression, com.quadcap.sql.UnaryExpression, com.quadcap.sql.ValueExpression, and com.quadcap.sql.VectorExpression.

Referenced by com.quadcap.sql.meta.MetaColumns.doColumn(), com.quadcap.sql.View.toString(), com.quadcap.sql.UnaryExpression.toString(), com.quadcap.sql.TernaryExpression.toString(), com.quadcap.sql.SelectItem.toString(), com.quadcap.sql.SelectFromItem.toString(), com.quadcap.sql.SelectExpression.toString(), com.quadcap.sql.QuantifiedCompare.toString(), com.quadcap.sql.MergeExpression.toString(), com.quadcap.sql.JoinedTable.toString(), and com.quadcap.sql.BinaryExpression.toString().

void com.quadcap.sql.Expression.visitSubExpressions ExpressionVisitor  v  ) 
 

Give a visitor access to the parse tree.

Reimplemented in com.quadcap.sql.AggregateExpression, com.quadcap.sql.BinaryExpression, com.quadcap.sql.FunctionExpression, com.quadcap.sql.InExpression, com.quadcap.sql.JoinedTable, com.quadcap.sql.MergeExpression, com.quadcap.sql.NameExpression, com.quadcap.sql.ParameterExpression, com.quadcap.sql.QuantifiedCompare, com.quadcap.sql.SelectExpression, com.quadcap.sql.TernaryExpression, com.quadcap.sql.UnaryExpression, com.quadcap.sql.ValueExpression, and com.quadcap.sql.VectorExpression.

Definition at line 115 of file Expression.java.

References com.quadcap.sql.Expression.visitSubExpressions().

Referenced by com.quadcap.sql.Table.GetNames.visit(), com.quadcap.sql.StmtRenameTable.RenameTableVisitor.visit(), com.quadcap.sql.StmtInsert.IsSelfInsert.visit(), com.quadcap.sql.SelectExpression.AndWhere.visit(), com.quadcap.sql.SelectExpression.IsAggregate.visit(), and com.quadcap.sql.Expression.visitSubExpressions().