test_class.declarator: PRECISION = 256
test_class.modifier: private static final
test_class.original_string: private static final int PRECISION = 256;
test_class.type: int
test_class.var_name: PRECISION
test_class.declarator: MOON = -14159025000L
test_class.modifier: private static final
test_class.original_string: private static final long MOON = -14159025000L;
test_class.type: long
test_class.var_name: MOON
test_class.declarator: MOON_DAY = -164
test_class.modifier: private static final
test_class.original_string: private static final int MOON_DAY = -164;
test_class.type: int
test_class.var_name: MOON_DAY
test_class.declarator: MOON_TIME = 10575000
test_class.modifier: private static final
test_class.original_string: private static final int MOON_TIME = 10575000;
test_class.type: int
test_class.var_name: MOON_TIME
test_class.file: parser/src/test/java/com/qihoo/qsql/org/apache/calcite/rex/RexBuilderTest.java
test_class.identifier: RexBuilderTest
test_case.body: @Test public void testTimestampWithLocalTimeZoneLiteral() {
      final RelDataTypeFactory typeFactory =
          new SqlTypeFactoryImpl(RelDataTypeSystem.DEFAULT);
      final RelDataType timestampType =
          typeFactory.createSqlType(SqlTypeName.TIMESTAMP_WITH_LOCAL_TIME_ZONE);
      final RelDataType timestampType3 =
          typeFactory.createSqlType(SqlTypeName.TIMESTAMP_WITH_LOCAL_TIME_ZONE, 3);
      final RelDataType timestampType9 =
          typeFactory.createSqlType(SqlTypeName.TIMESTAMP_WITH_LOCAL_TIME_ZONE, 9);
      final RelDataType timestampType18 =
          typeFactory.createSqlType(SqlTypeName.TIMESTAMP_WITH_LOCAL_TIME_ZONE, 18);
      final RexBuilder builder = new RexBuilder(typeFactory);
  
      // The new way
      final TimestampWithTimeZoneString ts = new TimestampWithTimeZoneString(
          1969, 7, 21, 2, 56, 15, TimeZone.getTimeZone("PST").getID());
      checkTimestampWithLocalTimeZone(
          builder.makeLiteral(ts.getLocalTimestampString(), timestampType, false));
  
      // Now with milliseconds
      final TimestampWithTimeZoneString ts2 = ts.withMillis(56);
      assertThat(ts2.toString(), is("1969-07-21 02:56:15.056 PST"));
      final RexNode literal2 = builder.makeLiteral(
          ts2.getLocalTimestampString(), timestampType3, false);
      assertThat(((RexLiteral) literal2).getValue().toString(), is("1969-07-21 02:56:15.056"));
  
      // Now with nanoseconds
      final TimestampWithTimeZoneString ts3 = ts.withNanos(56);
      final RexNode literal3 = builder.makeLiteral(
          ts3.getLocalTimestampString(), timestampType9, false);
      assertThat(((RexLiteral) literal3).getValueAs(TimestampString.class)
              .toString(), is("1969-07-21 02:56:15"));
      final TimestampWithTimeZoneString ts3b = ts.withNanos(2345678);
      final RexNode literal3b = builder.makeLiteral(
          ts3b.getLocalTimestampString(), timestampType9, false);
      assertThat(((RexLiteral) literal3b).getValueAs(TimestampString.class)
              .toString(), is("1969-07-21 02:56:15.002"));
  
      // Now with a very long fraction
      final TimestampWithTimeZoneString ts4 = ts.withFraction("102030405060708090102");
      final RexNode literal4 = builder.makeLiteral(
          ts4.getLocalTimestampString(), timestampType18, false);
      assertThat(((RexLiteral) literal4).getValueAs(TimestampString.class)
              .toString(), is("1969-07-21 02:56:15.102"));
  
      // toString
      assertThat(ts2.round(1).toString(), is("1969-07-21 02:56:15 PST"));
      assertThat(ts2.round(2).toString(), is("1969-07-21 02:56:15.05 PST"));
      assertThat(ts2.round(3).toString(), is("1969-07-21 02:56:15.056 PST"));
      assertThat(ts2.round(4).toString(), is("1969-07-21 02:56:15.056 PST"));
  
      assertThat(ts2.toString(6), is("1969-07-21 02:56:15.056000 PST"));
      assertThat(ts2.toString(1), is("1969-07-21 02:56:15.0 PST"));
      assertThat(ts2.toString(0), is("1969-07-21 02:56:15 PST"));
  
      assertThat(ts2.round(0).toString(), is("1969-07-21 02:56:15 PST"));
      assertThat(ts2.round(0).toString(0), is("1969-07-21 02:56:15 PST"));
      assertThat(ts2.round(0).toString(1), is("1969-07-21 02:56:15.0 PST"));
      assertThat(ts2.round(0).toString(2), is("1969-07-21 02:56:15.00 PST"));
    }
test_case.class_method_signature: RexBuilderTest.testTimestampWithLocalTimeZoneLiteral()
test_case.full_signature: @Test public void testTimestampWithLocalTimeZoneLiteral()
test_case.identifier: testTimestampWithLocalTimeZoneLiteral
test_case.invocations: createSqlType createSqlType createSqlType createSqlType getID getTimeZone checkTimestampWithLocalTimeZone makeLiteral getLocalTimestampString withMillis assertThat toString is makeLiteral getLocalTimestampString assertThat toString getValue is withNanos makeLiteral getLocalTimestampString assertThat toString getValueAs is withNanos makeLiteral getLocalTimestampString assertThat toString getValueAs is withFraction makeLiteral getLocalTimestampString assertThat toString getValueAs is assertThat toString round is assertThat toString round is assertThat toString round is assertThat toString round is assertThat toString is assertThat toString is assertThat toString is assertThat toString round is assertThat toString round is assertThat toString round is assertThat toString round is
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testTimestampWithLocalTimeZoneLiteral()
focal_class.declarator: GET_OPERATOR =
        new SqlSpecialOperator("_get", SqlKind.OTHER_FUNCTION)
focal_class.modifier: public static final
focal_class.original_string: public static final SqlSpecialOperator GET_OPERATOR =
        new SqlSpecialOperator("_get", SqlKind.OTHER_FUNCTION);
focal_class.type: SqlSpecialOperator
focal_class.var_name: GET_OPERATOR
focal_class.declarator: INT_MIN =
        BigDecimal.valueOf(Integer.MIN_VALUE)
focal_class.modifier: private static final
focal_class.original_string: private static final BigDecimal INT_MIN =
        BigDecimal.valueOf(Integer.MIN_VALUE);
focal_class.type: BigDecimal
focal_class.var_name: INT_MIN
focal_class.declarator: INT_MAX =
        BigDecimal.valueOf(Integer.MAX_VALUE)
focal_class.modifier: private static final
focal_class.original_string: private static final BigDecimal INT_MAX =
        BigDecimal.valueOf(Integer.MAX_VALUE);
focal_class.type: BigDecimal
focal_class.var_name: INT_MAX
focal_class.declarator: typeFactory
focal_class.modifier: protected final
focal_class.original_string: protected final RelDataTypeFactory typeFactory;
focal_class.type: RelDataTypeFactory
focal_class.var_name: typeFactory
focal_class.declarator: booleanTrue
focal_class.modifier: private final
focal_class.original_string: private final RexLiteral booleanTrue;
focal_class.type: RexLiteral
focal_class.var_name: booleanTrue
focal_class.declarator: booleanFalse
focal_class.modifier: private final
focal_class.original_string: private final RexLiteral booleanFalse;
focal_class.type: RexLiteral
focal_class.var_name: booleanFalse
focal_class.declarator: charEmpty
focal_class.modifier: private final
focal_class.original_string: private final RexLiteral charEmpty;
focal_class.type: RexLiteral
focal_class.var_name: charEmpty
focal_class.declarator: constantNull
focal_class.modifier: private final
focal_class.original_string: private final RexLiteral constantNull;
focal_class.type: RexLiteral
focal_class.var_name: constantNull
focal_class.declarator: opTab = SqlStdOperatorTable.instance()
focal_class.modifier: private final
focal_class.original_string: private final SqlStdOperatorTable opTab = SqlStdOperatorTable.instance();
focal_class.type: SqlStdOperatorTable
focal_class.var_name: opTab
focal_class.file: parser/src/main/java/com/qihoo/qsql/org/apache/calcite/rex/RexBuilder.java
focal_class.identifier: RexBuilder
focal_class.class_method_signature: RexBuilder.RexBuilder(RelDataTypeFactory typeFactory)
focal_class.full_signature: public  RexBuilder(RelDataTypeFactory typeFactory)
focal_class.identifier: RexBuilder
focal_class.modifiers: public
focal_class.parameters: (RelDataTypeFactory typeFactory)
focal_class.signature:  RexBuilder(RelDataTypeFactory typeFactory)
focal_class.class_method_signature: RexBuilder.identityProjects(final RelDataType rowType)
focal_class.full_signature: public List<? extends RexNode> identityProjects(final RelDataType rowType)
focal_class.identifier: identityProjects
focal_class.modifiers: public
focal_class.parameters: (final RelDataType rowType)
focal_class.return: List<? extends RexNode>
focal_class.signature: List<? extends RexNode> identityProjects(final RelDataType rowType)
focal_class.class_method_signature: RexBuilder.getTypeFactory()
focal_class.full_signature: public RelDataTypeFactory getTypeFactory()
focal_class.identifier: getTypeFactory
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: RelDataTypeFactory
focal_class.signature: RelDataTypeFactory getTypeFactory()
focal_class.class_method_signature: RexBuilder.getOpTab()
focal_class.full_signature: public SqlStdOperatorTable getOpTab()
focal_class.identifier: getOpTab
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: SqlStdOperatorTable
focal_class.signature: SqlStdOperatorTable getOpTab()
focal_class.class_method_signature: RexBuilder.makeFieldAccess(RexNode expr, String fieldName,
                                   boolean caseSensitive)
focal_class.full_signature: public RexNode makeFieldAccess(RexNode expr, String fieldName,
                                   boolean caseSensitive)
focal_class.identifier: makeFieldAccess
focal_class.modifiers: public
focal_class.parameters: (RexNode expr, String fieldName,
                                   boolean caseSensitive)
focal_class.return: RexNode
focal_class.signature: RexNode makeFieldAccess(RexNode expr, String fieldName,
                                   boolean caseSensitive)
focal_class.class_method_signature: RexBuilder.makeFieldAccess(
        RexNode expr,
        int i)
focal_class.full_signature: public RexNode makeFieldAccess(
        RexNode expr,
        int i)
focal_class.identifier: makeFieldAccess
focal_class.modifiers: public
focal_class.parameters: (
        RexNode expr,
        int i)
focal_class.return: RexNode
focal_class.signature: RexNode makeFieldAccess(
        RexNode expr,
        int i)
focal_class.class_method_signature: RexBuilder.makeFieldAccessInternal(
        RexNode expr,
        final RelDataTypeField field)
focal_class.full_signature: private RexNode makeFieldAccessInternal(
        RexNode expr,
        final RelDataTypeField field)
focal_class.identifier: makeFieldAccessInternal
focal_class.modifiers: private
focal_class.parameters: (
        RexNode expr,
        final RelDataTypeField field)
focal_class.return: RexNode
focal_class.signature: RexNode makeFieldAccessInternal(
        RexNode expr,
        final RelDataTypeField field)
focal_class.class_method_signature: RexBuilder.makeCall(
        RelDataType returnType,
        SqlOperator op,
        List<RexNode> exprs)
focal_class.full_signature: public RexNode makeCall(
        RelDataType returnType,
        SqlOperator op,
        List<RexNode> exprs)
focal_class.identifier: makeCall
focal_class.modifiers: public
focal_class.parameters: (
        RelDataType returnType,
        SqlOperator op,
        List<RexNode> exprs)
focal_class.return: RexNode
focal_class.signature: RexNode makeCall(
        RelDataType returnType,
        SqlOperator op,
        List<RexNode> exprs)
focal_class.class_method_signature: RexBuilder.makeCall(
        SqlOperator op,
        List<? extends RexNode> exprs)
focal_class.full_signature: public RexNode makeCall(
        SqlOperator op,
        List<? extends RexNode> exprs)
focal_class.identifier: makeCall
focal_class.modifiers: public
focal_class.parameters: (
        SqlOperator op,
        List<? extends RexNode> exprs)
focal_class.return: RexNode
focal_class.signature: RexNode makeCall(
        SqlOperator op,
        List<? extends RexNode> exprs)
focal_class.class_method_signature: RexBuilder.makeCall(
        SqlOperator op,
        RexNode... exprs)
focal_class.full_signature: public final RexNode makeCall(
        SqlOperator op,
        RexNode... exprs)
focal_class.identifier: makeCall
focal_class.modifiers: public final
focal_class.parameters: (
        SqlOperator op,
        RexNode... exprs)
