code: public Integer getColumnSize() {
      if (type.isNumericType()) {
        return getPrecision();
      }
      switch (type) {
      case STRING_TYPE:
      case BINARY_TYPE:
        return Integer.MAX_VALUE;
      case CHAR_TYPE:
      case VARCHAR_TYPE:
        return typeQualifiers.getCharacterMaximumLength();
      case DATE_TYPE:
        return 10;
      case TIMESTAMP_TYPE:
        return 29;
      default:
        return null;
      }
    }
docs: The column size for this type.
  For numeric data this is the maximum precision.
  For character data this is the length in characters.
  For datetime types this is the length in characters of the String representation
  (assuming the maximum allowed precision of the fractional seconds component).
  For binary data this is the length in bytes.
  Null is returned for data types where the column size is not applicable.