Github user fhueske commented on a diff in the pull request:
https://github.com/apache/flink/pull/4612#discussion_r156940261
--- Diff:
flink-libraries/flink-table/src/main/scala/org/apache/flink/table/api/Types.scala
---
@@ -25,55 +27,125 @@ import org.apache.flink.types.Row
import _root_.scala.annotation.varargs
/**
- * This class enumerates all supported types of the Table API.
+ * This class enumerates all supported types of the Table API & SQL.
*/
object Types {
- val STRING = JTypes.STRING
- val BOOLEAN = JTypes.BOOLEAN
+ /**
+ * Returns type information for a Table API string or SQL VARCHAR type.
+ */
+ val STRING: TypeInformation[String] = JTypes.STRING
+
+ /**
+ * Returns type information for a Table API boolean or SQL BOOLEAN type.
+ */
+ val BOOLEAN: TypeInformation[lang.Boolean] = JTypes.BOOLEAN
+
+ /**
+ * Returns type information for a Table API byte or SQL TINYINT type.
+ */
+ val BYTE: TypeInformation[lang.Byte] = JTypes.BYTE
+
+ /**
+ * Returns type information for a Table API short or SQL SMALLINT type.
+ */
+ val SHORT: TypeInformation[lang.Short] = JTypes.SHORT
+
+ /**
+ * Returns type information for a Table API integer or SQL INT/INTEGER
type.
+ */
+ val INT: TypeInformation[lang.Integer] = JTypes.INT
- val BYTE = JTypes.BYTE
- val SHORT = JTypes.SHORT
- val INT = JTypes.INT
- val LONG = JTypes.LONG
- val FLOAT = JTypes.FLOAT
- val DOUBLE = JTypes.DOUBLE
- val DECIMAL = JTypes.DECIMAL
+ /**
+ * Returns type information for a Table API long or SQL BIGINT type.
+ */
+ val LONG: TypeInformation[lang.Long] = JTypes.LONG
- val SQL_DATE = JTypes.SQL_DATE
- val SQL_TIME = JTypes.SQL_TIME
- val SQL_TIMESTAMP = JTypes.SQL_TIMESTAMP
- val INTERVAL_MONTHS = TimeIntervalTypeInfo.INTERVAL_MONTHS
- val INTERVAL_MILLIS = TimeIntervalTypeInfo.INTERVAL_MILLIS
+ /**
+ * Returns type information for a Table API float or SQL FLOAT/REAL
type.
+ */
+ val FLOAT: TypeInformation[lang.Float] = JTypes.FLOAT
+
+ /**
+ * Returns type information for a Table API integer or SQL DOUBLE type.
+ */
+ val DOUBLE: TypeInformation[lang.Double] = JTypes.DOUBLE
/**
- * Generates row type information.
+ * Returns type information for a Table API big decimal or SQL DECIMAL
type.
+ */
+ val DECIMAL: TypeInformation[math.BigDecimal] = JTypes.BIG_DEC
+
+ /**
+ * Returns type information for a Table API SQL date or SQL DATE type.
+ */
+ val SQL_DATE: TypeInformation[sql.Date] = JTypes.SQL_DATE
+
+ /**
+ * Returns type information for a Table API SQL time or SQL TIME type.
+ */
+ val SQL_TIME: TypeInformation[sql.Time] = JTypes.SQL_TIME
+
+ /**
+ * Returns type information for a Table API SQL timestamp or SQL
TIMESTAMP type.
+ */
+ val SQL_TIMESTAMP: TypeInformation[sql.Timestamp] = JTypes.SQL_TIMESTAMP
+
+ /**
+ * Returns type information for a Table API interval of months.
+ */
+ val INTERVAL_MONTHS: TypeInformation[lang.Integer] =
TimeIntervalTypeInfo.INTERVAL_MONTHS
+
+ /**
+ * Returns type information for a Table API interval milliseconds.
+ */
+ val INTERVAL_MILLIS: TypeInformation[lang.Long] =
TimeIntervalTypeInfo.INTERVAL_MILLIS
+
+ /**
+ * Returns type information for [[org.apache.flink.types.Row]] with
fields of the given types.
+ *
+ * A row is a variable-length, null-aware composite type for storing
multiple values in a
+ * deterministic field order. Every field can be null independent of
the field's type.
+ * The type of row fields cannot be automatically inferred; therefore,
it is required to pass
+ * type information whenever a row is used.
*
- * A row type consists of zero or more fields with a field name and a
corresponding type.
+ * <p>The schema of rows can have up to <code>Integer.MAX_VALUE</code>
fields, however, all row instances
--- End diff --
line exceeds 100 characters.
---