Native SDK para conectores Java – Notas de lançamento

Notas de lançamento da biblioteca Java do Native SDK para conectores.

Versão 2.1.0 (8 de julho de 2024)

Mudanças de comportamento

  • Nova abordagem de identificador.

    Importante

    Essa nova abordagem pode mudar a forma como os identificadores são usados em seu conector. Teste as novas alterações com cautela!

    • Agora, o SDK espera que todos os identificadores sejam enviados conforme fornecidos pelo usuário; o SDK avaliará por si mesmo se é um identificador entre aspas ou não para poder processá-lo corretamente.

    • A colocação automática entre aspas de identificadores será feita somente ao usar valores retornados por consultas do Snowflake.

    • Para usar a nova abordagem com a UI, o conector deve retornar uma nova propriedade na exibição PUBLIC.APP_PROPERTIES, com a chave de UI_ADD_QUOTES_TO_EXISTING_QUOTED_IDENTIFIERS e um valor de TRUE.

    • Alteração da classe com.snowflake.connectors.common.object.Identifier:

      • Remoção dos métodos fromWithAutoQuoting() e getName().

      • Remoção do conceito de um identificador vazio; os métodos empty(), isNullOrEmpty(), validateNullOrEmpty() e isEmpty() foram removidos.

      • Adição do novo método from(), que permite habilitar as aspas automáticas durante a criação de instância de identificador; a cadeia de caracteres fornecida não colocada entre aspas automaticamente se for um identificador sem aspas e totalmente em letras maiúsculas.

      • Alteração do método validate() para isValid().

      • Alteração do método toSqlString() para getValue().

      • Alteração dos métodos getUnquotedValue(), getQuotedValue(), getVariantValue() e isUnquoted().

  • Alteração da classe com.snowflake.connectors.common.object.ObjectName:

    • As propriedades de banco de dados e esquema agora são Optional.

    • Alteração do tipo de retorno de getDatabase() e getSchema() para Optional.

    • Alteração do método validate() para isValid().

    • Alteração do método validateDoubleDot() para isDoubleDot().

    • Alteração do método getEscapedName() para getValue().

    • Adição dos métodos getVariantValue() e getSchemaName().

  • Alteração da classe com.snowflake.connectors.common.object.Reference:

    • Remoção do conceito de referência vazia; os métodos empty() e isEmpty() foram removidos.

    • Alteração do método validate() para isValid().

    • Alteração do método referenceName() para getName().

    • Alteração do método value() para getValue().

    • Adição da nova classe com.snowflake.connectors.common.object.SchemaName para representar o esquema; comportamento semelhante ao da classe com.snowflake.connectors.common.object.ObjectName.

    • Adição da nova classe com.snowflake.connectors.common.object.InvalidSchemaNameException.

Outras adições e alterações

  • Alteração do método applyToAllInitializedTaskReactorInstances() em com.snowflake.connectors.taskreactor.TaskReactorInstanceActionExecutor para executar uma ação somente em instâncias do reator de tarefa inicializadas. Comportamento anterior: Ações foram executadas em todas as instâncias do reator de tarefa registradas.

Novos recursos

  • Procedimentos de gerenciamento de recursos:

    • Foram introduzidos novos retornos de chamada PUBLIC.CREATE_RESOURCE() ao procedimento que permitem executar operações personalizadas durante o fluxo do procedimento. Consulte também Criação de recursos.

    • Novo procedimento PUBLIC.ENABLE_RESOURCE() que permite habilitar o recurso desabilitado. Além disso, há retornos de chamada adicionados que permitem executar operações personalizadas durante o fluxo do procedimento. Consulte também Como habilitar recursos.

    • Novo procedimento PUBLIC.DISABLE_RESOURCE() que permite desabilitar o recurso habilitado. Além disso, há retornos de chamada adicionados que permitem executar operações personalizadas durante o fluxo do procedimento. Consulte também Como desabilitar recursos.

    • Novo procedimento PUBLIC.UPDATE_RESOURCE() que permite atualizar as configurações de ingestão de um recurso específico. Além disso, há retornos de chamada adicionados que permitem executar operações personalizadas durante o fluxo do procedimento. Veja também Atualização de recursos.

  • com.snowflake.connectors.util.sql.SqlTools:

    • Adição do método asVarchar() que deverá substituir o método varcharArgument().

    • Adição do método asVariant() que deverá substituir o método variantArgument().

    • Marcação dos métodos varcharArgument() e variantArgument() como obsoletos e definição para serem removidos no futuro.

  • Outras adições:

    • Definição do status do processo de ingestão como constantes na classe com.snowflake.connectors.application.ingestion.process.IngestionProcessStatuses.

    • Adição do método isNotOk() à classe com.snowflake.connectors.common.response.ConnectorResponse.

    • Adição da classe com.snowflake.connectors.util.snowflake.DefaultTransactionManager que permite executar instruções SQL dentro de uma transação usando o método withTransaction().

    • Registro aprimorado no reator de tarefa.

Correções de bugs

  • Correção de bug que resultava na remoção do esquema de instância do reator de tarefa, uma vez que um erro inesperado era gerado durante o procedimento CREATE_INSTANCE_OBJECTS().

Versão 2.0.0 (24 de maio de 2024)

Lançamento inicial