public RelDataType createSqlType(SqlTypeName typeName) { if (typeName.allowsPrec()) { return createSqlType(typeName, typeName.getDefaultPrecision()); } assertBasic(typeName); RelDataType newType = new BasicSqlType(typeName); return canonize(newType); }
private Object toJson(RelDataType node) { if (node.isStruct()) { final List<Object> list = jsonBuilder.list(); for (RelDataTypeField field : node.getFieldList()) { list.add(toJson(field)); } return list; } else { final Map<String, Object> map = jsonBuilder.map(); map.put("type", node.getSqlTypeName().name()); map.put("nullable", node.isNullable()); if (node.getSqlTypeName().allowsPrec()) { map.put("precision", node.getPrecision()); } if (node.getSqlTypeName().allowsScale()) { map.put("scale", node.getScale()); } return map; } }
boolean beyond) int precision = typeName.allowsPrec() ? this.getPrecision() : -1; int scale = typeName.allowsScale() ? this.getScale() : -1; return typeName.getLimit(
SqlTypeName.Limit limit, boolean beyond) { int precision = typeName.allowsPrec() ? this.getPrecision() : -1; int scale = typeName.allowsScale() ? this.getScale() : -1; return typeName.getLimit(
if (sqlTypeName.allowsPrec() && (precision >= 0)) { final SqlWriter.Frame frame = writer.startList(SqlWriter.FrameTypeEnum.FUN_CALL, "(", ")");
if (sqlTypeName.allowsPrec() && (precision >= 0)) { final SqlWriter.Frame frame = writer.startList(SqlWriter.FrameTypeEnum.FunCall, "(", ")");
null, SqlParserPos.ZERO); } else if (typeName.allowsPrec()) { return new SqlDataTypeSpec( typeIdentifier,
null, SqlParserPos.ZERO); } else if (typeName.allowsPrec()) { return new SqlDataTypeSpec( typeIdentifier,
if (!typeName.allowsPrec() && !resultTypeName.allowsPrec()) {
if (!typeName.allowsPrec() && !resultTypeName.allowsPrec())
public MetaColumn apply(RelDataTypeField a0) { final int precision = a0.getType().getSqlTypeName().allowsPrec() && !(a0.getType() instanceof RelDataTypeFactoryImpl.JavaType) ? a0.getType().getPrecision() : -1; return new MetaColumn( table.tableCat, table.tableSchem, table.tableName, a0.getName(), a0.getType().getSqlTypeName().getJdbcOrdinal(), a0.getType().getFullTypeString(), precision, a0.getType().getSqlTypeName().allowsScale() ? a0.getType().getScale() : null, 10, a0.getType().isNullable() ? DatabaseMetaData.columnNullable : DatabaseMetaData.columnNoNulls, precision, a0.getIndex() + 1, a0.getType().isNullable() ? "YES" : "NO"); } }