Re: [HACKERS] Problemas with gram.y

2006-03-08 Thread etmorelli
Tom, 

sorry, but the address that you wrote tells that there isn´t any patch to 
apply. Is this patch Itagaki's one? How could I pick it? 

By the way, don´t worry about the whole idea. It's an experiment that shall 
be improved in the future, I hope. 

Best regards, 

Eduardo Morelli 



 
 Tom Lane wrote: 


Um, are you aware that a patch for that was already submitted? 
http://momjian.postgresql.org/cgi-bin/pgpatches 
 
I find the whole idea pretty ugly myself. 
 
 regards, tom lane 





---(end of broadcast)---
TIP 5: don't forget to increase your free space map settings


Re: [HACKERS] Problemas with gram.y

2006-03-08 Thread Bruce Momjian
etmorelli wrote:
 Tom, 
 
 sorry, but the address that you wrote tells that there isn?t any patch to 
 apply. Is this patch Itagaki's one? How could I pick it? 
 
 By the way, don?t worry about the whole idea. It's an experiment that shall 
 be improved in the future, I hope. 
 
 Best regards, 
 
 Eduardo Morelli 
 
 
 
  
  Tom Lane wrote: 
 
 
 Um, are you aware that a patch for that was already submitted? 
 http://momjian.postgresql.org/cgi-bin/pgpatches 
  
 I find the whole idea pretty ugly myself. 

The patch has moved to:

http://momjian.postgresql.org/cgi-bin/pgpatches_hold

-- 
  Bruce Momjian   http://candle.pha.pa.us
  SRA OSS, Inc.   http://www.sraoss.com

  + If your life is a hard drive, Christ can be your backup. +

---(end of broadcast)---
TIP 6: explain analyze is your friend


Re: [HACKERS] Problemas with gram.y

2006-03-07 Thread ITAGAKI Takahiro
Tom Lane [EMAIL PROTECTED] wrote:

  CREATE INDEX foo ON bar (x) WITH (fillfactor = 70, option = blah);
 
 Yeah, something along this line is what I'd like to see; probably the
 first form since that creates the least hazard of foreclosing other
 additions to the syntax later.

 Anyway the bottom line is that we need to put in some infrastructure
 that can handle multiple index parameters, not a one-off solution that
 only handles PCTFREE.

Ok, I'll rewrite my PCTFREE patch, and change the word PCTFREE to FILLFACTOR.
There is no benefit of compatibility with Oracle now.

Current all index access methods (btree, hash and gist) have conception of
fillfactors, but static bitmap index or something may not have it.
I see that we should give priority to the design.

---
ITAGAKI Takahiro
NTT Cyber Space Laboratories



---(end of broadcast)---
TIP 3: Have you checked our extensive FAQ?

   http://www.postgresql.org/docs/faq


Fw: [HACKERS] Problemas with gram.y

2006-03-07 Thread Eduardo Morelli
Tom Lane [EMAIL PROTECTED] wrote

Um, are you aware that a patch for that was already submitted?
http://momjian.postgresql.org/cgi-bin/pgpatches

I find the whole idea pretty ugly myself.

Tom,

sorry, but the address that you wrote tells that there isn´t any patch to
apply. Is this patch Itagaki's one? How could I pick it?

By the way, don´t worry about the whole idea. It's an experiment that shall
be improved in the future, I hope.

Best regards,

Eduardo Morelli






---(end of broadcast)---
TIP 9: In versions below 8.0, the planner will ignore your desire to
   choose an index scan if your joining column's datatypes do not
   match


Re: Fw: [HACKERS] Problemas with gram.y

2006-03-07 Thread Tom Lane
Eduardo Morelli [EMAIL PROTECTED] writes:
 sorry, but the address that you wrote tells that there isn´t any patch to
 apply. Is this patch Itagaki's one? How could I pick it?

Yeah, should be in the pgpatches archives [ digs... ] here you go:
http://archives.postgresql.org/pgsql-patches/2006-02/msg00099.php

regards, tom lane

---(end of broadcast)---
TIP 6: explain analyze is your friend


Re: [HACKERS] Problemas with gram.y

2006-03-07 Thread Bruce Momjian

Patch withdrawn by author for reworking.

---

