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
Re: Problemas with gram.y Re: Problemas with gram.y |
Список | 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 по дате отправления: