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. |