The following tables lists all the data types that Mainframe Connector supports.
| COBOL usage type | Supported flags | Condition | Optimized Row Columnar (ORC) type | Type | Decoding behavior (gsutil cp) | Encoding behavior (bq export) |
|---|---|---|---|---|---|---|
| Double | FLOAT64 | Encodes the String, Double, and Float data types. | |||
| If signed | Long | INT64 | If the value is NULL, returns an empty byte array. Encodes the String, Integer, and Long data types. | ||
| If unsigned | Long | INT64 | If the value is NULL, returns an empty byte array. Encodes the String, Integer, and Long data types. | ||
| NULL_INDICATOR | If all the following condition are satisfied:
| Bytes | BYTES | Is never stored as NULL. | If the value is NULL, returns an empty byte array. |
| FAIL_ON_INVALID_DATA | DATE field which uses the DATE_CONVERTER command | Date | DATE | If an invalid date and FAIL_ON_INVALID_DATA is set, an error is displayed and the record is ignored. | If the value is NULL, returns an empty byte array. Encodes the String, LocalDate, and Date data types. |
| FAIL_ON_INVALID_DATA | TIMESTAMP field which uses the TIMESTAMP_CONVERTER command | Timestamp | TIMESTAMP | If an invalid date and FAIL_ON_INVALID_DATA is set, an error is displayed and the record is ignored. | If the value is NULL, returns an empty byte array. Encodes the String and Timestamp data types. |
| NULL_INDICATOR EMPTY_STRING_AS_NULL TRIM_STRING_SUFFIX | Picture not numeric, if any. If pictures contains the following:
| Bytes | STRING | The following character set transformation is performed: First, bytes are decoded into characters, and then those characters are encoded into UTF-8-based bytes stored into the column vector. Depending on the EMPTY_STRING_AS_NULL, data is stored as NULL. Depending on TRIM_STRING_SUFFIX, trailing whitespaces and low values are trimmed. | If the value is NULL, returns an empty byte array. Encodes the String, LocalDate, BigDecimal, and Timestamp data types. |
| NULL_INDICATOR EMPTY_STRING_AS_NULL TRIM_STRING_SUFFIX | If the field name ends with _DBCS or -DBCS then use shift-out, shift-in encoding. | Bytes | STRING | See DISPLAY (*) | See DISPLAY (*) |
| NULL_INDICATOR EMPTY_STRING_AS_NULL TRIM_STRING_SUFFIX | See DISPLAY (*) | Bytes | STRING | See DISPLAY (*) | See DISPLAY (*) |
| NULL_INDICATOR EMPTY_STRING_AS_NULL TRIM_STRING_SUFFIX | See DISPLAY (*) | Bytes | STRING | See DISPLAY (*) | See DISPLAY (*) |
| VARIABLE_LENGTH_ENABLED VARIABLE_LENGTH_LEN_SUFFIX VARIABLE_LENGTH_DATA_SUFFIX | If VARIABLE_LENGTH_ENABLED is set, the field is of variable length, and marked by a group structure of two or three fields, depending on an extra NULL_INDICATOR field:
| Bytes | STRING | The data part is decoded as DISPLAY, but is never stored as NULL. | If the value is NULL, returns an empty byte array. Encodes the String, LocalDate, and BigDecimal data types. |
| EMPTY_VALUES_ARE_NULL FAIL_ON_INVALID_DATA | Decimal64 | NUMERIC | Decode as NULL, if all the bytes are:
If the data is invalid, and FAIL_ON_INVALID_DATA is set, an error is displayed, and the record is ignored. | If the value is NULL, returns an empty byte array. Encodes the String and BigDecimal data type. | |
| EMPTY_VALUES_ARE_NULL FAIL_ON_INVALID_DATA | precision <= 18 && scale == 0 | Long | INT64 | Decode as NULL, if all the bytes are:
If the data is invalid, and FAIL_ON_INVALID_DATA is set, an error is displayed, and the record is ignored. Decode into long assuming EBCDIC encoding for The sign nibble. | If the value is NULL, returns an empty byte array. Encodes the String, Long and BigDecimal data types. |
| EMPTY_VALUES_ARE_NULL FAIL_ON_INVALID_DATA | precision <= 18 | Decimal64 | NUMERIC | Decode as NULL, if all the bytes are:
If the data is invalid, and FAIL_ON_INVALID_DATA is set, an error is displayed, and the record is ignored. Decode into long assuming EBCDIC encoding for sign nibble. | If the value is NULL, returns an empty byte array. Encodes the String, Long and BigDecimal data types. |
| EMPTY_VALUES_ARE_NULL FAIL_ON_INVALID_DATA | 18 < precision <= 38 | Decimal | BIGNUMERIC | Decode as NULL, if all the bytes are:
If the data is invalid, and FAIL_ON_INVALID_DATA is set, an error is displayed, and the record is ignored. Decode into long assuming EBCDIC encoding for sign nibble. | If the value is NULL, returns an empty byte array. Encodes the String, Long, BigInteger, and BigDecimal data type. |