focal_class.return: RexNode
focal_class.signature: RexNode makeCall(
        SqlOperator op,
        RexNode... exprs)
focal_class.class_method_signature: RexBuilder.deriveReturnType(
        SqlOperator op,
        List<? extends RexNode> exprs)
focal_class.full_signature: public RelDataType deriveReturnType(
        SqlOperator op,
        List<? extends RexNode> exprs)
focal_class.identifier: deriveReturnType
focal_class.modifiers: public
focal_class.parameters: (
        SqlOperator op,
        List<? extends RexNode> exprs)
focal_class.return: RelDataType
focal_class.signature: RelDataType deriveReturnType(
        SqlOperator op,
        List<? extends RexNode> exprs)
focal_class.class_method_signature: RexBuilder.addAggCall(AggregateCall aggCall, int groupCount,
                              List<AggregateCall> aggCalls,
                              Map<AggregateCall, RexNode> aggCallMapping,
                              final List<RelDataType> aggArgTypes)
focal_class.full_signature: public RexNode addAggCall(AggregateCall aggCall, int groupCount,
                              List<AggregateCall> aggCalls,
                              Map<AggregateCall, RexNode> aggCallMapping,
                              final List<RelDataType> aggArgTypes)
focal_class.identifier: addAggCall
focal_class.modifiers: public
focal_class.parameters: (AggregateCall aggCall, int groupCount,
                              List<AggregateCall> aggCalls,
                              Map<AggregateCall, RexNode> aggCallMapping,
                              final List<RelDataType> aggArgTypes)
focal_class.return: RexNode
focal_class.signature: RexNode addAggCall(AggregateCall aggCall, int groupCount,
                              List<AggregateCall> aggCalls,
                              Map<AggregateCall, RexNode> aggCallMapping,
                              final List<RelDataType> aggArgTypes)
focal_class.class_method_signature: RexBuilder.addAggCall(AggregateCall aggCall, int groupCount,
                              boolean indicator, List<AggregateCall> aggCalls,
                              Map<AggregateCall, RexNode> aggCallMapping,
                              final List<RelDataType> aggArgTypes)
focal_class.full_signature: @Deprecated // to be removed before 2.0 public RexNode addAggCall(AggregateCall aggCall, int groupCount,
                              boolean indicator, List<AggregateCall> aggCalls,
                              Map<AggregateCall, RexNode> aggCallMapping,
                              final List<RelDataType> aggArgTypes)
focal_class.identifier: addAggCall
focal_class.modifiers: @Deprecated // to be removed before 2.0 public
focal_class.parameters: (AggregateCall aggCall, int groupCount,
                              boolean indicator, List<AggregateCall> aggCalls,
                              Map<AggregateCall, RexNode> aggCallMapping,
                              final List<RelDataType> aggArgTypes)
focal_class.return: RexNode
focal_class.signature: RexNode addAggCall(AggregateCall aggCall, int groupCount,
                              boolean indicator, List<AggregateCall> aggCalls,
                              Map<AggregateCall, RexNode> aggCallMapping,
                              final List<RelDataType> aggArgTypes)
focal_class.class_method_signature: RexBuilder.nullableArgs(List<Integer> list0,
                                              List<RelDataType> types)
focal_class.full_signature: private static List<Integer> nullableArgs(List<Integer> list0,
                                              List<RelDataType> types)
focal_class.identifier: nullableArgs
focal_class.modifiers: private static
focal_class.parameters: (List<Integer> list0,
                                              List<RelDataType> types)
focal_class.return: List<Integer>
focal_class.signature: List<Integer> nullableArgs(List<Integer> list0,
                                              List<RelDataType> types)
focal_class.class_method_signature: RexBuilder.makeOver(RelDataType type, SqlAggFunction operator,
                            List<RexNode> exprs, List<RexNode> partitionKeys,
                            ImmutableList<RexFieldCollation> orderKeys,
                            RexWindowBound lowerBound, RexWindowBound upperBound,
                            boolean physical, boolean allowPartial, boolean nullWhenCountZero,
                            boolean distinct)
focal_class.full_signature: @Deprecated // to be removed before 2.0 public RexNode makeOver(RelDataType type, SqlAggFunction operator,
                            List<RexNode> exprs, List<RexNode> partitionKeys,
                            ImmutableList<RexFieldCollation> orderKeys,
                            RexWindowBound lowerBound, RexWindowBound upperBound,
                            boolean physical, boolean allowPartial, boolean nullWhenCountZero,
                            boolean distinct)
focal_class.identifier: makeOver
focal_class.modifiers: @Deprecated // to be removed before 2.0 public
focal_class.parameters: (RelDataType type, SqlAggFunction operator,
                            List<RexNode> exprs, List<RexNode> partitionKeys,
                            ImmutableList<RexFieldCollation> orderKeys,
                            RexWindowBound lowerBound, RexWindowBound upperBound,
                            boolean physical, boolean allowPartial, boolean nullWhenCountZero,
                            boolean distinct)
focal_class.return: RexNode
focal_class.signature: RexNode makeOver(RelDataType type, SqlAggFunction operator,
                            List<RexNode> exprs, List<RexNode> partitionKeys,
                            ImmutableList<RexFieldCollation> orderKeys,
                            RexWindowBound lowerBound, RexWindowBound upperBound,
                            boolean physical, boolean allowPartial, boolean nullWhenCountZero,
                            boolean distinct)
focal_class.class_method_signature: RexBuilder.makeOver(
        RelDataType type,
        SqlAggFunction operator,
        List<RexNode> exprs,
        List<RexNode> partitionKeys,
        ImmutableList<RexFieldCollation> orderKeys,
        RexWindowBound lowerBound,
        RexWindowBound upperBound,
        boolean physical,
        boolean allowPartial,
        boolean nullWhenCountZero,
        boolean distinct,
        boolean ignoreNulls)
focal_class.full_signature: public RexNode makeOver(
        RelDataType type,
        SqlAggFunction operator,
        List<RexNode> exprs,
        List<RexNode> partitionKeys,
        ImmutableList<RexFieldCollation> orderKeys,
        RexWindowBound lowerBound,
        RexWindowBound upperBound,
        boolean physical,
        boolean allowPartial,
        boolean nullWhenCountZero,
        boolean distinct,
        boolean ignoreNulls)
focal_class.identifier: makeOver
focal_class.modifiers: public
focal_class.parameters: (
        RelDataType type,
        SqlAggFunction operator,
        List<RexNode> exprs,
        List<RexNode> partitionKeys,
        ImmutableList<RexFieldCollation> orderKeys,
        RexWindowBound lowerBound,
        RexWindowBound upperBound,
        boolean physical,
        boolean allowPartial,
        boolean nullWhenCountZero,
        boolean distinct,
        boolean ignoreNulls)
