[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Rizoma-devel] [Fwd: Fwd: Funciones Postgres con el mismo nombre]
From: |
Felipe Reyes |
Subject: |
Re: [Rizoma-devel] [Fwd: Fwd: Funciones Postgres con el mismo nombre] |
Date: |
Tue, 18 May 2010 21:24:22 -0400 |
> Me asalta una pregunta sobre 2 procedimientos almacenados en postgresql que
> comparten el mismo nombre
> "existe_producto", sin embargo los argumentos que requieren son distintos
> (uno es bigint y el otro es character varying).
>
[snip]
> Por mi inexperiencia en postgresql no se como postgres puede diferenciar
> entre las 2 funciones a la hora de buscar un producto (es algo así como la
> sobrecarga de la POO?).
Postgres soporta la sobrecarga de funciones, es la misma idea de la
sobrecarga de metodos de la programacion orientada a objetos, por lo
tanto
select existe_producto (1) es diferente a select existe_producto('1')
para el primero postgres usa la funcion que recibe como argumento un
integer, para el segundo, obvio, un varchar.
> El saber como es que trabajan estos procedimientos es de vital importancia,
> puesto que con Jaime queremos que
> el código corto sea alfanumérico (alphanumeric, varchar, char o lo que sea)
> por la potencia que esto ofrece en la usabilidad.
> Por mi parte he hecho pruebas con códigos cortos con caracteres y topo en las
> funciones ya mensionadas,
> recibiendo este mensaje:
sip seria rebueno expandirlo el codigo corto a alfanumerico.
>
> ERROR: error de sintaxis en o cerca de «a»
> LÍNEA 1: SELECT existe_producto(1a);
> ^
>
> ********** Error **********
>
> ERROR: error de sintaxis en o cerca de «a»
> SQL state: 42601
> Character: 25
>
el codigo da error debido a que estas pasando como argumento 1a que no
es un entero ni un string, deberias probar ejecutando
select existe_producto ('1a');
> y si me responden, de paso cambio todos los label_* por lbl_* =P...
seria excelente el cambio, se supone que los siguientes acronimos
debieran ser usados en rizoma
label -> lbl
button -> btn
window -> wnd
mmm, esto deberia estar en algun lugar ..... lo voy agregar al codigo de rizoma.
Saludos.