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!