org.eigenbase.sql
Class SqlIntervalLiteral
java.lang.Object
   org.eigenbase.sql.SqlNode
org.eigenbase.sql.SqlNode
       org.eigenbase.sql.SqlLiteral
org.eigenbase.sql.SqlLiteral
           org.eigenbase.sql.SqlIntervalLiteral
org.eigenbase.sql.SqlIntervalLiteral
- All Implemented Interfaces: 
- Cloneable
- public class SqlIntervalLiteral 
- extends SqlLiteral
A SQL literal representing a time interval.
 
Examples:
 
 - INTERVAL '1' SECOND
- INTERVAL '1:00:05.345' HOUR
- INTERVAL '3:4' YEAR TO MONTH
YEAR/MONTH intervals are not implemented yet.
 The interval string, such as '1:00:05.345', is not parsed yet.
- Version:
- $Id: //open/dev/farrago/src/org/eigenbase/sql/SqlIntervalLiteral.java#16 $
- Author:
- jhyde
 
 
 
 
 
 
| Method Summary | 
|  SqlNode | clone(SqlParserPos pos)Clones a SqlNode with a different position.
 | 
|  void | unparse(SqlWriter writer,
        int leftPrec,
        int rightPrec)Writes a SQL representation of this node to a writer.
 | 
 
| Methods inherited from class org.eigenbase.sql.SqlLiteral | 
| accept, bigDecimalValue, booleanValue, createApproxNumeric, createBinaryString, createBinaryString, createBoolean, createCharString, createCharString, createDate, createExactNumeric, createInterval, createNegative, createNull, createSample, createSqlType, createSymbol, createTime, createTimestamp, createUnknown, equals, equalsDeep, getKind, getMonotonicity, getStringValue, getTypeName, getValue, hashCode, intValue, longValue, sampleValue, stringValue, symbolValue, toValue, unescapeUnicode, validate, valueMatchesType | 
 
 
 
SqlIntervalLiteral
protected SqlIntervalLiteral(int sign,
                             String intervalStr,
                             SqlIntervalQualifier intervalQualifier,
                             SqlTypeName sqlTypeName,
                             SqlParserPos pos)
SqlIntervalLiteral
private SqlIntervalLiteral(SqlIntervalLiteral.IntervalValue intervalValue,
                           SqlTypeName sqlTypeName,
                           SqlParserPos pos)
clone
public SqlNode clone(SqlParserPos pos)
- Description copied from class: SqlNode
- Clones a SqlNode with a different position.
 
- 
- Overrides:
- clonein class- SqlLiteral
 
- 
 
unparse
public void unparse(SqlWriter writer,
                    int leftPrec,
                    int rightPrec)
- Description copied from class: SqlNode
- Writes a SQL representation of this node to a writer.
 The leftPrecandrightPrecparameters give
 us enough context to decide whether we need to enclose the expression in
 parentheses. For example, we need parentheses around "2 + 3" if preceded
 by "5 *". This is because the precedence of the "*" operator is greater
 than the precedence of the "+" operator.
 The algorithm handles left- and right-associative operators by giving
 them slightly different left- and right-precedence.
  If SqlWriter.isAlwaysUseParentheses()is true, we use
 parentheses even when they are not required by the precedence rules.
 For the details of this algorithm, see SqlCall.unparse(org.eigenbase.sql.SqlWriter, int, int).
 
 
- 
- Overrides:
- unparsein class- SqlLiteral
 
- 
- Parameters:
- writer- Target writer
- leftPrec- The precedence of the- SqlNodeimmediately
 preceding this node in a depth-first scan of the parse tree
- rightPrec- The precedence of the- SqlNodeimmediately