focal_class.return: RexNode
focal_class.signature: RexNode makeOver(
        RelDataType type,
        SqlAggFunction operator,
        List<RexNode> exprs,
        List<RexNode> partitionKeys,
        ImmutableList<RexFieldCollation> orderKeys,
        RexWindowBound lowerBound,
        RexWindowBound upperBound,
        boolean physical,
        boolean allowPartial,
        boolean nullWhenCountZero,
        boolean distinct,
        boolean ignoreNulls)
focal_class.class_method_signature: RexBuilder.makeWindow(
        List<RexNode> partitionKeys,
        ImmutableList<RexFieldCollation> orderKeys,
        RexWindowBound lowerBound,
        RexWindowBound upperBound,
        boolean isRows)
focal_class.full_signature: public RexWindow makeWindow(
        List<RexNode> partitionKeys,
        ImmutableList<RexFieldCollation> orderKeys,
        RexWindowBound lowerBound,
        RexWindowBound upperBound,
        boolean isRows)
focal_class.identifier: makeWindow
focal_class.modifiers: public
focal_class.parameters: (
        List<RexNode> partitionKeys,
        ImmutableList<RexFieldCollation> orderKeys,
        RexWindowBound lowerBound,
        RexWindowBound upperBound,
        boolean isRows)
focal_class.return: RexWindow
focal_class.signature: RexWindow makeWindow(
        List<RexNode> partitionKeys,
        ImmutableList<RexFieldCollation> orderKeys,
        RexWindowBound lowerBound,
        RexWindowBound upperBound,
        boolean isRows)
focal_class.class_method_signature: RexBuilder.constantNull()
focal_class.full_signature: @Deprecated // to be removed before 2.0 public RexLiteral constantNull()
focal_class.identifier: constantNull
focal_class.modifiers: @Deprecated // to be removed before 2.0 public
focal_class.parameters: ()
focal_class.return: RexLiteral
focal_class.signature: RexLiteral constantNull()
focal_class.class_method_signature: RexBuilder.makeCorrel(
        RelDataType type,
        CorrelationId id)
focal_class.full_signature: public RexNode makeCorrel(
        RelDataType type,
        CorrelationId id)
focal_class.identifier: makeCorrel
focal_class.modifiers: public
focal_class.parameters: (
        RelDataType type,
        CorrelationId id)
focal_class.return: RexNode
focal_class.signature: RexNode makeCorrel(
        RelDataType type,
        CorrelationId id)
focal_class.class_method_signature: RexBuilder.makeNewInvocation(
        RelDataType type,
        List<RexNode> exprs)
focal_class.full_signature: public RexNode makeNewInvocation(
        RelDataType type,
        List<RexNode> exprs)
focal_class.identifier: makeNewInvocation
focal_class.modifiers: public
focal_class.parameters: (
        RelDataType type,
        List<RexNode> exprs)
focal_class.return: RexNode
focal_class.signature: RexNode makeNewInvocation(
        RelDataType type,
        List<RexNode> exprs)
focal_class.class_method_signature: RexBuilder.makeCast(
        RelDataType type,
        RexNode exp)
focal_class.full_signature: public RexNode makeCast(
        RelDataType type,
        RexNode exp)
focal_class.identifier: makeCast
focal_class.modifiers: public
focal_class.parameters: (
        RelDataType type,
        RexNode exp)
focal_class.return: RexNode
focal_class.signature: RexNode makeCast(
        RelDataType type,
        RexNode exp)
focal_class.class_method_signature: RexBuilder.makeCast(
        RelDataType type,
        RexNode exp,
        boolean matchNullability)
focal_class.full_signature: public RexNode makeCast(
        RelDataType type,
        RexNode exp,
        boolean matchNullability)
focal_class.identifier: makeCast
focal_class.modifiers: public
focal_class.parameters: (
        RelDataType type,
        RexNode exp,
        boolean matchNullability)
focal_class.return: RexNode
focal_class.signature: RexNode makeCast(
        RelDataType type,
        RexNode exp,
        boolean matchNullability)
focal_class.class_method_signature: RexBuilder.baseUnit(SqlTypeName unit)
focal_class.full_signature: protected static TimeUnit baseUnit(SqlTypeName unit)
focal_class.identifier: baseUnit
focal_class.modifiers: protected static
focal_class.parameters: (SqlTypeName unit)
focal_class.return: TimeUnit
focal_class.signature: TimeUnit baseUnit(SqlTypeName unit)
focal_class.class_method_signature: RexBuilder.canRemoveCastFromLiteral(RelDataType toType, Comparable value,
                                     SqlTypeName fromTypeName)
focal_class.full_signature:  boolean canRemoveCastFromLiteral(RelDataType toType, Comparable value,
                                     SqlTypeName fromTypeName)
focal_class.identifier: canRemoveCastFromLiteral
focal_class.parameters: (RelDataType toType, Comparable value,
                                     SqlTypeName fromTypeName)
focal_class.return: boolean
focal_class.signature: boolean canRemoveCastFromLiteral(RelDataType toType, Comparable value,
                                     SqlTypeName fromTypeName)
focal_class.class_method_signature: RexBuilder.makeCastExactToBoolean(RelDataType toType, RexNode exp)
focal_class.full_signature: private RexNode makeCastExactToBoolean(RelDataType toType, RexNode exp)
focal_class.identifier: makeCastExactToBoolean
focal_class.modifiers: private
focal_class.parameters: (RelDataType toType, RexNode exp)
focal_class.return: RexNode
focal_class.signature: RexNode makeCastExactToBoolean(RelDataType toType, RexNode exp)
focal_class.class_method_signature: RexBuilder.makeCastBooleanToExact(RelDataType toType, RexNode exp)
focal_class.full_signature: private RexNode makeCastBooleanToExact(RelDataType toType, RexNode exp)
focal_class.identifier: makeCastBooleanToExact
focal_class.modifiers: private
focal_class.parameters: (RelDataType toType, RexNode exp)
focal_class.return: RexNode
focal_class.signature: RexNode makeCastBooleanToExact(RelDataType toType, RexNode exp)
focal_class.class_method_signature: RexBuilder.makeCastIntervalToExact(RelDataType toType, RexNode exp)
focal_class.full_signature: private RexNode makeCastIntervalToExact(RelDataType toType, RexNode exp)
focal_class.identifier: makeCastIntervalToExact
focal_class.modifiers: private
focal_class.parameters: (RelDataType toType, RexNode exp)
focal_class.return: RexNode
focal_class.signature: RexNode makeCastIntervalToExact(RelDataType toType, RexNode exp)
focal_class.class_method_signature: RexBuilder.multiplyDivide(RexNode e, BigDecimal multiplier,
                                  BigDecimal divider)
