Cláusula PATH

A cláusula PATH especifica uma lista de esquemas adicionais a serem procurados ao corresponder chamadas de funções e de procedimentos para suas implementações. O esquema no qual a chamada existe está incluído implicitamente no PATH.

O recurso PATH é utilizado para resolver nomes de funções e procedimentos não qualificados nas ferramentas, de acordo com o algoritmo a seguir.

Deve haver uma única função ou procedimento que corresponda com o nome não qualificado ou a ferramenta relatará um erro. Você pode corrigir o erro qualificando o nome da função ou procedimento com um schemaId:
  1. No MODULE atual (se houver algum) é pesquisada uma função ou um procedimento correspondente. Funções e procedimentos no escopo MODULE são visíveis somente dentro do MODULE que as contém. Funções e procedimento no escopo MODULE ocultam funções e procedimentos no escopo do esquema.
  2. No <esquema do nó> (mas nenhum de seus MODULEs contidos) e no <esquema do servidor intermediário SQL> ou em esquemas identificados pela instrução PATH é pesquisado um procedimento de função correspondente
Nota: O schemaId deve ser um nome completo de esquema.

O <esquema do nó> é o esquema que contém o fluxo de mensagens do nó. O nome desse esquema é dado pelo último segmento do uuid do nó que processa a mensagem na mensagem XML do intermediário.

Quando uma rotina é chamada, o nome utilizado pode ser qualificado pelo nome do esquema. O comportamento depende das circunstâncias a seguir:
  • Se o esquema for especificado, a rotina do esquema nomeado é chamada. As funções integradas escalares, excluindo CAST, EXTRACT e os registros especiais, são consideradas como definidas dentro de um esquema declarado implicitamente chamado SQL. Elas podem ser chamadas desta forma, por exemplo, SQL.SUBSTRING(... ).

    O que acontecerá em seguida dependerá se o responsável pela chamada está em uma rotina de módulo ou em uma rotina de esquema.

    No caso de uma rotina de módulo:
    • Se o esquema não for especificado, se a instrução responsável pela chamada estiver em uma rotina de módulo e se existir uma rotina com o nome dado no módulo local, essa rotina local será chamada.
    • Se o esquema não for especificado, se a instrução responsável pela chamada estiver em uma rotina de módulo e se não existir uma rotina com o nome dado no módulo local, todos os esquemas no caminho do esquema são pesquisados em busca de uma rotina com o mesmo nome.
      Se existir uma função correspondente em um esquema, ela será utilizada. Se existir uma função de correspondência em mais de um esquema, ocorrerá um erro de tempo de compilação. Se não houver função correspondente, o SQL do esquema será pesquisado.
      Nota: Esta regra e a regra precedente implicam que uma rotina de módulo local tem prioridade sobre uma rotina interna com o mesmo nome.
    No caso de uma rotina de esquema:
    • Se o esquema não for especificado, se o responsável pela chamada estiver em uma rotina de esquema e se existir uma rotina com o nome dado no esquema local, essa rotina local será chamada.
    • Se o esquema não for especificado, se a instrução responsável pela chamada estiver em uma rotina de esquema e se não existir uma rotina com o nome dado no esquema local, todos os esquemas no caminho do esquema serão pesquisados em busca de uma rotina com o mesmo nome.
      Se existir uma função correspondente em um esquema, ela será utilizada. Se existir uma função de correspondência em mais de um esquema, ocorrerá um erro de tempo de compilação. Se não houver função correspondente, o SQL do esquema será pesquisado.
      Nota: Esta regra e a regra precedente implicam que uma rotina de esquema local tem prioridade sobre uma rotina interna com o mesmo nome.

O <esquema do nó> é definido como o esquema que contém o fluxo de mensagens do nó. O nome desse esquema é dado pelo último segmento do uuid do nó que processa a mensagem na mensagem XML do intermediário.

O <esquema do nó> é especificado desta maneira para fornecer compatibilidade reversa com versões anteriores do WebSphere Message Broker

Quando o <esquema do nó> for o único esquema referido, a mensagem XML do intermediário não incluirá os recursos extras contidos no WebSphere Message Broker V5.0.

Os intermediários de versões anteriores do WebSphere Message Broker não suportam vários esquemas, por exemplo, bibliotecas de sub-rotinas para reutilização. Para implementar em um intermediário de uma versão anterior do produto, coloque todas as sub-rotinas ESQL no mesmo esquema do fluxo de mensagens e do nó que as está chamando.

As ferramentas Eclipse utilizam a sintaxe ESQL do WebSphere Message Broker no assistente de conteúdo e validação de código fonte. Ao gerar código ESQL do intermediário, as ferramentas do Eclipse podem gerar um código de estilo V2.1 para fins de compatibilidade retrocedida.

O esquema do intermediário do fluxo de mensagens deve conter, no nível do esquema, qualquer um dos seguintes itens em seus arquivos ESQL:
  • Uma função de nível de esquema
  • Um procedimento de nível de esquema
  • Uma constante de nível de esquema
  • Uma constante de nível do módulo
  • Uma variável de nível do módulo

Sem a presença de qualquer um dos itens precedentes, as ferramentas Eclipse geram o ESQL do intermediário sem os reinícios cíclicos MODULE e FUNCTION Main. Este estilo é aceito pelos intermediários V2.1 e V5.0. No entanto, se você utilizar um intermediário V2.1, não poderá utilizar nenhuma sintaxe V5.0 no código, por exemplo, espaço de nomes.

Os nomes de funções e procedimentos devem ser exclusivos dentro de seu SCHEMA ou MODULE.

Exemplos

O exemplo a seguir inclui um caminho em um esquema chamado CommonUtils:
BROKER SCHEMA CommonUtils
PATH SpecialUtils;

MODULE ....
O próximo exemplo inclui um caminho no esquema padrão:
PATH CommonUtils, SpecialUtils;

MODULE ....
Conceitos relacionados
Visão Geral do ESQL
Tarefas relacionadas
Desenvolvendo ESQL
Referências relacionadas
Diagramas de Sintaxe: Tipos Disponíveis
instruções ESQL
Instrução BROKER SCHEMA
Instrução CREATE MODULE
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback
Direitos Autorais IBM Corporation 1999, 2006 Última Atualização: 1 Sep 2006
ak05105_