Tipos de dados do Mainframe Connector

As tabelas a seguir listam todos os tipos de dados aceitos pelo Mainframe Connector.

Tipo de uso do COBOL Sinalizações aceitas Condição Tipo ORC (Optimized Row Columnar) Tipo Comportamento de decodificação (gsutil cp) Comportamento de codificação (bq export)
Duplo FLOAT64 Codifica os tipos de dados String, Double e Float.
Se assinado Longo INT64 Se o valor for NULL, retornará uma matriz de bytes vazia. Codifica os tipos de dados String, Integer e Long.
Se não estiver assinado Longo INT64 Se o valor for NULL, retornará uma matriz de bytes vazia. Codifica os tipos de dados String, Integer e Long.
NULL_INDICATOR Se todas as condições a seguir forem atendidas:
  • O nome termina com _BT ou -BT.
  • A imagem não é numérica.
  • Não há modificador de campo ou NULL_INDICATOR.
Bytes BYTES Nunca é armazenado como NULL. Se o valor for NULL, retornará uma matriz de bytes vazia.
FAIL_ON_INVALID_DATA Campo DATE que usa o comando DATE_CONVERTER Data DATE Se uma data inválida e FAIL_ON_INVALID_DATA forem definidas, um erro será exibido e o registro será ignorado. Se o valor for NULL, retornará uma matriz de bytes vazia. Codifica os tipos de dados String, LocalDate e Date.
FAIL_ON_INVALID_DATA Campo TIMESTAMP que usa o comando TIMESTAMP_CONVERTER Carimbo de data/hora TIMESTAMP Se uma data inválida e FAIL_ON_INVALID_DATA forem definidas, um erro será exibido e o registro será ignorado. Se o valor for NULL, retornará uma matriz de bytes vazia. Codifica os tipos de dados String e Timestamp.
NULL_INDICATOR EMPTY_STRING_AS_NULL TRIM_STRING_SUFFIX Imagem não numérica, se houver. Se as imagens contiverem o seguinte:
  • N e NSYMBOL == NATIONAL usam UTF-16BE
  • N e NSYMBOL == DBCS atuam como DISPLAY-1
  • U usa UTF8
Bytes STRING A transformação do conjunto de caracteres a seguir é realizada:
Primeiro, os bytes são decodificados em caracteres e, em seguida, esses caracteres são codificados em bytes baseados em UTF-8 armazenados no vetor de coluna. Dependendo do EMPTY_STRING_AS_NULL, os dados são armazenados como NULL. Dependendo de TRIM_STRING_SUFFIX, os espaços em branco finais e os valores baixos são cortados.
Se o valor for NULL, retornará uma matriz de bytes vazia. Codifica os tipos de dados String, LocalDate, BigDecimal e Timestamp.
NULL_INDICATOR EMPTY_STRING_AS_NULL TRIM_STRING_SUFFIX Se o nome do campo terminar com _DBCS ou -DBCS, use a codificação shift-out, shift-in. Bytes STRING Consulte DISPLAY (*). Consulte DISPLAY (*).
NULL_INDICATOR EMPTY_STRING_AS_NULL TRIM_STRING_SUFFIX Consulte DISPLAY (*). Bytes STRING Consulte DISPLAY (*). Consulte DISPLAY (*).
NULL_INDICATOR EMPTY_STRING_AS_NULL TRIM_STRING_SUFFIX Consulte DISPLAY (*). Bytes STRING Consulte DISPLAY (*). Consulte DISPLAY (*).
VARIABLE_LENGTH_ENABLED VARIABLE_LENGTH_LEN_SUFFIX VARIABLE_LENGTH_DATA_SUFFIX Se VARIABLE_LENGTH_ENABLED estiver definido, o campo terá comprimento variável e será marcado por uma estrutura de grupo de dois ou três campos, dependendo de um campo NULL_INDICATOR extra:
  • O primeiro campo termina com -LEN ou com o valor definido por VARIABLE_LENGTH_LEN_SUFFIX.
  • O segundo campo termina com -TEXT ou com o valor definido por VARIABLE_LENGTH_DATA_SUFFIX.
Bytes STRING A parte de dados é decodificada como DISPLAY, mas nunca é armazenada como NULL. Se o valor for NULL, retornará uma matriz de bytes vazia. Codifica os tipos de dados String, LocalDate e BigDecimal.
EMPTY_VALUES_ARE_NULL FAIL_ON_INVALID_DATA Decimal64 NUMERIC Decodificar como NULL se todos os bytes forem:
  • espaços, alto ou baixo e
  • Não FAIL_ON_INVALID_DATA ou
  • FAIL_ON_INVALID_DATA e,
  • EMPTY_VALUES_ARE_NULL

Se os dados forem inválidos e FAIL_ON_INVALID_DATA estiver definido, um erro será exibido e o registro será ignorado.
Se o valor for NULL, retornará uma matriz de bytes vazia. Codifica o tipo de dados String e BigDecimal.
EMPTY_VALUES_ARE_NULL FAIL_ON_INVALID_DATA precision <= 18 && scale == 0 Longo INT64 Decodificar como NULL se todos os bytes forem:
  • espaços, alto ou baixo e
  • Não FAIL_ON_INVALID_DATA ou
  • FAIL_ON_INVALID_DATA e,
  • EMPTY_VALUES_ARE_NULL

Se os dados forem inválidos e FAIL_ON_INVALID_DATA estiver definido, um erro será exibido e o registro será ignorado.
Descodifique em long, assumindo a codificação EBCDIC para o nibble sign.
Se o valor for NULL, retornará uma matriz de bytes vazia. Codifica os tipos de dados String, Long e BigDecimal.
EMPTY_VALUES_ARE_NULL FAIL_ON_INVALID_DATA precision <= 18 Decimal64 NUMERIC Decodificar como NULL se todos os bytes forem:
  • espaços, alto ou baixo e,
  • Não FAIL_ON_INVALID_DATA ou
  • FAIL_ON_INVALID_DATA e,
  • EMPTY_VALUES_ARE_NULL

Se os dados forem inválidos e FAIL_ON_INVALID_DATA estiver definido, um erro será exibido e o registro será ignorado.
A decodificação em long pressupõe a codificação EBCDIC para sign nibble.
Se o valor for NULL, retornará uma matriz de bytes vazia. Codifica os tipos de dados String, Long e BigDecimal.
EMPTY_VALUES_ARE_NULL FAIL_ON_INVALID_DATA 18 < precision <= 38 Decimal BIGNUMERIC Decodificar como NULL se todos os bytes forem:
  • espaços, alto ou baixo e,
  • Não FAIL_ON_INVALID_DATA ou
  • FAIL_ON_INVALID_DATA e,
  • EMPTY_VALUES_ARE_NULL

Se os dados forem inválidos e FAIL_ON_INVALID_DATA estiver definido, um erro será exibido e o registro será ignorado.
A decodificação em long pressupõe a codificação EBCDIC para sign nibble.
Se o valor for NULL, retornará uma matriz de bytes vazia. Codifica os tipos de dados String, Long, BigInteger e BigDecimal.