ITAGAKI Takahiro wrote:
 Tom Lane [EMAIL PROTECTED] wrote:
 
   CREATE INDEX foo ON bar (x) WITH (fillfactor = 70, option = blah);
  
  Yeah, something along this line is what I'd like to see; probably the
  first form since that creates the least hazard of foreclosing other
  additions to the syntax later.
 
  Anyway the bottom line is that we need to put in some infrastructure
  that can handle multiple index parameters, not a one-off solution that
  only handles PCTFREE.
 
 Ok, I'll rewrite my PCTFREE patch, and change the word PCTFREE to FILLFACTOR.
 There is no benefit of compatibility with Oracle now.
 
 Current all index access methods (btree, hash and gist) have conception of
 fillfactors, but static bitmap index or something may not have it.
 I see that we should give priority to the design.
 
 ---
 ITAGAKI Takahiro
 NTT Cyber Space Laboratories
 
 
 
 ---(end of broadcast)---
 TIP 3: Have you checked our extensive FAQ?
 
http://www.postgresql.org/docs/faq
 

-- 
  Bruce Momjian   http://candle.pha.pa.us
  SRA OSS, Inc.   http://www.sraoss.com

  + If your life is a hard drive, Christ can be your backup. +

---(end of broadcast)---
TIP 5: don't forget to increase your free space map settings


Re: [HACKERS] Problemas with gram.y

2006-03-04 Thread Martijn van Oosterhout
On Sat, Mar 04, 2006 at 01:16:55AM -0500, Tom Lane wrote:
 What's bugging me about it is that the proposed syntax wedges a bunch
 of index-access-method-specific parameters into what ought to be an
 access-method-agnostic syntax; and furthermore does it by adding more
 grammar keywords, something we have far too many of already.  There are
 direct measurable costs to having more keywords, and the approach does
 not scale up to allowing other index AMs to have other parameters that
 might not bear at all on btree.

I think the current method is based on compatability with other
databases. However, a more generic approach would be to (re)use the
definition or def_list productions. This would allow any of the
following (examples):

CREATE INDEX foo ON bar (x) WITH (fillfactor = 70, option = blah);
CREATE INDEX foo ON bar (x) WITH fillfactor = 70, option = blah;
CREATE INDEX foo ON bar (x) (fillfactor = 70, option = blah);
CREATE INDEX foo ON bar (x) fillfactor = 70, option = blah;

All without creating any new keywords. You could also place them
before/after the USING clause although there would be some grammer
conflicts there.

Would this be better?
-- 
Martijn van Oosterhout   kleptog@svana.org   http://svana.org/kleptog/
 Patent. n. Genius is 5% inspiration and 95% perspiration. A patent is a
 tool for doing 5% of the work and then sitting around waiting for someone
 else to do the other 95% so you can sue them.


signature.asc
Description: Digital signature


Re: [HACKERS] Problemas with gram.y

2006-03-04 Thread Tom Lane
Martijn van Oosterhout kleptog@svana.org writes:
 On Sat, Mar 04, 2006 at 01:16:55AM -0500, Tom Lane wrote:
 What's bugging me about it is that the proposed syntax wedges a bunch
 of index-access-method-specific parameters into what ought to be an
 access-method-agnostic syntax; and furthermore does it by adding more
 grammar keywords, something we have far too many of already.

 I think the current method is based on compatability with other
 databases. However, a more generic approach would be to (re)use the
 definition or def_list productions. This would allow any of the
 following (examples):

 CREATE INDEX foo ON bar (x) WITH (fillfactor = 70, option = blah);
 CREATE INDEX foo ON bar (x) WITH fillfactor = 70, option = blah;
 CREATE INDEX foo ON bar (x) (fillfactor = 70, option = blah);
 CREATE INDEX foo ON bar (x) fillfactor = 70, option = blah;

Yeah, something along this line is what I'd like to see; probably the
first form since that creates the least hazard of foreclosing other
additions to the syntax later.  I'm not wedded to WITH as the keyword,
but I think there should be some keyword (ie not choice #3), and I
definitely want parens around the list else it has to be the last thing
in the command.

The main thing that would have to be resolved before you could proceed
very far with this is how does pg_dump extract the index's options?
My guess is that we'd want to extend pg_index entries to store the list
of options.  This could probably be done in very much the same way that
ALTER USER SET or ALTER DATABASE SET GUC options are stored, ie, an
array containing name/value pairs.

Another point is that we should take some thought now for the prospect
that the set of options might change across time.  I'd be inclined to
argue that if an unknown option appears in a CREATE INDEX command, it's
better to emit a warning and then drop the option, rather than error out
--- otherwise, reloading dumps into newer PG versions will be difficult.
This will impact the details of the index AM API, because the AM will
need a way to filter the options before they get stored in pg_index.
Possibly adding a precheck AM function call is the answer here.

Anyway the bottom line is that we need to put in some infrastructure
that can handle multiple index parameters, not a one-off solution that
only handles PCTFREE.

regards, tom lane

---(end of broadcast)---
TIP 5: don't forget to increase your free space map settings


[HACKERS] Problemas with gram.y

2006-03-03 Thread tmorelli
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!


---(end of broadcast)---
TIP 3: Have you checked our extensive FAQ?

   http://www.postgresql.org/docs/faq


Re: [HACKERS] Problemas with gram.y

2006-03-03 Thread Andrew Dunstan

[EMAIL PROTECTED] wrote:


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!


 



did you change nodes/copyfuncs.c and nodes/equalfuncs.c as you have to 
do when you add new node fields?


cheers

andrew




---(end of broadcast)---
TIP 6: explain analyze is your friend


Re: [HACKERS] Problemas with gram.y

2006-03-03 Thread Martijn van Oosterhout
On Fri, Mar 03, 2006 at 07:14:45PM -0200, [EMAIL PROTECTED] wrote:
 Hi,
 
 I'm trying to extend the CREATE INDEX statement with a fillfactor clause. In
 Gram.y, I did this:

snip

 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:

Did you update infunc/outfuncs/copyfuns in the nodes directory? They're
used to copy the nodes and if you forget to update them you get strange
numbers instead.

Hope this helps,
-- 
Martijn van Oosterhout   kleptog@svana.org   http://svana.org/kleptog/
 Patent. n. Genius is 5% inspiration and 95% perspiration. A patent is a
 tool for doing 5% of the work and then sitting around waiting for someone
 else to do the other 95% so you can sue them.


signature.asc
Description: Digital signature


Re: [HACKERS] Problemas with gram.y

2006-03-03 Thread Tom Lane
[EMAIL PROTECTED] writes:
 I'm trying to extend the CREATE INDEX statement with a fillfactor
 clause.

Um, are you aware that a patch for that was already submitted?
http://momjian.postgresql.org/cgi-bin/pgpatches

I find the whole idea pretty ugly myself.

regards, tom lane

---(end of broadcast)---
TIP 4: Have you searched our list archives?

   http://archives.postgresql.org


Re: [HACKERS] Problemas with gram.y

2006-03-03 Thread Jaime Casanova
On 3/3/06, Tom Lane [EMAIL PROTECTED] wrote:
 [EMAIL PROTECTED] writes:
  I'm trying to extend the CREATE INDEX statement with a fillfactor
  clause.

 Um, are you aware that a patch for that was already submitted?
 http://momjian.postgresql.org/cgi-bin/pgpatches

 I find the whole idea pretty ugly myself.

   regards, tom lane


why? if i can ask? you didn't seem upset with that in the thread

--
regards,
Jaime Casanova

What they (MySQL) lose in usability, they gain back in benchmarks, and that's
all that matters: getting the wrong answer really fast.
   Randal L. Schwartz

---(end of broadcast)---
TIP 9: In versions below 8.0, the planner will ignore your desire to
   choose an index scan if your joining column's datatypes do not
   match


Re: [HACKERS] Problemas with gram.y

2006-03-03 Thread Tom Lane
Jaime Casanova [EMAIL PROTECTED] writes:
 On 3/3/06, Tom Lane [EMAIL PROTECTED] wrote:
 I find the whole idea pretty ugly myself.

 why? if i can ask? you didn't seem upset with that in the thread

What's bugging me about it is that the proposed syntax wedges a bunch
of index-access-method-specific parameters into what ought to be an
access-method-agnostic syntax; and furthermore does it by adding more
grammar keywords, something we have far too many of already.  There are
direct measurable costs to having more keywords, and the approach does
not scale up to allowing other index AMs to have other parameters that
might not bear at all on btree.

I don't object to the concept of providing some way of adjusting index
fill factors, but I'm not at all happy with doing it like this.  I'd
like to see a design that has some extensibility to it.

regards, tom lane

---(end of broadcast)---
TIP 5: don't forget to increase your free space map settings