org.makumba.providers.query.mql
Class MqlSqlGenerator

java.lang.Object
  extended by antlr.TreeParser
      extended by org.makumba.providers.query.mql.MqlSqlGeneratorBase
          extended by org.makumba.providers.query.mql.MqlSqlGenerator
All Implemented Interfaces:
SqlTokenTypes

public class MqlSqlGenerator
extends MqlSqlGeneratorBase

Writing to SQL. This extends the class produced by mql-sql-gen.g which is adapted from Hibernate. To simplify porting of new versions, the class only redefines methods declared in mql-sql-gen.g. Operations redefined: 1) writing is done to a NameResolver.TextList instead of a StringBuffer to allow name-resolving later on 2) minor separator redefinitions

Version:
$Id: MqlSqlGenerator.java,v 1.1 Aug 5, 2008 5:47:16 PM cristi Exp $
Author:
Cristian Bogdan

Nested Class Summary
static class MqlSqlGenerator.FunctionArgumentWriter
           
 
Field Summary
(package private)  antlr.RecognitionException error
           
(package private)  NameResolver.TextList text
           
 
Fields inherited from class org.makumba.providers.query.mql.MqlSqlGeneratorBase
_tokenNames, _tokenSet_0, _tokenSet_1, _tokenSet_2, _tokenSet_3, _tokenSet_4
 
Fields inherited from class antlr.TreeParser
_retTree, astFactory, ASTNULL, inputState, returnAST, tokenNames, traceDepth
 
Fields inherited from interface org.makumba.providers.query.mql.SqlTokenTypes
AGGREGATE, ALIAS, ALIAS_REF, ALL, AND, ANY, AS, ASCENDING, AVG, BETWEEN, BOGUS, BOTH, CASE, CASE2, CLASS, CLOSE, CLOSE_BRACKET, COLON, COMMA, CONCAT, CONSTANT, CONSTRUCTOR, COUNT, DELETE, DESCENDING, DISTINCT, DIV, DOT, ELEMENTS, ELSE, EMPTY, END, EOF, EQ, ESCAPE, ESCqs, EXISTS, EXPONENT, EXPR_LIST, FALSE, FETCH, FILTER_ENTITY, FILTERS, FLOAT_SUFFIX, FROM, FROM_FRAGMENT, FULL, GE, GROUP, GT, HAVING, HEX_DIGIT, ID_LETTER, ID_START_LETTER, IDENT, IMPLIED_FROM, IN, IN_LIST, INDEX_OP, INDICES, INNER, INSERT, INTO, IS, IS_NOT_NULL, IS_NULL, JAVA_CONSTANT, JOIN, JOIN_FRAGMENT, LE, LEADING, LEFT, LEFT_OUTER, LIKE, LITERAL_ascending, LITERAL_by, LITERAL_descending, LT, MAX, MEMBER, METHOD_CALL, METHOD_NAME, MIN, MINUS, NAMED_PARAM, NE, NEW, NOT, NOT_BETWEEN, NOT_IN, NOT_LIKE, NULL, NULL_TREE_LOOKAHEAD, NUM_DOUBLE, NUM_FLOAT, NUM_INT, NUM_LONG, OBJECT, OF, ON, OPEN, OPEN_BRACKET, OR, ORDER, ORDER_ELEMENT, OUTER, PARAM, PLUS, PROPERTIES, PROPERTY_REF, QUERY, QUOTED_STRING, RANGE, RIGHT, RIGHT_OUTER, ROW_STAR, SELECT, SELECT_CLAUSE, SELECT_COLUMNS, SELECT_EXPR, SELECT_FROM, SET, SOME, SQL_NE, SQL_NODE, SQL_TOKEN, STAR, SUM, THEN, THETA_JOINS, TRAILING, TRUE, UNARY_MINUS, UNARY_PLUS, UNION, UPDATE, VECTOR_EXPR, VERSIONED, WEIRD_IDENT, WHEN, WHERE, WITH, WS
 
Constructor Summary
MqlSqlGenerator()
           
 
Method Summary
protected  void beginFunctionTemplate(antlr.collections.AST m, antlr.collections.AST i)
           
protected  void commaBetweenParameters(String comma)
           
protected  void endFunctionTemplate(antlr.collections.AST m)
           
protected  void fromFragmentSeparator(antlr.collections.AST a)
           
protected  boolean hasText(antlr.collections.AST a)
           
protected  void out(antlr.collections.AST n)
           
protected  void out(String s)
           
 void reportError(antlr.RecognitionException e)
           
 void reportError(String s)
           
 void reportWarning(String s)
           
protected  void separator(antlr.collections.AST n, String sep)
           
 String toString()
           
 
Methods inherited from class org.makumba.providers.query.mql.MqlSqlGeneratorBase
additiveExpr, addrExpr, aggregate, arguments, arithmeticExpr, binaryComparisonExpression, booleanExpr, booleanOp, caseExpr, comparisonExpr, conditionList, constant, count, countExpr, deleteStatement, distinctOrAll, exoticComparisonExpression, expr, filters, from, fromTable, getLastChar, getStringBuffer, groupExprs, inList, insertStatement, likeEscape, methodCall, multiplicativeExpr, nestedExpr, nestedExprAfterMinusDiv, nestedFromFragment, nyi, optionalSpace, orderDirection, orderExprs, parameter, parenSelect, quantified, selectAtom, selectClause, selectColumn, selectExpr, selectStatement, setClause, simpleExpr, simpleExprList, sqlToken, statement, tableJoin, thetaJoins, updateStatement, whereClause, whereClauseExpr, whereExpr
 
Methods inherited from class antlr.TreeParser
getAST, getASTFactory, getTokenName, getTokenNames, match, match, matchNot, panic, setASTFactory, setASTNodeClass, setASTNodeType, traceIn, traceIndent, traceOut
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

text

NameResolver.TextList text

error

antlr.RecognitionException error
Constructor Detail

MqlSqlGenerator

public MqlSqlGenerator()
Method Detail

out

protected void out(String s)
Overrides:
out in class MqlSqlGeneratorBase

out

protected void out(antlr.collections.AST n)
Overrides:
out in class MqlSqlGeneratorBase

toString

public String toString()
Overrides:
toString in class Object

reportError

public void reportError(antlr.RecognitionException e)
Overrides:
reportError in class antlr.TreeParser

reportError

public void reportError(String s)
Overrides:
reportError in class antlr.TreeParser

reportWarning

public void reportWarning(String s)
Overrides:
reportWarning in class antlr.TreeParser

hasText

protected boolean hasText(antlr.collections.AST a)
Overrides:
hasText in class MqlSqlGeneratorBase

fromFragmentSeparator

protected void fromFragmentSeparator(antlr.collections.AST a)
Overrides:
fromFragmentSeparator in class MqlSqlGeneratorBase

separator

protected void separator(antlr.collections.AST n,
                         String sep)
Overrides:
separator in class MqlSqlGeneratorBase

beginFunctionTemplate

protected void beginFunctionTemplate(antlr.collections.AST m,
                                     antlr.collections.AST i)
Overrides:
beginFunctionTemplate in class MqlSqlGeneratorBase

endFunctionTemplate

protected void endFunctionTemplate(antlr.collections.AST m)
Overrides:
endFunctionTemplate in class MqlSqlGeneratorBase

commaBetweenParameters

protected void commaBetweenParameters(String comma)
Overrides:
commaBetweenParameters in class MqlSqlGeneratorBase