Package net.sf.saffron.oj.xlat

Implements translation from standard SQL and OpenJava SQL queries to abstract SaffronRels.


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.).
AggInternalTranslator.RexAggVariable Reference to an aggregation expression of the current aggregator.
AggInternalTranslator.RexGroupVariable Reference to a key of the current aggregator.
AggUnpickler Converts references to agg items and aggregates (created by AggInternalTranslator) into more conventional field accesses.
DeferredLookup Contains the information necessary to repeat a call to QueryInfo.lookup(int,SaffronRel[],boolean,String).
ExtenderAggregation ExtenderAggregation is an aggregation which works by instantiating a user-defined aggregation (AggregationExtender), as opposed to generating custom code.
InternalTranslator Converts an Openjava expression into a row-expression.
InternalTranslator.RexQuery Temporary holder for a scalar query which has not been translated yet.
OJQueryExpander OJQueryExpander passes over a parse tree, and converts relational expressions into regular Java constructs.
OJSchemaExpander Replaces references to the virtual members of SaffronSchema expressions.
OpenjavaToSqlConverter Deprecated. This class is not used.
QueryInfo A QueryInfo holds all the information about a QueryExpression while it is being translated into a collection of SaffronRels.
RexToOjTranslator Converts a row expression to a Java expression.
SqlToOpenjavaConverter A SqlToOpenjavaConverter converts a tree of SqlNode objects a ParseTree tree.
SqlToOpenjavaConverter.ConverterTest Unit test for SqlToOpenjavaConverter.
SqlToOpenjavaConverter.SchemaCatalogReader A SchemaCatalogReader looks up catalog information from a saffron schema object.
SubqueryFinder.RexExpression A Row-expression wrapped to look like a Openjava expression.

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

Package net.sf.saffron.oj.xlat Description

Implements translation from standard SQL and OpenJava SQL queries to abstract SaffronRels.


Revision $Id: //open/saffron/src/net/sf/saffron/oj/xlat/package.html#2 $
Copyright (C) Copyright 2003-2003 Disruptive Technologies, Inc.
Author Julian Hyde