Ayuda con Postgres

Lists: pgsql-es-ayuda
From: "Sergio Torres" <sergiotorresm(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Cc: "Enzo Molina" <enmolina(at)gmail(dot)com>
Subject: Ayuda con Postgres
Date: 2008-02-20 16:46:03
Message-ID: 6c2ebac80802200846q76684548n925b32985c4ddc1f@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

Hola lista, trabajo en mi proyecto de tesis junto a mi compañero tratando de
crear una nueva sentencia SQL para que filtre inconsistencias que tiene la
BD, por esto queremos crear la sentencia CONSISTENT WITH la cual vaya
despues del WHERE. Esta nueva sentencia debe ir acompañana con parametros
como por ejemplo la clave primaria de una tabla y/o la foraneas. Entonces ya
hemos visto dentro de parser, creando la nueva keyword y también nos hemos
metido haciendo modificaciones en analyze.c, keywords.c, parse_clause.c,
gram.y. Entonces hemos quedado frenado porque no logramos saber como trabaja
completamente postgres en la ejecucion de una consulta, para eso hemos
seguido la ejecucion de la clausula WHERE, pero no encontramos realmente
como trabaja. Cuando vamos haciendo los cambios en el codigo fuente, vamos
compilando inemdiatamente y despues tratamos de comprobar si al menos nos
acepta la nueva palabra reservada, pero no nos pesca. O quizas debemos
ejecutarlo de otra forma?? o por intermedio de algo??
Ojalas ustedes nos ayuden con alguna informacion que conozcan o quizas hayan
trabajado con algo similar. Necesitamos la ayuda.

Adios...saludos

--
-------------------------------------------
Sergio E. Torres Méndez
Ingeniería Civil en Informática
Universidad del Bío-Bío
Concepción - Chile
-------------------------------------------


From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Sergio Torres <sergiotorresm(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org, Enzo Molina <enmolina(at)gmail(dot)com>
Subject: Re: Ayuda con Postgres
Date: 2008-02-21 15:39:56
Message-ID: 20080221153956.GD7012@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

Sergio Torres escribió:

> Cuando vamos haciendo los cambios en el codigo fuente, vamos
> compilando inemdiatamente y despues tratamos de comprobar si al menos
> nos acepta la nueva palabra reservada, pero no nos pesca. O quizas
> debemos ejecutarlo de otra forma?? o por intermedio de algo??

Si no funciona, lo están haciendo mal.

Con tan pocos detalles que dan es imposible dar más pistas.

--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.


From: "Sergio Torres" <sergiotorresm(at)gmail(dot)com>
To: "Alvaro Herrera" <alvherre(at)commandprompt(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org, "Enzo Molina" <enmolina(at)gmail(dot)com>
Subject: Re: Ayuda con Postgres
Date: 2008-02-21 20:21:07
Message-ID: 6c2ebac80802211221k35630bfer4b3d7a8337bb3dd4@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

Hola Alvaro, gracias por el interes, bueno te enviamos un poco más de
detalle de lo que llevamos hecho:

Agregamos por ejemplo, en los archivos :

keywords.c : ``consistent'', CONSISTENT, Línea 90
gram.y : CONSISTENT, en la 367 entre las palabras CONNECTION y CONSTRAINT;
y | CONSISTENT Línea 8856 y se automodifica, con el gram.y

parse.h : CONSISTENT = 314, Línea 98 y #define CONSISTENT 314 Línea 456 y
gram.c

----- si se compila te pedirá la modificación de el archivo preproc.y, que
está en src/interfaces/ecpg/preproc/

Se agrega por lo tanto CONSISTENT, en la línea 365 y | CONSISTENT { $$ =
make_str("consistent"); } dentro de : reserved_keywords; Línea 6537 y si se
revisa la carpeta, se verá otro archivo keywords.c.

Algo similar sucede en parser/pgsql/src/backend/parser/ ... que hemos
modificado de la misma forma, aún así no nos funciona la reserva de la
palabra, entonces, puede ser que esté compilando bien pero el ejecutable no
es el creado recientemente?

Si uno descarga el código, lo configura como sale en muchos manuales... sudo
./configure, sudo make, etc. puedo arrancar el psql que contiene ese código,
solo con instalar el cliente-common ?
Ojalas nos puedas ayudar e invitamos a toda la lista a ser parte de esta
cruzada...jejeje.

Adios...saludos

On 21/02/2008, Alvaro Herrera <alvherre(at)commandprompt(dot)com> wrote:
>
> Sergio Torres escribió:
>
>
> > Cuando vamos haciendo los cambios en el codigo fuente, vamos
> > compilando inemdiatamente y despues tratamos de comprobar si al menos
> > nos acepta la nueva palabra reservada, pero no nos pesca. O quizas
> > debemos ejecutarlo de otra forma?? o por intermedio de algo??
>
>
> Si no funciona, lo están haciendo mal.
>
> Con tan pocos detalles que dan es imposible dar más pistas.
>
>
> --
> Alvaro Herrera
> http://www.CommandPrompt.com/
> The PostgreSQL Company - Command Prompt, Inc.
>

--
-------------------------------------------
Sergio E. Torres Méndez
Ingeniería Civil en Informática
Universidad del Bío-Bío
Concepción - Chile
-------------------------------------------
http://citas-comunidad.com/rss/540010110/citas.xml


From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Sergio Torres <sergiotorresm(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org, Enzo Molina <enmolina(at)gmail(dot)com>
Subject: Re: Ayuda con Postgres
Date: 2008-02-21 20:37:10
Message-ID: 20080221203710.GE4615@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

Sergio Torres escribió:
> Hola Alvaro, gracias por el interes, bueno te enviamos un poco más de
> detalle de lo que llevamos hecho:

Hola, veo varios errores metodologicos, el primero de los cuales es que
estas tratando de usar el empaquetamiento Debian e instalando en una
ubicacion estandar. Es un error. Usa un directorio privado para probar
tus modificaciones (por ej. configure --prefix=/home/sergio/pghack).

> keywords.c : ``consistent'', CONSISTENT, Línea 90
> gram.y : CONSISTENT, en la 367 entre las palabras CONNECTION y CONSTRAINT;
> y | CONSISTENT Línea 8856 y se automodifica, con el gram.y
>
> parse.h : CONSISTENT = 314, Línea 98 y #define CONSISTENT 314 Línea 456 y
> gram.c

Ya con que me estés hablando de modificaciones de parse.h y gram.c veo
un problema.

> Algo similar sucede en parser/pgsql/src/backend/parser/ ... que hemos
> modificado de la misma forma, aún así no nos funciona la reserva de la
> palabra, entonces, puede ser que esté compilando bien pero el ejecutable no
> es el creado recientemente?

Humm, este es el unico parser que deberias estar modificando. Cual es
el otro?

> Si uno descarga el código, lo configura como sale en muchos manuales... sudo
> ./configure, sudo make, etc. puedo arrancar el psql que contiene ese código,
> solo con instalar el cliente-common ?

El segundo problema serio es que uses sudo. Ciertamente no necesitas
ser superusuario para este trabajo.

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support


From: "Sergio Torres" <sergiotorresm(at)gmail(dot)com>
To: "Alvaro Herrera" <alvherre(at)commandprompt(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org, "Enzo Molina" <enmolina(at)gmail(dot)com>
Subject: Re: Ayuda con Postgres
Date: 2008-02-21 20:48:34
Message-ID: 6c2ebac80802211248l3d5a9836kface1c65b0805c80@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

Hola...gracias por las sugerencias seguiremos trabajando en eso....y
cualquier novedad la comunicaremos.

Adios...saludos

On 21/02/2008, Alvaro Herrera <alvherre(at)commandprompt(dot)com> wrote:
>
> Sergio Torres escribió:
>
> > Hola Alvaro, gracias por el interes, bueno te enviamos un poco más de
> > detalle de lo que llevamos hecho:
>
>
> Hola, veo varios errores metodologicos, el primero de los cuales es que
> estas tratando de usar el empaquetamiento Debian e instalando en una
> ubicacion estandar. Es un error. Usa un directorio privado para probar
> tus modificaciones (por ej. configure --prefix=/home/sergio/pghack).
>
>
> > keywords.c : ``consistent'', CONSISTENT, Línea 90
> > gram.y : CONSISTENT, en la 367 entre las palabras CONNECTION y
> CONSTRAINT;
> > y | CONSISTENT Línea 8856 y se automodifica, con el gram.y
> >
> > parse.h : CONSISTENT = 314, Línea 98 y #define CONSISTENT 314 Línea 456
> y
> > gram.c
>
>
> Ya con que me estés hablando de modificaciones de parse.h y gram.c veo
> un problema.
>
>
>
> > Algo similar sucede en parser/pgsql/src/backend/parser/ ... que hemos
> > modificado de la misma forma, aún así no nos funciona la reserva de la
> > palabra, entonces, puede ser que esté compilando bien pero el ejecutable
> no
> > es el creado recientemente?
>
>
> Humm, este es el unico parser que deberias estar modificando. Cual es
> el otro?
>
>
> > Si uno descarga el código, lo configura como sale en muchos manuales...
> sudo
> > ./configure, sudo make, etc. puedo arrancar el psql que contiene ese
> código,
> > solo con instalar el cliente-common ?
>
>
> El segundo problema serio es que uses sudo. Ciertamente no necesitas
> ser superusuario para este trabajo.
>
> --
>
> Alvaro Herrera
> http://www.CommandPrompt.com/
>
> PostgreSQL Replication, Consulting, Custom Development, 24x7 support
>

--
-------------------------------------------
Sergio E. Torres Méndez
Ingeniería Civil en Informática
Universidad del Bío-Bío
Concepción - Chile
-------------------------------------------
http://citas-comunidad.com/rss/540010110/citas.xml


From: "Sergio Torres" <sergiotorresm(at)gmail(dot)com>
To: "Alvaro Herrera" <alvherre(at)commandprompt(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Ayuda con Postgres
Date: 2008-03-08 19:42:06
Message-ID: 6c2ebac80803081142l17c879c4of3362b7029c0d697@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

Hola lista, hemos avanzado en nuestro trabajo, ya que hemos creado la
palabra clave (es CONSISTENT porque la combinacion CONSISTENT WITH no
podemos hacerla funcionar) y el motor la reconoce, ya que, no deja crearla
como tabla u otra instruccion que no sea la que nosotros queremos. Nuestro
problema ahora es, poder crearle una instruccion asociada dentro de la
consulta, por ejemplo:
SELECT *
FROM empleado e
WHERE e.salario > 150000
CONSISTENT WITH e.edad > 35 AND e.sexo='femenino';

entonces nostros queremos hacer que Postgresql pueda aceptar todos esos
parámetros asociados a CONSISTENT WITH, ya que, hasta el momento nos acepta
la palabra CONSISTENT y tipos de datos asociados similares a los que acepta
el WHERE (porque en la estructura creamos un consistentClause con el mismo
tipo de dato del WHERE), pero no ejecuta acción alguna, es decir, verifica
sólo la sintaxis correcta.
Por lo tanto, consultamos a uds. si conocen como podriamos agregar alguna
instruccion asociada, para poder realizar la reescritura dentro de
Postgresql.

Gracias por leernos.

Adios...saludos

On 21/02/2008, Sergio Torres <sergiotorresm(at)gmail(dot)com> wrote:
>
> Hola...gracias por las sugerencias seguiremos trabajando en eso....y
> cualquier novedad la comunicaremos.
>
>
> Adios...saludos
>
> On 21/02/2008, Alvaro Herrera <alvherre(at)commandprompt(dot)com> wrote:
> >
> > Sergio Torres escribió:
> >
> > > Hola Alvaro, gracias por el interes, bueno te enviamos un poco más de
> > > detalle de lo que llevamos hecho:
> >
> >
> > Hola, veo varios errores metodologicos, el primero de los cuales es que
> > estas tratando de usar el empaquetamiento Debian e instalando en una
> > ubicacion estandar. Es un error. Usa un directorio privado para probar
> > tus modificaciones (por ej. configure --prefix=/home/sergio/pghack).
> >
> >
> > > keywords.c : ``consistent'', CONSISTENT, Línea 90
> > > gram.y : CONSISTENT, en la 367 entre las palabras CONNECTION y
> > CONSTRAINT;
> > > y | CONSISTENT Línea 8856 y se automodifica, con el gram.y
> > >
> > > parse.h : CONSISTENT = 314, Línea 98 y #define CONSISTENT 314 Línea
> > 456 y
> > > gram.c
> >
> >
> > Ya con que me estés hablando de modificaciones de parse.h y gram.c veo
> > un problema.
> >
> >
> >
> > > Algo similar sucede en parser/pgsql/src/backend/parser/ ... que hemos
> > > modificado de la misma forma, aún así no nos funciona la reserva de la
> > > palabra, entonces, puede ser que esté compilando bien pero el
> > ejecutable no
> > > es el creado recientemente?
> >
> >
> > Humm, este es el unico parser que deberias estar modificando. Cual es
> > el otro?
> >
> >
> > > Si uno descarga el código, lo configura como sale en muchos
> > manuales... sudo
> > > ./configure, sudo make, etc. puedo arrancar el psql que contiene ese
> > código,
> > > solo con instalar el cliente-common ?
> >
> >
> > El segundo problema serio es que uses sudo. Ciertamente no necesitas
> > ser superusuario para este trabajo.
> >
> > --
> >
> > Alvaro Herrera
> > http://www.CommandPrompt.com/
> >
> > PostgreSQL Replication, Consulting, Custom Development, 24x7 support
> >
>
>
>
> --
> -------------------------------------------
> Sergio E. Torres Méndez
> Ingeniería Civil en Informática
> Universidad del Bío-Bío
> Concepción - Chile
> -------------------------------------------
> http://citas-comunidad.com/rss/540010110/citas.xml
>

--
-------------------------------------------
Sergio E. Torres Méndez
Ingeniería Civil en Informática
Universidad del Bío-Bío
Concepción - Chile
-------------------------------------------