focal_class.full_signature: public RexNode multiplyDivide(RexNode e, BigDecimal multiplier,
                                  BigDecimal divider)
focal_class.identifier: multiplyDivide
focal_class.modifiers: public
focal_class.parameters: (RexNode e, BigDecimal multiplier,
                                  BigDecimal divider)
focal_class.return: RexNode
focal_class.signature: RexNode multiplyDivide(RexNode e, BigDecimal multiplier,
                                  BigDecimal divider)
focal_class.class_method_signature: RexBuilder.encodeIntervalOrDecimal(
        RexNode value,
        RelDataType type,
        boolean checkOverflow)
focal_class.full_signature: public RexNode encodeIntervalOrDecimal(
        RexNode value,
        RelDataType type,
        boolean checkOverflow)
focal_class.identifier: encodeIntervalOrDecimal
focal_class.modifiers: public
focal_class.parameters: (
        RexNode value,
        RelDataType type,
        boolean checkOverflow)
focal_class.return: RexNode
focal_class.signature: RexNode encodeIntervalOrDecimal(
        RexNode value,
        RelDataType type,
        boolean checkOverflow)
focal_class.class_method_signature: RexBuilder.decodeIntervalOrDecimal(RexNode node)
focal_class.full_signature: public RexNode decodeIntervalOrDecimal(RexNode node)
focal_class.identifier: decodeIntervalOrDecimal
focal_class.modifiers: public
focal_class.parameters: (RexNode node)
focal_class.return: RexNode
focal_class.signature: RexNode decodeIntervalOrDecimal(RexNode node)
focal_class.class_method_signature: RexBuilder.makeAbstractCast(
        RelDataType type,
        RexNode exp)
focal_class.full_signature: public RexNode makeAbstractCast(
        RelDataType type,
        RexNode exp)
focal_class.identifier: makeAbstractCast
focal_class.modifiers: public
focal_class.parameters: (
        RelDataType type,
        RexNode exp)
focal_class.return: RexNode
focal_class.signature: RexNode makeAbstractCast(
        RelDataType type,
        RexNode exp)
focal_class.class_method_signature: RexBuilder.makeReinterpretCast(
        RelDataType type,
        RexNode exp,
        RexNode checkOverflow)
focal_class.full_signature: public RexNode makeReinterpretCast(
        RelDataType type,
        RexNode exp,
        RexNode checkOverflow)
focal_class.identifier: makeReinterpretCast
focal_class.modifiers: public
focal_class.parameters: (
        RelDataType type,
        RexNode exp,
        RexNode checkOverflow)
focal_class.return: RexNode
focal_class.signature: RexNode makeReinterpretCast(
        RelDataType type,
        RexNode exp,
        RexNode checkOverflow)
focal_class.class_method_signature: RexBuilder.makeNotNull(RexNode exp)
focal_class.full_signature: public RexNode makeNotNull(RexNode exp)
focal_class.identifier: makeNotNull
focal_class.modifiers: public
focal_class.parameters: (RexNode exp)
focal_class.return: RexNode
focal_class.signature: RexNode makeNotNull(RexNode exp)
focal_class.class_method_signature: RexBuilder.makeRangeReference(RelNode input)
focal_class.full_signature: public RexNode makeRangeReference(RelNode input)
focal_class.identifier: makeRangeReference
focal_class.modifiers: public
focal_class.parameters: (RelNode input)
focal_class.return: RexNode
focal_class.signature: RexNode makeRangeReference(RelNode input)
focal_class.class_method_signature: RexBuilder.makeRangeReference(
        RelDataType type,
        int offset,
        boolean nullable)
focal_class.full_signature: public RexRangeRef makeRangeReference(
        RelDataType type,
        int offset,
        boolean nullable)
focal_class.identifier: makeRangeReference
focal_class.modifiers: public
focal_class.parameters: (
        RelDataType type,
        int offset,
        boolean nullable)
focal_class.return: RexRangeRef
focal_class.signature: RexRangeRef makeRangeReference(
        RelDataType type,
        int offset,
        boolean nullable)
focal_class.class_method_signature: RexBuilder.makeInputRef(
        RelDataType type,
        int i)
focal_class.full_signature: public RexInputRef makeInputRef(
        RelDataType type,
        int i)
focal_class.identifier: makeInputRef
focal_class.modifiers: public
focal_class.parameters: (
        RelDataType type,
        int i)
focal_class.return: RexInputRef
focal_class.signature: RexInputRef makeInputRef(
        RelDataType type,
        int i)
focal_class.class_method_signature: RexBuilder.makeInputRef(RelNode input, int i)
focal_class.full_signature: public RexInputRef makeInputRef(RelNode input, int i)
focal_class.identifier: makeInputRef
focal_class.modifiers: public
focal_class.parameters: (RelNode input, int i)
focal_class.return: RexInputRef
focal_class.signature: RexInputRef makeInputRef(RelNode input, int i)
focal_class.class_method_signature: RexBuilder.makePatternFieldRef(String alpha, RelDataType type, int i)
focal_class.full_signature: public RexPatternFieldRef makePatternFieldRef(String alpha, RelDataType type, int i)
focal_class.identifier: makePatternFieldRef
focal_class.modifiers: public
focal_class.parameters: (String alpha, RelDataType type, int i)
focal_class.return: RexPatternFieldRef
focal_class.signature: RexPatternFieldRef makePatternFieldRef(String alpha, RelDataType type, int i)
focal_class.class_method_signature: RexBuilder.makeFlag(Enum flag)
focal_class.full_signature: public RexLiteral makeFlag(Enum flag)
focal_class.identifier: makeFlag
focal_class.modifiers: public
focal_class.parameters: (Enum flag)
focal_class.return: RexLiteral
focal_class.signature: RexLiteral makeFlag(Enum flag)
focal_class.class_method_signature: RexBuilder.makeLiteral(
        Comparable o,
        RelDataType type,
        SqlTypeName typeName)
focal_class.full_signature: protected RexLiteral makeLiteral(
        Comparable o,
        RelDataType type,
        SqlTypeName typeName)
focal_class.identifier: makeLiteral
focal_class.modifiers: protected
focal_class.parameters: (
        Comparable o,
        RelDataType type,
        SqlTypeName typeName)
