[caracas-pm] Como verificar la sintaxis de una función plPerl en postgres

Monica Tahan monicatahan at gmail.com
Tue Aug 19 07:35:50 PDT 2014


Saludos,

Si, de hecho el script lo hicimos en pl/perlU. Cuando corro la función
desarrollada en pl/perlu me da error de sintaxis cerda de "xxxx". Con lo
que no estamos muy claros es con spi_exec_query, me explico:

Estamos haciendo una función que consulta unas tablas, y el resultado de la
consulta devuelve un dato, es decir, no es un arreglo, sino un valor, para
ello coloqué algo así:

my $tabla_id = spi_exec_query("SELECT esquema.tabla.id from esquema.tabla
WHERE esquema.tabla.nombre LIKE '% $valor%'") or elog(ERROR, qq{$tabla_id
$!});

Deseo guardar en $tabla_id el valor que retorna el select, el cual no es un
conjunto de datos, sino un solo dato, para ello es correcta la forma como
está escrita la instrucción??? O debo hacer $datoquequiero =
$tabla->{rows}; ????

Existen varios querys de este tipo, pero el error que me retorna la función
es:

ERROR:  error de sintaxis en o cerca de «x7f2e288169e0» at line 200,
CONTEXT:  función PL/Perl «procesamiento_xxx»

Sería genial que existiera un debugger para pl/perl, pues el que tengo
actualmente solo soporta funciones pg/sql y sql.

Gracias por sus comentario...


El 19 de agosto de 2014, 9:32, Alberto Mijares <amijaresp at gmail.com>
escribió:

> Hola Alexis,
>
> Hace un tiempo trabajé con PL/Perl y no tuve problema alguno. Si
> funciona desde tu CLI debe funcionar dentro de Pg. Sin embargo, se me
> ocurre que puedes estar utilizando una de las funciones o llamadas al
> sistema que requieren privilegios adicionales. Para eso necesitas
> PL/PerlU. Revisa la doc...
>
> Saludos.
>
> Alberto Mijares
>
>
> 2014-08-19 9:21 GMT-04:30 Alexis Arnal <aarnal at gmail.com>:
> > Saludos, espero que estén muy bien.
> >
> > Mónica y yo hemos estado trabajando con funciones plPerl en postgres,
> todo
> > había ido muy bien pero ahora nos sale un error de sintaxis y no hemos
> > encontrado la manera de verificar la sintaxis para ver el error
> >
> > En un script normal con perl -c nombre_archivo me muestra los errores si
> los
> > hubiera. Como puedo hacer algo similar dentro de postgres con plPerl???
> >
> > Instalé el debugger de PgAdmin y solo funciona para funciones plPgsql.
> > Alguno ha usado Ptkdb dentro de postgres???
> >
> > Muchas gracias por sus comentarios
> >
> > _______________________________________________
> > caracas-pm mailing list
> > caracas-pm at pm.org
> > http://mail.pm.org/mailman/listinfo/caracas-pm
> _______________________________________________
> caracas-pm mailing list
> caracas-pm at pm.org
> http://mail.pm.org/mailman/listinfo/caracas-pm
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/caracas-pm/attachments/20140819/89403735/attachment.html>


More information about the caracas-pm mailing list