Package saffron.rel

Defines Saffron relational expressions.

See:
          Description

Interface Summary
Aggregation An Aggregation aggregates a set of values into one value.
Field The definition of a field in a Type.
Project.Flags  
Type The type of a scalar expression or a row returned from a relational expression.
TypeFactory Creates types.
TypeFactory.FieldInfo Callback which provides enough information to create fields.
 

Class Summary
AggInternalTranslator Converts expressions to consist only of constants, references to group by expressions (variables called "$group0", etc.), and calls to aggregate functions (variables called "$agg0", etc.).
Aggregate Aggregate is a relational operator which eliminates duplicates and computes totals.
Aggregate.Call  
Aggregate.ConvertToJavaRule  
AggUnpickler Converts references to group items and aggregates (created by AggInternalTranslator) into more conventional field accesses.
Correlator A Correlator behaves like a kind of Join, but works by setting variables in its environment and restarting its right-hand input.
DeferredLookup Contains the information necessary to repeat a call to QueryInfo.lookup(int,Rel[],boolean,String).
Distinct Distinct is a Rel which eliminates duplicates from its input.
Distinct.ConvertDistinctToJavaRule  
DistinctToExistsRule Rule to translate a JavaDistinct into a JavaExists, provided that the select list contains zero columns.
ExpressionReader An ExpressionReader is a relational expression node which evaluates an expression and returns the results as a relation.
ExtenderAggregation ExtenderAggregation is an aggregation which works by instantiating a user-defined aggregation (AggregationExtender), as opposed to generating custom code.
Filter A Filter is a relational expression which iterates over its input, and returns elements for which condition evaluates to true.
Filter.ConvertToJavaRule  
Filter.ConvertToPlanRule  
InternalTranslator Converts an expression into one which references only internal variables.
Intersect todo:
Join A Join represents two relational expressions joined according to some condition.
Join.ConvertToJavaRule  
Join.ConvertToPlanRule  
Join.JoinType Values are as JoinExpression.getJoinTypeCode(java.lang.String).
Minus todo:
OneRow OneRow always returns one row, zero columns.
OneRow.OneRowToJavaRule Converts a OneRow to Java calling convention.
Project Project is a relational expression which computes a set of 'select expressions' from its input relational expression.
Project.ConvertToJavaRule Converts a Project to Java calling convention.
Project.ConvertToPlanRule Converts a Project to plan calling convention.
QueryInfo A QueryInfo holds all the information about a QueryExpression while it is being translated into a collection of Rels.
Rel A Rel is a relational expression.
Rel.PlanImplementor  
RemoveDistinctRule Rule to remove a Distinct if the underlying relational expression is already distinct.
RemoveTrivialProjectRule Rule which, given a Project node which merely returns its input, converts the node into its child.
SaffronQueryExpander SaffronQueryExpander passes over a parse tree, and converts relational expressions into regular Java constructs.
SingleRel A SingleRel is a base class single-input relational expressions.
SubqueryFinder  
SwapJoinRule SwapJoinRule permutes the inputs to a join.
TableAccess A TableAccess reads all the rows from a Table.
TableAccess.ConvertToJavaRule Rule to converts a TableAccess to Java calling convention.
TypeFactoryImpl Implementation of TypeFactory.
TypeFactoryImpl.FieldImpl Simple implementation of Field
Union Union returns the union of the rows of its inputs, optionally eliminating duplicates.
Union.ConvertToIteratorRule Rule to converts a Union to iterator calling convention.
Union.ConvertToJavaRule Rule to converts a Union to Java calling convention.
UnionToDistinctRule UnionToDistinctRule translates a distinct Union (all = false) into a Distinct on top of a non-distinct Union (all = true).
 

Exception Summary
NotAGroupException NotAGroupException is thrown by AggInternalTranslator if it encounters a reference to a variable from the query's from clause.
 

Package saffron.rel Description

Defines Saffron relational expressions.

 

Revision $Id: //open/saffron/src/main/saffron/rel/package.html#2 $
Copyright Copyright (C) 2003-2003 Julian Hyde
Author Julian Hyde

Related packages and classes


SourceForge.net_Logo