focal_class.return: RexLiteral
focal_class.signature: RexLiteral makeLiteral(
        Comparable o,
        RelDataType type,
        SqlTypeName typeName)
focal_class.class_method_signature: RexBuilder.makeLiteral(boolean b)
focal_class.full_signature: public RexLiteral makeLiteral(boolean b)
focal_class.identifier: makeLiteral
focal_class.modifiers: public
focal_class.parameters: (boolean b)
focal_class.return: RexLiteral
focal_class.signature: RexLiteral makeLiteral(boolean b)
focal_class.class_method_signature: RexBuilder.makeExactLiteral(BigDecimal bd)
focal_class.full_signature: public RexLiteral makeExactLiteral(BigDecimal bd)
focal_class.identifier: makeExactLiteral
focal_class.modifiers: public
focal_class.parameters: (BigDecimal bd)
focal_class.return: RexLiteral
focal_class.signature: RexLiteral makeExactLiteral(BigDecimal bd)
focal_class.class_method_signature: RexBuilder.makeBigintLiteral(BigDecimal bd)
focal_class.full_signature: public RexLiteral makeBigintLiteral(BigDecimal bd)
focal_class.identifier: makeBigintLiteral
focal_class.modifiers: public
focal_class.parameters: (BigDecimal bd)
focal_class.return: RexLiteral
focal_class.signature: RexLiteral makeBigintLiteral(BigDecimal bd)
focal_class.class_method_signature: RexBuilder.makeExactLiteral(BigDecimal bd, RelDataType type)
focal_class.full_signature: public RexLiteral makeExactLiteral(BigDecimal bd, RelDataType type)
focal_class.identifier: makeExactLiteral
focal_class.modifiers: public
focal_class.parameters: (BigDecimal bd, RelDataType type)
focal_class.return: RexLiteral
focal_class.signature: RexLiteral makeExactLiteral(BigDecimal bd, RelDataType type)
focal_class.class_method_signature: RexBuilder.makeBinaryLiteral(ByteString byteString)
focal_class.full_signature: public RexLiteral makeBinaryLiteral(ByteString byteString)
focal_class.identifier: makeBinaryLiteral
focal_class.modifiers: public
focal_class.parameters: (ByteString byteString)
focal_class.return: RexLiteral
focal_class.signature: RexLiteral makeBinaryLiteral(ByteString byteString)
focal_class.class_method_signature: RexBuilder.makeApproxLiteral(BigDecimal bd)
focal_class.full_signature: public RexLiteral makeApproxLiteral(BigDecimal bd)
focal_class.identifier: makeApproxLiteral
focal_class.modifiers: public
focal_class.parameters: (BigDecimal bd)
focal_class.return: RexLiteral
focal_class.signature: RexLiteral makeApproxLiteral(BigDecimal bd)
focal_class.class_method_signature: RexBuilder.makeApproxLiteral(BigDecimal bd, RelDataType type)
focal_class.full_signature: public RexLiteral makeApproxLiteral(BigDecimal bd, RelDataType type)
focal_class.identifier: makeApproxLiteral
focal_class.modifiers: public
focal_class.parameters: (BigDecimal bd, RelDataType type)
focal_class.return: RexLiteral
focal_class.signature: RexLiteral makeApproxLiteral(BigDecimal bd, RelDataType type)
focal_class.class_method_signature: RexBuilder.makeLiteral(String s)
focal_class.full_signature: public RexLiteral makeLiteral(String s)
focal_class.identifier: makeLiteral
focal_class.modifiers: public
focal_class.parameters: (String s)
focal_class.return: RexLiteral
focal_class.signature: RexLiteral makeLiteral(String s)
focal_class.class_method_signature: RexBuilder.makePreciseStringLiteral(String s)
focal_class.full_signature: protected RexLiteral makePreciseStringLiteral(String s)
focal_class.identifier: makePreciseStringLiteral
focal_class.modifiers: protected
focal_class.parameters: (String s)
focal_class.return: RexLiteral
focal_class.signature: RexLiteral makePreciseStringLiteral(String s)
focal_class.class_method_signature: RexBuilder.makePreciseStringLiteral(ByteString value,
                                                  String charsetName, SqlCollation collation)
focal_class.full_signature: protected RexLiteral makePreciseStringLiteral(ByteString value,
                                                  String charsetName, SqlCollation collation)
focal_class.identifier: makePreciseStringLiteral
focal_class.modifiers: protected
focal_class.parameters: (ByteString value,
                                                  String charsetName, SqlCollation collation)
focal_class.return: RexLiteral
focal_class.signature: RexLiteral makePreciseStringLiteral(ByteString value,
                                                  String charsetName, SqlCollation collation)
focal_class.class_method_signature: RexBuilder.ensureType(
        RelDataType type,
        RexNode node,
        boolean matchNullability)
focal_class.full_signature: public RexNode ensureType(
        RelDataType type,
        RexNode node,
        boolean matchNullability)
focal_class.identifier: ensureType
focal_class.modifiers: public
focal_class.parameters: (
        RelDataType type,
        RexNode node,
        boolean matchNullability)
focal_class.return: RexNode
focal_class.signature: RexNode ensureType(
        RelDataType type,
        RexNode node,
        boolean matchNullability)
focal_class.class_method_signature: RexBuilder.matchNullability(
        RelDataType type,
        RexNode value)
focal_class.full_signature: public RelDataType matchNullability(
        RelDataType type,
        RexNode value)
focal_class.identifier: matchNullability
focal_class.modifiers: public
focal_class.parameters: (
        RelDataType type,
        RexNode value)
focal_class.return: RelDataType
focal_class.signature: RelDataType matchNullability(
        RelDataType type,
        RexNode value)
