Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-es-ayuda by date

Next:From: Jaime CasanovaDate: 2010-03-11 20:46:05
Subject: Re: [pgsql-es-ayuda] Sobre la implementación de SQL?==?UTF-8?Q?/MED en PostgreSQL
Previous:From: Ing. Marcos Ortiz ValmasedaDate: 2010-03-11 20:29:38
Subject: Re: PGPOOL replica

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group