From: | tmorelli(at)tmorelli(dot)com(dot)br |
---|---|
To: | pgsql-hackers(at)postgresql(dot)org |
Cc: | etmorelli(at)superig(dot)com(dot)br |
Subject: | Problemas with gram.y |
Date: | 2006-03-03 21:14:45 |
Message-ID: | 20060303211445.A6866B7F78@smtpi03.infolink.com.br |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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 got
a 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!
From | Date | Subject | |
---|---|---|---|
Next Message | Andrew Dunstan | 2006-03-03 21:27:23 | Re: Problemas with gram.y |
Previous Message | Tom Lane | 2006-03-03 21:11:49 | Re: Foreign keys for non-default datatypes |