Problemas with gram.y

Поиск
Список
Период
Сортировка
От tmorelli@tmorelli.com.br
Тема Problemas with gram.y
Дата
Msg-id 20060303211445.A6866B7F78@smtpi03.infolink.com.br
обсуждение исходный текст
Ответы Re: Problemas with gram.y  (Andrew Dunstan <andrew@dunslane.net>)
Re: Problemas with gram.y  (Martijn van Oosterhout <kleptog@svana.org>)
Re: Problemas with gram.y  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
Hi,

I'm trying to extend the CREATE INDEX statement with a fillfactor clause. In
Gram.y, I did this:

IndexStmt: CREATE index_opt_unique INDEX index_name ON qualified_name
access_method_clause '(' index_params ')' fillfactor_clause where_clause            {                IndexStmt *n =
makeNode(IndexStmt);                                      n->unique = $2;                n->idxname = $4;
n->relation = $6;                n->accessMethod = $7;                n->indexParams = $9;                n->fillfactor
=$11;                n->whereClause = $12;                $$ = (Node *)n;            }
 

And the clause:

fillfactor_clause:    
FILLFACTOR IntegerOnly    { $$ = makeInteger($2); }        { $$ = 0; };

I had to add a new field into IndexStmt (unsigned int fillfactor). Everything
is fine after parsing except that I can't see the integer value. For example,
in transformIndexStmt (analyze.c), I've inspected stmt->fillfactor and I've gota strange, obviously wrong, value
(137616352)after issuing this statement:
 

create index ix_desc on products(description) fillfactor 7;

Is thre any statement with numeric clauses? The only one that I found was
Alter/Create Sequence, but there is an ugly list there.

Could anyone help me, please?

Thanks a lot!



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Foreign keys for non-default datatypes
Следующее
От: Andrew Dunstan
Дата:
Сообщение: Re: Problemas with gram.y