Sumário

Search

  1. Prefácio
  2. Trabalhando com Transformações
  3. Transformação Agregador
  4. Transformação Personalizada
  5. Funções de Transformação Personalizada
  6. Transformação Mascaramento de Dados
  7. Exemplos de Mascaramento de Dados
  8. Transformação Expressão
  9. Transformação Procedimento Externo
  10. Transformação Filtros
  11. Transformação HTTP
  12. Transformação de Resolução de Identidade
  13. Transformação Java
  14. Referência da API da transformação Java
  15. Expressões Java
  16. Exemplo de Transformação Java
  17. Transformação Joiner
  18. Transformação Pesquisa
  19. Caches de Pesquisa
  20. Cache de Pesquisa Dinâmica
  21. Transformação Normalizador
  22. Transformação Classificação
  23. Transformação Roteador
  24. Transformação de Gerador de Sequência
  25. Transformação Classificador
  26. Transformação de Qualificador de Origem
  27. Transformação SQL
  28. Usando a Transformação SQL em um Mapeamento
  29. Transformação Procedimento Armazenado
  30. Transformação Controle de Transações
  31. Transformação União
  32. Transformação Dados Não Estruturados
  33. Transformação Estratégia de Atualização
  34. Transformações XML

Guia de Transformações

Guia de Transformações

Gravando o Código do Procedimento para Bloquear Dados

Gravando o Código do Procedimento para Bloquear Dados

Você pode gravar o procedimento para bloquear e desbloquear dados de entrada. Para bloquear dados de entrada, utilize a função INFA_CTBlockInputFlow(). Para desbloquear dados de entrada, use a função INFA_CTUnblockInputFlow().
Talvez você queira bloquear dados de entrada se o procedimento externo precisar alternar a leitura de grupos de entrada. Sem a funcionalidade de bloqueio, você precisaria gravar o código do procedimento para armazenar dados de entrada no buffer. Você pode bloquear dados de entrada, em vez de armazená-los no buffer, o que normalmente melhora o desempenho da sessão.
Por exemplo, você precisa criar um procedimento externo com dois grupos de entrada. O procedimento externo lê uma linha do primeiro grupo de entrada e, em seguida, lê uma linha do segundo grupo de entrada. Se você usar o bloqueio, poderá gravar o código do procedimento externo para bloquear o fluxo de dados de um grupo de entrada enquanto processa os dados do outro grupo de entrada. Ao gravar o código do procedimento externo para bloquear dados, você melhora o desempenho porque o procedimento não precisa copiar os dados de origem em um buffer. No entanto, você poderia gravar o procedimento externo para alocar um buffer e copiar os dados de um grupo de entrada no buffer até ele estar pronto para processar os dados. A cópia de dados de origem em um buffer prejudica o desempenho.