public RexNode visitLiteral(RexLiteral literal) { // Get the value as is return new RexLiteral(RexLiteral.value(literal), copy(literal.getType()), literal.getTypeName()); }
public RexNode visitLiteral(RexLiteral literal) { // Get the value as is return new RexLiteral(RexLiteral.value(literal), copy(literal.getType()), literal.getTypeName()); }
charset.name(), collation); return new RexLiteral(str, type, typeName); case BOOLEAN: boolean b = ConversionUtil.toBoolean(literal); return new RexLiteral(b, type, typeName); case DECIMAL: case DOUBLE: BigDecimal d = new BigDecimal(literal); return new RexLiteral(d, type, typeName); case BINARY: byte[] bytes = ConversionUtil.toByteArrayFromString(literal, 16); return new RexLiteral(new ByteString(bytes), type, typeName); case NULL: return new RexLiteral(null, type, typeName); case INTERVAL_DAY: case INTERVAL_DAY_HOUR: literal, type.getIntervalQualifier()); return new RexLiteral(BigDecimal.valueOf(millis), type, typeName); case INTERVAL_YEAR: case INTERVAL_YEAR_MONTH: literal, type.getIntervalQualifier()); return new RexLiteral(BigDecimal.valueOf(months), type, typeName); case DATE: case TIME:
charset.name(), collation); return new RexLiteral(str, type, typeName); case BOOLEAN: boolean b = ConversionUtil.toBoolean(literal); return new RexLiteral(b, type, typeName); case DECIMAL: case DOUBLE: BigDecimal d = new BigDecimal(literal); return new RexLiteral(d, type, typeName); case BINARY: byte[] bytes = ConversionUtil.toByteArrayFromString(literal, 16); return new RexLiteral(new ByteString(bytes), type, typeName); case NULL: return new RexLiteral(null, type, typeName); case INTERVAL_DAY: case INTERVAL_DAY_HOUR: literal, type.getIntervalQualifier()); return new RexLiteral(BigDecimal.valueOf(millis), type, typeName); case INTERVAL_YEAR: case INTERVAL_YEAR_MONTH: literal, type.getIntervalQualifier()); return new RexLiteral(BigDecimal.valueOf(months), type, typeName); case DATE: case TIME:
/** * Test RexBuilder.ensureType() */ @Test public void testEnsureTypeWithAny() { final RelDataTypeFactory typeFactory = new SqlTypeFactoryImpl(RelDataTypeSystem.DEFAULT); RexBuilder builder = new RexBuilder(typeFactory); RexNode node = new RexLiteral( Boolean.TRUE, typeFactory.createSqlType(SqlTypeName.BOOLEAN), SqlTypeName.BOOLEAN); RexNode ensuredNode = builder.ensureType( typeFactory.createSqlType(SqlTypeName.ANY), node, true); assertEquals(node, ensuredNode); }
/** * Test RexBuilder.ensureType() */ @Test public void testEnsureTypeWithItself() { final RelDataTypeFactory typeFactory = new SqlTypeFactoryImpl(RelDataTypeSystem.DEFAULT); RexBuilder builder = new RexBuilder(typeFactory); RexNode node = new RexLiteral( Boolean.TRUE, typeFactory.createSqlType(SqlTypeName.BOOLEAN), SqlTypeName.BOOLEAN); RexNode ensuredNode = builder.ensureType( typeFactory.createSqlType(SqlTypeName.BOOLEAN), node, true); assertEquals(node, ensuredNode); }
/** * Test RexBuilder.ensureType() */ @Test public void testEnsureTypeWithItself() { final RelDataTypeFactory typeFactory = new SqlTypeFactoryImpl(RelDataTypeSystem.DEFAULT); RexBuilder builder = new RexBuilder(typeFactory); RexNode node = new RexLiteral( Boolean.TRUE, typeFactory.createSqlType(SqlTypeName.BOOLEAN), SqlTypeName.BOOLEAN); RexNode ensuredNode = builder.ensureType( typeFactory.createSqlType(SqlTypeName.BOOLEAN), node, true); assertEquals(node, ensuredNode); }
/** * Test RexBuilder.ensureType() */ @Test public void testEnsureTypeWithAny() { final RelDataTypeFactory typeFactory = new SqlTypeFactoryImpl(RelDataTypeSystem.DEFAULT); RexBuilder builder = new RexBuilder(typeFactory); RexNode node = new RexLiteral( Boolean.TRUE, typeFactory.createSqlType(SqlTypeName.BOOLEAN), SqlTypeName.BOOLEAN); RexNode ensuredNode = builder.ensureType( typeFactory.createSqlType(SqlTypeName.ANY), node, true); assertEquals(node, ensuredNode); }
return makeCall(SqlStdOperatorTable.MULTISET_VALUE, operands); } else { return new RexLiteral((Comparable) FlatLists.of(operands), type, type.getSqlTypeName()); operands.add(e); return new RexLiteral((Comparable) FlatLists.of(operands), type, type.getSqlTypeName()); case ANY:
return makeCall(SqlStdOperatorTable.MULTISET_VALUE, operands); } else { return new RexLiteral((Comparable) FlatLists.of(operands), type, type.getSqlTypeName()); operands.add(e); return new RexLiteral((Comparable) FlatLists.of(operands), type, type.getSqlTypeName()); case ANY:
return new RexLiteral(o, type, typeName);
return new RexLiteral(o, type, typeName);
/** * Test RexBuilder.ensureType() */ @Test public void testEnsureTypeWithDifference() { final RelDataTypeFactory typeFactory = new SqlTypeFactoryImpl(RelDataTypeSystem.DEFAULT); RexBuilder builder = new RexBuilder(typeFactory); RexNode node = new RexLiteral( Boolean.TRUE, typeFactory.createSqlType(SqlTypeName.BOOLEAN), SqlTypeName.BOOLEAN); RexNode ensuredNode = builder.ensureType( typeFactory.createSqlType(SqlTypeName.INTEGER), node, true); assertNotEquals(node, ensuredNode); assertEquals(ensuredNode.getType(), typeFactory.createSqlType(SqlTypeName.INTEGER)); }
/** * Test RexBuilder.ensureType() */ @Test public void testEnsureTypeWithDifference() { final RelDataTypeFactory typeFactory = new SqlTypeFactoryImpl(RelDataTypeSystem.DEFAULT); RexBuilder builder = new RexBuilder(typeFactory); RexNode node = new RexLiteral( Boolean.TRUE, typeFactory.createSqlType(SqlTypeName.BOOLEAN), SqlTypeName.BOOLEAN); RexNode ensuredNode = builder.ensureType( typeFactory.createSqlType(SqlTypeName.INTEGER), node, true); assertNotEquals(node, ensuredNode); assertEquals(ensuredNode.getType(), typeFactory.createSqlType(SqlTypeName.INTEGER)); }