Documentação do PostgreSQL 8.0.0 | ||||
---|---|---|---|---|
Anterior | Início | Capítulo 39. PL/Ruby - Linguagem procedural Ruby | Fim | Próxima |
Nesta seção são documentados os módulos e as classes do PL/Ruby.
Interface do Ruby com a função elog() do PostgreSQL.
Os valores possíveis para nível são NOTICE, DEBUG e NOIND.
Deve ser utilizado raise() para simular a função elog(ERROR, "...").
Pode ser utilizado para armazenar planos preparados.
Módulo geral do PL/Ruby.
Retorna os tipos dos argumentos fornecidos para a função.
Retorna os nomes das colunas da tabela.
Retorna os tipos das colunas da tabela.
Retorna o contexto (ou nil) associado a uma função SETOF (ExprMultiResult).
Define o contexto de uma função SETOF (ExprMultiResult).
Duplica todas as ocorrências dos caracteres apóstrofo e contrabarra. Deve ser utilizado quando as variáveis são usadas na cadeia de caracteres do comando fornecido para spi_exec ou spi_prepare (não para a lista de valores de execp).
Retorna os nomes das colunas de uma função que retorna SETOF.
Retorna os tipos das colunas de uma função que retorna SETOF.
Retorna o número de colunas de uma função que retorna SETOF.
Retorna a descrição da tabela fornecida para uma função que retorna SETOF.
Chama o analisador/planejador/otimizador/executor para o comando. O valor opcional contador informa a spi_exec o número máximo de linhas a serem processadas pelo comando.
Se o comando for uma instrução SELECT, retorna uma matriz (se contador não for especificado, ou se for especificado com um valor maior que um). Cada elemento desta matriz é um hash onde a chave é o nome da coluna. Se tipo for especificado, pode assumir um dos seguintes valores:
"array" retorna para cada coluna uma matriz com o elemento ["name", "value", "type", "len", "typeid"].
"hash" retorna para cada coluna um hash com as chaves ["name", "value", "type", "len", "typeid"].
"value" retorna todos os valores
Retorna o número de linhas inseridas, atualizadas ou excluídas.
Retorna TRUE.
Em obsolescência: Veja PL::Plan::new e PL::Plan#save.
Prepara e salva o plano do comando para execução posterior. É um pouco diferente do SPI_prepare em C, porque o plano é copiado automaticamente para o contexto de memória de nível mais alto.
Se o comando fizer referências a argumentos, os nomes dos tipos devem ser fornecidos como uma matriz de cadeias de caracteres do Ruby. O valor retornado pela preparação é um objeto PL::Plan a ser utilizado nas próximas chamadas a PL::Plan#exec.
Se o hash fornecido possuir as chaves count, output, estes valores serão fornecidos para as chamada subseqüentes de each.
Classe para os planos preparados.
Prepara um plano de comando para execução posterior.
Se o comando fizer referências a argumentos, os nomes dos tipos devem ser fornecidos como uma matriz de cadeias de caracteres do Ruby.
Se o hash fornecido possuir as chaves count e output, estes valores serão fornecidos para as chamada subseqüentes de each.
Se "save" for um valor verdade, o plano será salvo.
Executa o plano preparado por PL::PLan::new com substituição de variável. O valor opcional contador informa a PL::Plan#exec o número máximo de linhas a serem processadas pelo comando.
Se houver uma lista de tipos fornecida a PL::PLan::new, uma matriz de valores do mesmo comprimento deve ser fornecida a PL::Plan#exec. como seu primeiro argumento. Se a lista de tipos em PL::PLan::new estiver vazia, este argumento deve ser omitido.
Se o comando for uma instrução SELECT, acontece a mesma coisa descrita para PL#exec para o corpo do laço e para as variáveis para os campos selecionados.
Se tipo for especificado, pode assumir um dos seguintes valores:
"array" retorna para cada coluna uma matriz com o elemento ["name", "value", "type", "len", "typeid"].
"hash" retorna para cada coluna um hash com as chaves ["name", "value", "type", "len", "typeid"].
"value" retorna todos os valores
Se output for especificado, pode assumir um dos seguintes valores:
"array" retorna uma matriz com o elemento ["name", "value", "type", "len", "typeid"].
"hash" retorna um hash com as chaves ["name", "value", "type", "len", "typeid"].
"value" retorna uma matriz com todos os valores.
O mesmo que #exec, mas é feita uma chamada para SPI_cursor_open() e SPI_cursor_fetch().
Pode ser utilizado somente com um bloco e uma instrução SELECT.
Libera um plano de comando.
Salva um plano de comando para execução posterior. O plano é copiado para o contexto de memória de nível mais alto.
O cursor é criado através do método PL::Plan#cursor
Fecha o cursor.
Interação sobre todas as linhas (para a frente).
Traz algumas linhas usando o cursor.
Se count for maior que zero traz andando para a frente, caso contrário tráz andando para trás.
Move o cursor. Se count for maior que zero move para a frente, caso contrário move trás.
Interação sobre todas as linhas (para trás).
Posiciona o cursor no início da tabela.