Re: Sobre la implementación de SQL/MED en PostgreSQL

From: "Ing(dot) Marcos Ortiz Valmaseda" <mlortiz(at)uci(dot)cu>
To: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
Cc: POSTGRESQL - Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Sobre la implementación de SQL/MED en PostgreSQL
Date: 2010-03-11 20:33:41
Message-ID: 4B9953A5.4080301@uci.cu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Alvaro Herrera escribió:
> Ing. Marcos Ortiz Valmaseda escribió:
>
>
>> Por ejemplo:
>> ¿Dónde puedo encontrar documentación sobre:
>> GNU Bison: Construcción del árbol abstracto sintáctico a partir de
>> la secuencia de tokens producto del parser. (Parsing)
>>
>
> En debian viene en el paquete bison-doc. No sé que tan relevante llegue
> a ser. Agregar un nuevo nodo no debería ser muy difícil; la manera más
> fácil es mirar qué cosas se modifican con algún otro parche que haya
> agregado un nuevo nodo a la gramática.
>
> En todo caso, si realmente quieres llegar al fondo del asunto del lexer
> y el parser, deberías estudiar sobre construcción de compiladores.
>
>
>> Autotools:
>> GNU Flex: usado para la división en una secuencia determinada de
>> tokens de la cadena entrada al parser de PostgreSQL Lexing)
>>
>
> El lexer es lo que convierte una secuencia de caracteres en "tokens".
> Por ejemplo si ve la secuencia "select 2131 + 12" lo va a transformar en
> una secuencia de este estilo:
> palabra clave SELECT
> número 2131
> operador +
> número 12
>
> Luego le pasa esta lista al analizador, quien lo convierte en un AST
> según las reglas que se han definido en el archivo gram.y.
>
>
>
>> ¿Qué significan realmente los parámetros del kernel que muchos
>> seteamos en el sysctl.conf (Linux) o en el rc.conf (FreeBSD) y qué
>> relación directa tienen con la asignación de memoria que hace el
>> gestor?
>> Dígase: kernel.shmmax, kernel.shmmix, etc
>>
>
> No es relevante.
>
>
>> ¿Dónde puedo encontrar información acerca del algoritmo System R
>> usado por el optimizador de consultas?
>>
>
> Hay una presentación de un profesor de una universidad gringa que
> explica muy a grandes rasgos el algoritmo, mira acá:
> http://archives.postgresql.org/pgsql-advocacy/2009-12/msg00028.php
>
>
>> ¿Por qué cuando se modificao se añade un nodo, hay que actualizar
>> nodes/equalfuncs.c y nodes/copyfuncs.c?
>>
>
> Porque los nodos deben poder escribirse a disco en forma de texto
> (outfuncs.c), comparados con otros nodos (equalfuncs), copiados
> (copyfuncs) y leídos de vuelta del formato de outfuncs (readfuncs). No
> todos los nodos necesitan soportarse en todos los archivos; lee los
> encabezados de ellos.
>
>
>> Para la documentación, Neil aconseja usar Emacs, pero no soy
>> fanático a este editor, trabajo con el Vim, ¿Pueden darme
>> recomendaciones al respecto?
>>
>
> Yo también uso Vim. Creo que la recomendación más importante es agregar
> cscope para que te ayude a "saltar" desde un archivo a otro, por ej.
> para ver tal o cual definición de una función.
>
>
>> En la presentación, Neil como ejemplo la inclusión de la cláusula
>> TABLEXAMPLE a la gramática. A la hora de agregar esto a la
>> gramática. ¿Cuál es la conversión para darle un determinado número
>> al token?
>>
>
> No te preocupas del número que se asigna; el generador de la gramática
> (bison) se encarga de eso.
>
>
>> Luego de esto, ¿Dónde se hace la modificación de los nodos del árbol
>> del parser para permitir que las nuevas cláusulas sean codificadas
>> en el árbol de sintáxis abstracto (AST)?
>>
>
> Lo primero es agregar a la gramática, y por lo tanto a los nodos. Luego
> tienes que ver por dónde hacer pasar ese nodo en el "traffic cop", en
> este caso utility.c, y de ahí me imagino que tiene que despacharse hasta
> el código que implementa FDW.
>
>
Ok, hermano, tomados los consejos.
Ahora hay que estudiar completo el estándar para comprenderlo bien, y
entonces luego ayudar en esto.
Saludos

--
--------------------------------------------------------
-- Ing. Marcos Luís Ortíz Valmaseda --
-- Twitter: http://twitter.com/@marcosluis2186 --
-- FreeBSD Fan/User --
-- http://www.freebsd.org/es --
-- Linux User # 418229 --
-- Database Architect/Administrator --
-- PostgreSQL RDBMS --
-- http://www.postgresql.org --
-- http://planetpostgresql.org --
-- http://www.postgresql-es.org --
--------------------------------------------------------
-- Data WareHouse -- Business Intelligence Apprentice --
-- http://www.tdwi.org --
--------------------------------------------------------
-- Ruby on Rails Fan/Developer --
-- http://rubyonrails.org --
--------------------------------------------------------

Comunidad Técnica Cubana de PostgreSQL
http://postgresql.uci.cu
http://personas.grm.uci.cu/+marcos

Centro de Tecnologías de Gestión de Datos (DATEC)
Contacto:
Correo: centalad(at)uci(dot)cu
Telf: +53 07-837-3737
+53 07-837-3714
Universidad de las Ciencias Informáticas
http://www.uci.cu

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jaime Casanova 2010-03-11 20:46:05 Re: [pgsql-es-ayuda] Sobre la implementación de SQL/MED en PostgreSQL
Previous Message Ing. Marcos Ortiz Valmaseda 2010-03-11 20:29:38 Re: PGPOOL replica