Jaime Casanova escribió:
2010/3/11 "Ing . Marcos Luís Ortíz Valmaseda" <[email protected]>:
Jaime Casanova escribió:
pense que estabamos hablando en español aqui ;)

Saludos. Jaime, perdona por el último término en inglés.

en realidad me referia a los de "arbol de sintaxis abstracto", muy
tecnico para mi ;)

Luego que la
consultar pasa por el parser, el mismo construye un árbol sintáctico
abstracto, con la secuencia completa de comandos a ejecutar.


ah! te refieres al nodo que construye el parser

Lo que quería saber que se ve en el ejemplo: Cuando se incluyen un nuevo
token en la gramática, a cada token se le asigna un número, y ya ví que no
se hace alfabéticamente; por eso es que surgía la duda.


Aqui esta el ejemplo de Neil, supongo que te refieres $1, $2 y asi;
entonces es por orden de aparicion

+ opt_table_sample:
+                       TABLESAMPLE sample_method '(' Iconst ')' 
opt_repeatable_clause

TABLESAMPLE es 1
sample_method  es 2
'('  es 3
lconst es 4
')' es 5
opt_repeatable_clause es 6

+                       {
+                               TableSampleInfo *n = makeNode(TableSampleInfo);
+
+                               if ($2 == true)
+                                       n->sample_method = SAMPLE_BERNOULLI;
+                               else
+                                       n->sample_method = SAMPLE_SYSTEM;
+
+                               n->sample_percent = $4;
+                               if ($4 > 100)
+                                       ereport(ERROR,
+                                                       
(errcode(ERRCODE_INVALID_SAMPLE_SIZE),
+                                                        errmsg("TABLESAMPLE 
percentage "
+                                                                       "cannot 
exceed 100")));
+                               if ($4 <= 0)
+                                       ereport(ERROR,
+                                                       
(errcode(ERRCODE_INVALID_SAMPLE_SIZE),
+                                                        errmsg("TABLESAMPLE 
percentage must "
+                                                                       "be greater 
than 0")));
+
+                               /* XXX: not supported yet */
+                               if (n->sample_method == SAMPLE_BERNOULLI)
+                                       ereport(ERROR,
+                                                       
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
+                                                        errmsg("BERNOULLI sampling 
is not supported")));
+
+                               if ($6 != NULL)
+                               {
+                                       n->is_repeatable = true;
+                                       n->repeat_seed = intVal($6);
+                               }
+
+                               $$ = (Node *) n;
+                       }
+                       | /* EMPTY */                                   { $$ = 
NULL; }
+               ;


La pregunta sobre el System R era para entender mejor el optimizador de
consultas, lo cual es uno de los pilares de PostgreSQL, por lo que también
es una de las cosas más difíciles también.


si, eso es chino para mi aun

Para la edición de SGML ¿También usas Vim? ¿Pudieras enviarme la
configuración que tienes en el Vim?


este es el unico cambio que hago, estoy seguro que habia algo mas
extenso que incluia los cambios en emacs pero no lo encuentro:
http://wiki.postgresql.org/wiki/Developer_FAQ#What.27s_the_formatting_style_used_in_PostgreSQL_source_code.3F


Excelente Jaime, como siempre.
Gracias de nuevo y perdona tantas preguntas.
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: [email protected] Telf: +53 07-837-3737 +53 07-837-3714 Universidad de las Ciencias Informáticas http://www.uci.cu


--
TIP 7: no olvides aumentar la configuraci�n del "free space map"

Responder a