Problemas with gram.y - Mailing list pgsql-hackers

From tmorelli@tmorelli.com.br
Subject Problemas with gram.y
Date
Msg-id 20060303211445.A6866B7F78@smtpi03.infolink.com.br
Whole thread Raw
Responses Re: Problemas with gram.y
Re: Problemas with gram.y
Re: Problemas with gram.y
List 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 by date:

Previous
From: Tom Lane
Date:
Subject: Re: Foreign keys for non-default datatypes
Next
From: Andrew Dunstan
Date:
Subject: Re: Problemas with gram.y