focal_class.class_method_signature: RexBuilder.makeCharLiteral(NlsString str)
focal_class.full_signature: public RexLiteral makeCharLiteral(NlsString str)
focal_class.identifier: makeCharLiteral
focal_class.modifiers: public
focal_class.parameters: (NlsString str)
focal_class.return: RexLiteral
focal_class.signature: RexLiteral makeCharLiteral(NlsString str)
focal_class.class_method_signature: RexBuilder.makeDateLiteral(Calendar calendar)
focal_class.full_signature: @Deprecated // to be removed before 2.0 public RexLiteral makeDateLiteral(Calendar calendar)
focal_class.identifier: makeDateLiteral
focal_class.modifiers: @Deprecated // to be removed before 2.0 public
focal_class.parameters: (Calendar calendar)
focal_class.return: RexLiteral
focal_class.signature: RexLiteral makeDateLiteral(Calendar calendar)
focal_class.class_method_signature: RexBuilder.makeDateLiteral(DateString date)
focal_class.full_signature: public RexLiteral makeDateLiteral(DateString date)
focal_class.identifier: makeDateLiteral
focal_class.modifiers: public
focal_class.parameters: (DateString date)
focal_class.return: RexLiteral
focal_class.signature: RexLiteral makeDateLiteral(DateString date)
focal_class.class_method_signature: RexBuilder.makeTimeLiteral(Calendar calendar, int precision)
focal_class.full_signature: @Deprecated // to be removed before 2.0 public RexLiteral makeTimeLiteral(Calendar calendar, int precision)
focal_class.identifier: makeTimeLiteral
focal_class.modifiers: @Deprecated // to be removed before 2.0 public
focal_class.parameters: (Calendar calendar, int precision)
focal_class.return: RexLiteral
focal_class.signature: RexLiteral makeTimeLiteral(Calendar calendar, int precision)
focal_class.class_method_signature: RexBuilder.makeTimeLiteral(TimeString time, int precision)
focal_class.full_signature: public RexLiteral makeTimeLiteral(TimeString time, int precision)
focal_class.identifier: makeTimeLiteral
focal_class.modifiers: public
focal_class.parameters: (TimeString time, int precision)
focal_class.return: RexLiteral
focal_class.signature: RexLiteral makeTimeLiteral(TimeString time, int precision)
focal_class.class_method_signature: RexBuilder.makeTimeWithLocalTimeZoneLiteral(
        TimeString time,
        int precision)
focal_class.full_signature: public RexLiteral makeTimeWithLocalTimeZoneLiteral(
        TimeString time,
        int precision)
focal_class.identifier: makeTimeWithLocalTimeZoneLiteral
focal_class.modifiers: public
focal_class.parameters: (
        TimeString time,
        int precision)
focal_class.return: RexLiteral
focal_class.signature: RexLiteral makeTimeWithLocalTimeZoneLiteral(
        TimeString time,
        int precision)
focal_class.class_method_signature: RexBuilder.makeTimestampLiteral(Calendar calendar, int precision)
focal_class.full_signature: @Deprecated // to be removed before 2.0 public RexLiteral makeTimestampLiteral(Calendar calendar, int precision)
focal_class.identifier: makeTimestampLiteral
focal_class.modifiers: @Deprecated // to be removed before 2.0 public
focal_class.parameters: (Calendar calendar, int precision)
focal_class.return: RexLiteral
focal_class.signature: RexLiteral makeTimestampLiteral(Calendar calendar, int precision)
focal_class.class_method_signature: RexBuilder.makeTimestampLiteral(TimestampString timestamp,
                                           int precision)
focal_class.full_signature: public RexLiteral makeTimestampLiteral(TimestampString timestamp,
                                           int precision)
focal_class.identifier: makeTimestampLiteral
focal_class.modifiers: public
focal_class.parameters: (TimestampString timestamp,
                                           int precision)
focal_class.return: RexLiteral
focal_class.signature: RexLiteral makeTimestampLiteral(TimestampString timestamp,
                                           int precision)
focal_class.class_method_signature: RexBuilder.makeTimestampWithLocalTimeZoneLiteral(
        TimestampString timestamp,
        int precision)
focal_class.full_signature: public RexLiteral makeTimestampWithLocalTimeZoneLiteral(
        TimestampString timestamp,
        int precision)
focal_class.identifier: makeTimestampWithLocalTimeZoneLiteral
focal_class.modifiers: public
focal_class.parameters: (
        TimestampString timestamp,
        int precision)
focal_class.return: RexLiteral
focal_class.signature: RexLiteral makeTimestampWithLocalTimeZoneLiteral(
        TimestampString timestamp,
        int precision)
focal_class.class_method_signature: RexBuilder.makeIntervalLiteral(
        SqlIntervalQualifier intervalQualifier)
focal_class.full_signature: public RexLiteral makeIntervalLiteral(
        SqlIntervalQualifier intervalQualifier)
focal_class.identifier: makeIntervalLiteral
focal_class.modifiers: public
focal_class.parameters: (
        SqlIntervalQualifier intervalQualifier)
focal_class.return: RexLiteral
focal_class.signature: RexLiteral makeIntervalLiteral(
        SqlIntervalQualifier intervalQualifier)
focal_class.class_method_signature: RexBuilder.makeIntervalLiteral(
        BigDecimal v,
        SqlIntervalQualifier intervalQualifier)
focal_class.full_signature: public RexLiteral makeIntervalLiteral(
        BigDecimal v,
        SqlIntervalQualifier intervalQualifier)
focal_class.identifier: makeIntervalLiteral
focal_class.modifiers: public
focal_class.parameters: (
        BigDecimal v,
        SqlIntervalQualifier intervalQualifier)
focal_class.return: RexLiteral
focal_class.signature: RexLiteral makeIntervalLiteral(
        BigDecimal v,
        SqlIntervalQualifier intervalQualifier)
focal_class.class_method_signature: RexBuilder.makeDynamicParam(
        RelDataType type,
        int index)
focal_class.full_signature: public RexDynamicParam makeDynamicParam(
        RelDataType type,
        int index)
focal_class.identifier: makeDynamicParam
focal_class.modifiers: public
focal_class.parameters: (
        RelDataType type,
        int index)
focal_class.return: RexDynamicParam
focal_class.signature: RexDynamicParam makeDynamicParam(
        RelDataType type,
        int index)
