public class RelRecordType extends RelDataTypeImpl implements Serializable
| Modifier and Type | Class and Description |
|---|---|
private static class |
RelRecordType.SerializableRelRecordType
Skinny object which has the same information content as a
RelRecordType but skips redundant stuff like digest and the
immutable list. |
| Modifier and Type | Field and Description |
|---|---|
private StructKind |
kind
Name resolution policy; usually
StructKind.FULLY_QUALIFIED. |
digest, fieldListPRECISION_NOT_SPECIFIED, SCALE_NOT_SPECIFIED| Constructor and Description |
|---|
RelRecordType(List<RelDataTypeField> fields) |
RelRecordType(StructKind kind,
List<RelDataTypeField> fields)
Creates a
RecordType. |
| Modifier and Type | Method and Description |
|---|---|
protected void |
generateTypeString(StringBuilder sb,
boolean withDetail)
Generates a string representation of this type.
|
int |
getPrecision()
Gets the JDBC-defined precision for values of this type.
|
SqlTypeName |
getSqlTypeName()
Gets the
SqlTypeName of this type. |
StructKind |
getStructKind()
Returns the rule for resolving the fields of a structured type,
or
StructKind.NONE if this is not a structured type. |
boolean |
isNullable()
Queries whether this type allows null values.
|
private Object |
writeReplace()
Per
Serializable API, provides a replacement object to be written
during serialization. |
computeDigest, equals, extra, getCharset, getCollation, getComparability, getComponentType, getFamily, getField, getFieldCount, getFieldList, getFieldNames, getFullTypeString, getIntervalQualifier, getKeyType, getPrecedenceList, getScale, getSqlIdentifier, getValueType, hashCode, isDynamicStruct, isStruct, proto, proto, proto, proto, toStringprivate final StructKind kind
StructKind.FULLY_QUALIFIED.public RelRecordType(StructKind kind, List<RelDataTypeField> fields)
RecordType. This should only be called from a
factory method.public RelRecordType(List<RelDataTypeField> fields)
public SqlTypeName getSqlTypeName()
RelDataTypeSqlTypeName of this type.getSqlTypeName in interface RelDataTypegetSqlTypeName in class RelDataTypeImplpublic boolean isNullable()
RelDataTypeisNullable in interface RelDataTypeisNullable in class RelDataTypeImplpublic int getPrecision()
RelDataTypeReturns RelDataType.PRECISION_NOT_SPECIFIED (-1) if precision is not
applicable for this type.
getPrecision in interface RelDataTypegetPrecision in class RelDataTypeImplpublic StructKind getStructKind()
RelDataTypeStructKind.NONE if this is not a structured type.getStructKind in interface RelDataTypegetStructKind in class RelDataTypeImplprotected void generateTypeString(StringBuilder sb, boolean withDetail)
RelDataTypeImplgenerateTypeString in class RelDataTypeImplsb - StringBuffer into which to generate the stringwithDetail - when true, all detail information needed to compute a
unique digest (and return from getFullTypeString) should
be included;private Object writeReplace()
Serializable API, provides a replacement object to be written
during serialization.
This implementation converts this RelRecordType into a
SerializableRelRecordType, whose readResolve method converts
it back to a RelRecordType during deserialization.
Copyright © 2012–2018 The Apache Software Foundation. All rights reserved.