Java Code Examples for org.apache.calcite.sql.SqlLiteral#createTimestamp()
The following examples show how to use
org.apache.calcite.sql.SqlLiteral#createTimestamp() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: SqlParserUtil.java From Bats with Apache License 2.0 | 6 votes |
public static SqlTimestampLiteral parseTimestampLiteral(String s, SqlParserPos pos) { final String dateStr = parseString(s); final DateTimeUtils.PrecisionTime pt = DateTimeUtils.parsePrecisionDateTimeLiteral(dateStr, Format.PER_THREAD.get().timestamp, DateTimeUtils.UTC_ZONE, -1); if (pt == null) { throw SqlUtil.newContextException(pos, RESOURCE.illegalLiteral("TIMESTAMP", s, RESOURCE.badFormat(DateTimeUtils.TIMESTAMP_FORMAT_STRING).str())); } final TimestampString ts = TimestampString.fromCalendarFields(pt.getCalendar()) .withFraction(pt.getFraction()); return SqlLiteral.createTimestamp(ts, pt.getPrecision(), pos); }
Example 2
Source File: SqlParserUtil.java From calcite with Apache License 2.0 | 6 votes |
public static SqlTimestampLiteral parseTimestampLiteral(String s, SqlParserPos pos) { final String dateStr = parseString(s); final Format format = Format.PER_THREAD.get(); DateTimeUtils.PrecisionTime pt = null; // Allow timestamp literals with and without time fields (as does // PostgreSQL); TODO: require time fields except in Babel's lenient mode final DateFormat[] dateFormats = {format.timestamp, format.date}; for (DateFormat dateFormat : dateFormats) { pt = DateTimeUtils.parsePrecisionDateTimeLiteral(dateStr, dateFormat, DateTimeUtils.UTC_ZONE, -1); if (pt != null) { break; } } if (pt == null) { throw SqlUtil.newContextException(pos, RESOURCE.illegalLiteral("TIMESTAMP", s, RESOURCE.badFormat(DateTimeUtils.TIMESTAMP_FORMAT_STRING).str())); } final TimestampString ts = TimestampString.fromCalendarFields(pt.getCalendar()) .withFraction(pt.getFraction()); return SqlLiteral.createTimestamp(ts, pt.getPrecision(), pos); }
Example 3
Source File: RexToSqlNodeConverterImpl.java From Bats with Apache License 2.0 | 4 votes |
public SqlNode convertLiteral(RexLiteral literal) { // Numeric if (SqlTypeFamily.EXACT_NUMERIC.getTypeNames().contains( literal.getTypeName())) { return SqlLiteral.createExactNumeric( literal.getValue().toString(), SqlParserPos.ZERO); } if (SqlTypeFamily.APPROXIMATE_NUMERIC.getTypeNames().contains( literal.getTypeName())) { return SqlLiteral.createApproxNumeric( literal.getValue().toString(), SqlParserPos.ZERO); } // Timestamp if (SqlTypeFamily.TIMESTAMP.getTypeNames().contains( literal.getTypeName())) { return SqlLiteral.createTimestamp( literal.getValueAs(TimestampString.class), 0, SqlParserPos.ZERO); } // Date if (SqlTypeFamily.DATE.getTypeNames().contains( literal.getTypeName())) { return SqlLiteral.createDate( literal.getValueAs(DateString.class), SqlParserPos.ZERO); } // Time if (SqlTypeFamily.TIME.getTypeNames().contains( literal.getTypeName())) { return SqlLiteral.createTime( literal.getValueAs(TimeString.class), 0, SqlParserPos.ZERO); } // String if (SqlTypeFamily.CHARACTER.getTypeNames().contains( literal.getTypeName())) { return SqlLiteral.createCharString( ((NlsString) (literal.getValue())).getValue(), SqlParserPos.ZERO); } // Boolean if (SqlTypeFamily.BOOLEAN.getTypeNames().contains( literal.getTypeName())) { return SqlLiteral.createBoolean( (Boolean) literal.getValue(), SqlParserPos.ZERO); } // Null if (SqlTypeFamily.NULL == literal.getTypeName().getFamily()) { return SqlLiteral.createNull(SqlParserPos.ZERO); } return null; }
Example 4
Source File: RexToSqlNodeConverterImpl.java From calcite with Apache License 2.0 | 4 votes |
public SqlNode convertLiteral(RexLiteral literal) { // Numeric if (SqlTypeFamily.EXACT_NUMERIC.getTypeNames().contains( literal.getTypeName())) { return SqlLiteral.createExactNumeric( literal.getValue().toString(), SqlParserPos.ZERO); } if (SqlTypeFamily.APPROXIMATE_NUMERIC.getTypeNames().contains( literal.getTypeName())) { return SqlLiteral.createApproxNumeric( literal.getValue().toString(), SqlParserPos.ZERO); } // Timestamp if (SqlTypeFamily.TIMESTAMP.getTypeNames().contains( literal.getTypeName())) { return SqlLiteral.createTimestamp( literal.getValueAs(TimestampString.class), 0, SqlParserPos.ZERO); } // Date if (SqlTypeFamily.DATE.getTypeNames().contains( literal.getTypeName())) { return SqlLiteral.createDate( literal.getValueAs(DateString.class), SqlParserPos.ZERO); } // Time if (SqlTypeFamily.TIME.getTypeNames().contains( literal.getTypeName())) { return SqlLiteral.createTime( literal.getValueAs(TimeString.class), 0, SqlParserPos.ZERO); } // String if (SqlTypeFamily.CHARACTER.getTypeNames().contains( literal.getTypeName())) { return SqlLiteral.createCharString( ((NlsString) (literal.getValue())).getValue(), SqlParserPos.ZERO); } // Boolean if (SqlTypeFamily.BOOLEAN.getTypeNames().contains( literal.getTypeName())) { return SqlLiteral.createBoolean( (Boolean) literal.getValue(), SqlParserPos.ZERO); } // Null if (SqlTypeFamily.NULL == literal.getTypeName().getFamily()) { return SqlLiteral.createNull(SqlParserPos.ZERO); } return null; }