focal_class.class_method_signature: RexBuilder.makeNullLiteral(RelDataType type)
focal_class.full_signature: public RexLiteral makeNullLiteral(RelDataType type)
focal_class.identifier: makeNullLiteral
focal_class.modifiers: public
focal_class.parameters: (RelDataType type)
focal_class.return: RexLiteral
focal_class.signature: RexLiteral makeNullLiteral(RelDataType type)
focal_class.class_method_signature: RexBuilder.makeNullLiteral(SqlTypeName typeName, int precision)
focal_class.full_signature: @Deprecated // to be removed before 2.0 public RexNode makeNullLiteral(SqlTypeName typeName, int precision)
focal_class.identifier: makeNullLiteral
focal_class.modifiers: @Deprecated // to be removed before 2.0 public
focal_class.parameters: (SqlTypeName typeName, int precision)
focal_class.return: RexNode
focal_class.signature: RexNode makeNullLiteral(SqlTypeName typeName, int precision)
focal_class.class_method_signature: RexBuilder.makeNullLiteral(SqlTypeName typeName)
focal_class.full_signature: @Deprecated // to be removed before 2.0 public RexNode makeNullLiteral(SqlTypeName typeName)
focal_class.identifier: makeNullLiteral
focal_class.modifiers: @Deprecated // to be removed before 2.0 public
focal_class.parameters: (SqlTypeName typeName)
focal_class.return: RexNode
focal_class.signature: RexNode makeNullLiteral(SqlTypeName typeName)
focal_class.class_method_signature: RexBuilder.copy(RexNode expr)
focal_class.full_signature: public RexNode copy(RexNode expr)
focal_class.identifier: copy
focal_class.modifiers: public
focal_class.parameters: (RexNode expr)
focal_class.return: RexNode
focal_class.signature: RexNode copy(RexNode expr)
focal_class.class_method_signature: RexBuilder.makeZeroLiteral(RelDataType type)
focal_class.full_signature: public RexNode makeZeroLiteral(RelDataType type)
focal_class.identifier: makeZeroLiteral
focal_class.modifiers: public
focal_class.parameters: (RelDataType type)
focal_class.return: RexNode
focal_class.signature: RexNode makeZeroLiteral(RelDataType type)
focal_class.class_method_signature: RexBuilder.zeroValue(RelDataType type)
focal_class.full_signature: private static Comparable zeroValue(RelDataType type)
focal_class.identifier: zeroValue
focal_class.modifiers: private static
focal_class.parameters: (RelDataType type)
focal_class.return: Comparable
focal_class.signature: Comparable zeroValue(RelDataType type)
focal_class.class_method_signature: RexBuilder.makeLiteral(Object value, RelDataType type,
                               boolean allowCast)
focal_class.full_signature: public RexNode makeLiteral(Object value, RelDataType type,
                               boolean allowCast)
focal_class.identifier: makeLiteral
focal_class.modifiers: public
focal_class.parameters: (Object value, RelDataType type,
                               boolean allowCast)
focal_class.return: RexNode
focal_class.signature: RexNode makeLiteral(Object value, RelDataType type,
                               boolean allowCast)
focal_class.class_method_signature: RexBuilder.clean(Object o, RelDataType type)
focal_class.full_signature: private static Object clean(Object o, RelDataType type)
focal_class.identifier: clean
focal_class.modifiers: private static
focal_class.parameters: (Object o, RelDataType type)
focal_class.return: Object
focal_class.signature: Object clean(Object o, RelDataType type)
focal_class.class_method_signature: RexBuilder.guessType(Object value)
focal_class.full_signature: private RelDataType guessType(Object value)
focal_class.identifier: guessType
focal_class.modifiers: private
focal_class.parameters: (Object value)
focal_class.return: RelDataType
focal_class.signature: RelDataType guessType(Object value)
focal_class.class_method_signature: RexBuilder.padRight(NlsString s, int length)
focal_class.full_signature: private static NlsString padRight(NlsString s, int length)
focal_class.identifier: padRight
focal_class.modifiers: private static
focal_class.parameters: (NlsString s, int length)
focal_class.return: NlsString
focal_class.signature: NlsString padRight(NlsString s, int length)
focal_class.class_method_signature: RexBuilder.padRight(String s, int length)
focal_class.full_signature: private static String padRight(String s, int length)
focal_class.identifier: padRight
focal_class.modifiers: private static
focal_class.parameters: (String s, int length)
focal_class.return: String
focal_class.signature: String padRight(String s, int length)
focal_class.class_method_signature: RexBuilder.padRight(ByteString s, int length)
focal_class.full_signature: private static ByteString padRight(ByteString s, int length)
focal_class.identifier: padRight
focal_class.modifiers: private static
focal_class.parameters: (ByteString s, int length)
focal_class.return: ByteString
focal_class.signature: ByteString padRight(ByteString s, int length)
focal_method.body: protected RexLiteral makeLiteral(
        Comparable o,
        RelDataType type,
        SqlTypeName typeName) {
      // All literals except NULL have NOT NULL types.
      type = typeFactory.createTypeWithNullability(type, o == null);
      int p;
      switch (typeName) {
        case CHAR:
          // Character literals must have a charset and collation. Populate
          // from the type if necessary.
          assert o instanceof NlsString;
          NlsString nlsString = (NlsString) o;
          if ((nlsString.getCollation() == null)
              || (nlsString.getCharset() == null)) {
            assert type.getSqlTypeName() == SqlTypeName.CHAR;
            assert type.getCharset().name() != null;
            assert type.getCollation() != null;
            o = new NlsString(
                nlsString.getValue(),
                type.getCharset().name(),
                type.getCollation());
          }
          break;
        case TIME:
          assert o instanceof TimeString;
          p = type.getPrecision();
          if (p == RelDataType.PRECISION_NOT_SPECIFIED) {
            p = 0;
          }
          o = ((TimeString) o).round(p);
          break;
        case TIME_WITH_LOCAL_TIME_ZONE:
          assert o instanceof TimeString;
          p = type.getPrecision();
          if (p == RelDataType.PRECISION_NOT_SPECIFIED) {
            p = 0;
          }
          o = ((TimeString) o).round(p);
          break;
        case TIMESTAMP:
          assert o instanceof TimestampString;
          p = type.getPrecision();
          if (p == RelDataType.PRECISION_NOT_SPECIFIED) {
            p = 0;
          }
          o = ((TimestampString) o).round(p);
          break;
        case TIMESTAMP_WITH_LOCAL_TIME_ZONE:
          assert o instanceof TimestampString;
          p = type.getPrecision();
          if (p == RelDataType.PRECISION_NOT_SPECIFIED) {
            p = 0;
          }
          o = ((TimestampString) o).round(p);
      }
      return new RexLiteral(o, type, typeName);
    }
focal_method.class_method_signature: RexBuilder.makeLiteral(
        Comparable o,
        RelDataType type,
        SqlTypeName typeName)
focal_method.full_signature: protected RexLiteral makeLiteral(
        Comparable o,
        RelDataType type,
        SqlTypeName typeName)
focal_method.identifier: makeLiteral
focal_method.invocations: createTypeWithNullability getCollation getCharset getSqlTypeName name getCharset getCollation getValue name getCharset getCollation getPrecision round getPrecision round getPrecision round getPrecision round
focal_method.modifiers: protected
focal_method.parameters: (
        Comparable o,
        RelDataType type,
        SqlTypeName typeName)
focal_method.return: RexLiteral
focal_method.signature: RexLiteral makeLiteral(
        Comparable o,
        RelDataType type,
        SqlTypeName typeName)