2010/3/11 "Ing . Marcos Luís Ortíz Valmaseda" <mlor...@uci.cu>:
> 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


-- 
Atentamente,
Jaime Casanova
Soporte y capacitación de PostgreSQL
Asesoría y desarrollo de sistemas
Guayaquil - Ecuador
Cel. +59387171157
--
TIP 5: �Has le�do nuestro extenso FAQ?
         http://www.postgresql.org/docs/faqs.FAQ.html

Responder a