Re: [HACKERS] Status report on writeable CTEs

2010-08-15 Thread Hitoshi Harada
2010/7/13 Marko Tiikkaja :
> On 7/12/10 9:34 PM +0300, Tom Lane wrote:
>>
>> Marko Tiikkaja  writes:
>>>
>>> ... So what I'm now thinking of is making the planner plan that as a
>>> single
>>> Query, and make the planner expand it into multiple PlannedStmts if
>>> necessary.  This would break the existing planner hooks, but I don't
>>> think that's a huge problem.  Does anyone see any obvious flaws in this?
>>
>> How will that interact with the existing rewriter?  It sounds a lot
>> like a recipe for duplicating functionality ...
>
> I was thinking that the rewriter would look at the top-level CTEs and
> rewrite all non-SELECT queries into a list of Queries and store that list
> into the CommonTableExprs.  The planner would then use this information and
> also expand the rewrite products.

Why didn't you choose this strategy? ISTM changing signature of
planner() and standard_planner() makes it more difficult to commit
this feature unnecessarily.

I thought at first that it is possible and better to split the
statement into multiple Querys in the rewriter and pass them to the
planner, but as you mentioned they should collaborate each other like
in ctelevelsup, so to pass a single Query to the planner is probably
the answer. However, you can store the sub (ie, in WITH clause)
PlannedStmt in the top level PlannedStmt and extract the sub
statements in pg_plan_queries() or anywhere in the PortalXXX() then
add them to the execution list.


Regards,

-- 
Hitoshi Harada

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Status report on writeable CTEs

2010-08-03 Thread Marko Tiikkaja

On 8/3/2010 7:30 PM, Hitoshi Harada wrote:

As hackers say, the first to try should be Marko's first design that
use the list of tuplestore and DTScanNode. So if he has solid image to
reach there, we can wait for him to complete his first compilable
version. Then let's take it back and forth. Is it possible?


I am currently working on a version that treats all WITH queries like 
wCTEs.  My progress can be seen in my git repo [1], branch "wcte".  In 
its current form, the patch compiles and passes all applicable 
regression tests but it's still very messy.  I'm going to send a cleaner 
WIP patch to the list the minute I have one, but anyone's free to look 
at the git repo (and even work on it if they want!).



And I concern we might not have concrete consensus about list of
features in document form. Does it accept Recursive query? What if x
refers to y that refers to x cyclicly? An external design sometimes
fix the internal design, and it helps people to review the
implementation. If I missed something please point me to the link.


A recursive query should be fine as long as 1) it's SELECT-only and 2) 
it doesn't loop forever.  A wCTE can of course refer to the result of 
the recursive SELECT query with INSERT .. SELECT, UPDATE .. FROM or 
DELETE .. USING.  Cyclic dependencies are out of the scope of this 
patch; I'm not planning on adding any new features to regular CTEs.



[1] http://git.postgresql.org/gitweb?p=users/johto/postgres.git;a=summary


Regards,
Marko Tiikkaja

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Status report on writeable CTEs

2010-08-03 Thread Hitoshi Harada
2010/7/21 David Fetter :
> On Sat, Jul 17, 2010 at 01:15:22AM +0900, Hitoshi Harada wrote:
>> 2010/7/17 Marko Tiikkaja :
>> > On 7/16/10 6:15 PM +0300, Hitoshi Harada wrote:
>> >> 1. Use MaterialNode instead of adding DtScanNode. Since MaterialNode
>> >> is exsiting one that work with single tuplestore, it might be sane to
>> >> modify this so that it accepts tuplestore from Query instead of its
>> >> child node.
>> >
>> > I thought about this, but I don't necessarily like the idea of overloading
>> > executor nodes.
>>
>> Neither do I have good shape for this solution. Maybe it's not good
>> idea. But my concern is adding DtScanNode, which looks similar to
>> MaterialNode. Of course each purpose is different, but quite big part
>> will overlap each other, I think.
>
> Any ideas as to how to factor this out?  Handiest ideas would be in
> the form of a patch ;)

Yeah, that would be handiest, but I think I must wait for his first
compilable patch to modify to try the idea. Current version looks
quite messy and can't build.

>> >> 2. Use temp table instead of tuplestore list. Since we agreed we need
>> >> to execute each plan one by one starting and shutting down executor,
>> >> it now looks very simple strategy.
>> >
>> > I didn't look at this because I thought using a "tuplestore receiver" in 
>> > the
>> > portal logic was simple enough.  Any thoughts on how this would work?
>>
>> It's just deconstructing queries like:
>>
>> WITH t AS (INSERT INTO x ... RETURING *)
>> SELECT * FROM t;
>>
>> to
>>
>> CREATE TEMP TABLE t AS INSERT INTO x ... RETURING *;
>> SELECT * FROM t;
>>
>> While the second statement is not implemented yet, it will be so simpler.
>
> So CTAS would get expanded into CTA[row-returning query] ?
> Interesting.  How much work would that part be?

FWIW, this is getting interesting to me these days, and I think this
can be separated from wCTE

As hackers say, the first to try should be Marko's first design that
use the list of tuplestore and DTScanNode. So if he has solid image to
reach there, we can wait for him to complete his first compilable
version. Then let's take it back and forth. Is it possible?

And I concern we might not have concrete consensus about list of
features in document form. Does it accept Recursive query? What if x
refers to y that refers to x cyclicly? An external design sometimes
fix the internal design, and it helps people to review the
implementation. If I missed something please point me to the link.


Regards,


-- 
Hitoshi Harada

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Status report on writeable CTEs

2010-07-20 Thread Robert Haas
On Tue, Jul 20, 2010 at 5:13 PM, Merlin Moncure  wrote:
 2. Use temp table instead of tuplestore list. Since we agreed we need
 to execute each plan one by one starting and shutting down executor,
 it now looks very simple strategy.
>>>
>>> I didn't look at this because I thought using a "tuplestore receiver" in the
>>> portal logic was simple enough.  Any thoughts on how this would work?
>>
>> It's just deconstructing queries like:
>>
>> WITH t AS (INSERT INTO x ... RETURING *)
>> SELECT * FROM t;
>>
>> to
>>
>> CREATE TEMP TABLE t AS INSERT INTO x ... RETURING *;
>> SELECT * FROM t;
>
> Is it acceptable for a wCTE query to manipulate the system catalogs?
> Couldn't this cause performance issues in some cases?

Yeah, I suspect the performance wouldn't be too hot.  I think the idea
of writing into a tuplestore and then reading back out from it is the
way to go.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise Postgres Company

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Status report on writeable CTEs

2010-07-20 Thread Merlin Moncure
On Fri, Jul 16, 2010 at 12:15 PM, Hitoshi Harada  wrote:
> 2010/7/17 Marko Tiikkaja :
>> On 7/16/10 6:15 PM +0300, Hitoshi Harada wrote:
>>>
>>> 1. Use MaterialNode instead of adding DtScanNode. Since MaterialNode
>>> is exsiting one that work with single tuplestore, it might be sane to
>>> modify this so that it accepts tuplestore from Query instead of its
>>> child node.
>>
>> I thought about this, but I don't necessarily like the idea of overloading
>> executor nodes.
>
> Neither do I have good shape for this solution. Maybe it's not good
> idea. But my concern is adding DtScanNode, which looks similar to
> MaterialNode. Of course each purpose is different, but quite big part
> will overlap each other, I think.
>
>>> 2. Use temp table instead of tuplestore list. Since we agreed we need
>>> to execute each plan one by one starting and shutting down executor,
>>> it now looks very simple strategy.
>>
>> I didn't look at this because I thought using a "tuplestore receiver" in the
>> portal logic was simple enough.  Any thoughts on how this would work?
>
> It's just deconstructing queries like:
>
> WITH t AS (INSERT INTO x ... RETURING *)
> SELECT * FROM t;
>
> to
>
> CREATE TEMP TABLE t AS INSERT INTO x ... RETURING *;
> SELECT * FROM t;

Is it acceptable for a wCTE query to manipulate the system catalogs?
Couldn't this cause performance issues in some cases?

merlin

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Status report on writeable CTEs

2010-07-20 Thread David Fetter
On Sat, Jul 17, 2010 at 01:15:22AM +0900, Hitoshi Harada wrote:
> 2010/7/17 Marko Tiikkaja :
> > On 7/16/10 6:15 PM +0300, Hitoshi Harada wrote:
> >>
> >> 1. Use MaterialNode instead of adding DtScanNode. Since MaterialNode
> >> is exsiting one that work with single tuplestore, it might be sane to
> >> modify this so that it accepts tuplestore from Query instead of its
> >> child node.
> >
> > I thought about this, but I don't necessarily like the idea of overloading
> > executor nodes.
> 
> Neither do I have good shape for this solution. Maybe it's not good
> idea. But my concern is adding DtScanNode, which looks similar to
> MaterialNode. Of course each purpose is different, but quite big part
> will overlap each other, I think.

Any ideas as to how to factor this out?  Handiest ideas would be in
the form of a patch ;)

> >> 2. Use temp table instead of tuplestore list. Since we agreed we need
> >> to execute each plan one by one starting and shutting down executor,
> >> it now looks very simple strategy.
> >
> > I didn't look at this because I thought using a "tuplestore receiver" in the
> > portal logic was simple enough.  Any thoughts on how this would work?
> 
> It's just deconstructing queries like:
> 
> WITH t AS (INSERT INTO x ... RETURING *)
> SELECT * FROM t;
> 
> to
> 
> CREATE TEMP TABLE t AS INSERT INTO x ... RETURING *;
> SELECT * FROM t;
> 
> While the second statement is not implemented yet, it will be so simpler.

So CTAS would get expanded into CTA[row-returning query] ?
Interesting.  How much work would that part be?

Cheers,
David.
-- 
David Fetter  http://fetter.org/
Phone: +1 415 235 3778  AIM: dfetter666  Yahoo!: dfetter
Skype: davidfetter  XMPP: david.fet...@gmail.com
iCal: webcal://www.tripit.com/feed/ical/people/david74/tripit.ics

Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Status report on writeable CTEs

2010-07-16 Thread Marko Tiikkaja

On 7/16/10 7:15 PM +0300, Hitoshi Harada wrote:

2010/7/17 Marko Tiikkaja:

I thought about this, but I don't necessarily like the idea of overloading
executor nodes.


Neither do I have good shape for this solution. Maybe it's not good
idea. But my concern is adding DtScanNode, which looks similar to
MaterialNode. Of course each purpose is different, but quite big part
will overlap each other, I think.


The way I see it is that reading from a tuplestore is so simple that we 
shouldn't be trying to merge together nodes just on that basis.  It 
seems to me that we'd have to add CteScan and WorkTableScan nodes there 
too and at that point it would become complicated.



I didn't look at this because I thought using a "tuplestore receiver" in the
portal logic was simple enough.  Any thoughts on how this would work?


It's just deconstructing queries like:

WITH t AS (INSERT INTO x ... RETURING *)
SELECT * FROM t;

to

CREATE TEMP TABLE t AS INSERT INTO x ... RETURING *;
SELECT * FROM t;


That's an idea.  Can we somehow avoid name clashes with user-defined 
temporary tables?



Another concern is tuplestore's memory exhausting. Tuplestore holds
tuples in memory as far as the estimated memory usage is within
work_mem (for *each* not total of all tuplestores!), but if you create
dozens of tuplestore (and it's quite possible in wCTE use cases) we
will possibly fail into memory overflow problems.


That doesn't seem very different from a big SELECT query, except with 
wCTEs, you actually *know* how many times the work_mem can be used 
before you run the query and can adjust work_mem accordingly.


That said, I personally could live with a separate GUC for just 
adjusting the work_mem of "wcte tuplestores".  Another option would be 
to unconditionally force the tuplestores to disk, but that sounds painful.



Regards,
Marko Tiikkaja

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Status report on writeable CTEs

2010-07-16 Thread Hitoshi Harada
2010/7/17 Marko Tiikkaja :
> On 7/16/10 6:15 PM +0300, Hitoshi Harada wrote:
>>
>> 1. Use MaterialNode instead of adding DtScanNode. Since MaterialNode
>> is exsiting one that work with single tuplestore, it might be sane to
>> modify this so that it accepts tuplestore from Query instead of its
>> child node.
>
> I thought about this, but I don't necessarily like the idea of overloading
> executor nodes.

Neither do I have good shape for this solution. Maybe it's not good
idea. But my concern is adding DtScanNode, which looks similar to
MaterialNode. Of course each purpose is different, but quite big part
will overlap each other, I think.

>> 2. Use temp table instead of tuplestore list. Since we agreed we need
>> to execute each plan one by one starting and shutting down executor,
>> it now looks very simple strategy.
>
> I didn't look at this because I thought using a "tuplestore receiver" in the
> portal logic was simple enough.  Any thoughts on how this would work?

It's just deconstructing queries like:

WITH t AS (INSERT INTO x ... RETURING *)
SELECT * FROM t;

to

CREATE TEMP TABLE t AS INSERT INTO x ... RETURING *;
SELECT * FROM t;

While the second statement is not implemented yet, it will be so simpler.

Another concern is tuplestore's memory exhausting. Tuplestore holds
tuples in memory as far as the estimated memory usage is within
work_mem (for *each* not total of all tuplestores!), but if you create
dozens of tuplestore (and it's quite possible in wCTE use cases) we
will possibly fail into memory overflow problems.

>> I'm not familiar with the long discussion on this feature so not sure
>> they are possible, but ISTM  they are enough to be discussed (or
>> discussed already?).
>
> We haven't discussed this part of the design yet..  Now is a good time to do
> it.

Yeah, we should.  Anyone has another idea? Or adding DtScanNode for
this features is fair enough?


Regards,


-- 
Hitoshi Harada

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Status report on writeable CTEs

2010-07-16 Thread Marko Tiikkaja

On 7/16/10 6:15 PM +0300, Hitoshi Harada wrote:

Sorry it's not relevant to the topic you post but ..


Relevant enough :-)


.. it seems you're
going to add new executor node called DtScanNode and let it hold
tuplestore passed by the Query indicated by index number. However, I
suppose there are other ways:

1. Use MaterialNode instead of adding DtScanNode. Since MaterialNode
is exsiting one that work with single tuplestore, it might be sane to
modify this so that it accepts tuplestore from Query instead of its
child node.


I thought about this, but I don't necessarily like the idea of 
overloading executor nodes.



2. Use temp table instead of tuplestore list. Since we agreed we need
to execute each plan one by one starting and shutting down executor,
it now looks very simple strategy.


I didn't look at this because I thought using a "tuplestore receiver" in 
the portal logic was simple enough.  Any thoughts on how this would work?



I'm not familiar with the long discussion on this feature so not sure
they are possible, but ISTM  they are enough to be discussed (or
discussed already?).


We haven't discussed this part of the design yet..  Now is a good time 
to do it.



Regards,
Marko Tiikkaja

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Status report on writeable CTEs

2010-07-16 Thread Hitoshi Harada
2010/7/13 Marko Tiikkaja :
> Hi,
>
>
> I've been working on writeable CTEs during the last couple of months, but
> right now it looks like I'm going to miss the first commit fest for 9.1.  I
> was trying to make it work by expanding all wCTEs to their own Queries
> during the rewrite stage (a very crude patch trying to do that for regular
> CTEs attached), but I don't think that it's a good way of approaching the
> problem.  Consider:

Sorry it's not relevant to the topic you post but it seems you're
going to add new executor node called DtScanNode and let it hold
tuplestore passed by the Query indicated by index number. However, I
suppose there are other ways:

1. Use MaterialNode instead of adding DtScanNode. Since MaterialNode
is exsiting one that work with single tuplestore, it might be sane to
modify this so that it accepts tuplestore from Query instead of its
child node.
2. Use temp table instead of tuplestore list. Since we agreed we need
to execute each plan one by one starting and shutting down executor,
it now looks very simple strategy.

I'm not familiar with the long discussion on this feature so not sure
they are possible, but ISTM  they are enough to be discussed (or
discussed already?).


Regards,


-- 
Hitoshi Harada

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Status report on writeable CTEs

2010-07-12 Thread Marko Tiikkaja

On 7/12/10 9:34 PM +0300, Tom Lane wrote:

Marko Tiikkaja  writes:

... So what I'm now thinking of is making the planner plan that as a single
Query, and make the planner expand it into multiple PlannedStmts if
necessary.  This would break the existing planner hooks, but I don't
think that's a huge problem.  Does anyone see any obvious flaws in this?


How will that interact with the existing rewriter?  It sounds a lot
like a recipe for duplicating functionality ...


I was thinking that the rewriter would look at the top-level CTEs and 
rewrite all non-SELECT queries into a list of Queries and store that 
list into the CommonTableExprs.  The planner would then use this 
information and also expand the rewrite products.



Regards,
Marko Tiikkaja

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Status report on writeable CTEs

2010-07-12 Thread Tom Lane
Marko Tiikkaja  writes:
> ... So what I'm now thinking of is making the planner plan that as a single 
> Query, and make the planner expand it into multiple PlannedStmts if 
> necessary.  This would break the existing planner hooks, but I don't 
> think that's a huge problem.  Does anyone see any obvious flaws in this?

How will that interact with the existing rewriter?  It sounds a lot
like a recipe for duplicating functionality ...

regards, tom lane

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Status report on writeable CTEs

2010-07-12 Thread Marko Tiikkaja

On 7/12/10 9:07 PM +0300, I wrote:

Consider:

WITH t  AS (SELECT 1),
   t2 AS (SELECT * FROM t2)
VALUES (true);


That should of course have been SELECT * FROM t, not t2.


Regards,
Marko Tiikkaja

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


[HACKERS] Status report on writeable CTEs

2010-07-12 Thread Marko Tiikkaja

Hi,


I've been working on writeable CTEs during the last couple of months, 
but right now it looks like I'm going to miss the first commit fest for 
9.1.  I was trying to make it work by expanding all wCTEs to their own 
Queries during the rewrite stage (a very crude patch trying to do that 
for regular CTEs attached), but I don't think that it's a good way of 
approaching the problem.  Consider:


WITH t  AS (SELECT 1),
 t2 AS (SELECT * FROM t2)
VALUES (true);

The first big problem I hit is was that when the query for t2 is planned 
separately, it doesn't have the CTE information.  But even if it had 
that information (we could easily copy it during the rewrite stage), all 
RTEs referencing CTEs that were expanded would have the wrong levelsup 
(this is where the patch fails at regression tests).  One could probably 
come up with ways of fixing even that, but I don't think that's the 
right direction to be heading.


So what I'm now thinking of is making the planner plan that as a single 
Query, and make the planner expand it into multiple PlannedStmts if 
necessary.  This would break the existing planner hooks, but I don't 
think that's a huge problem.  Does anyone see any obvious flaws in this?


Any feedback is welcome.  I'd also be happy to get some help on this 
project.



Regards,
Marko Tiikkaja
*** a/src/backend/commands/copy.c
--- b/src/backend/commands/copy.c
***
*** 1092,1098  DoCopy(const CopyStmt *stmt, const char *queryString)
cstate->queryDesc = CreateQueryDesc(plan, queryString,

GetActiveSnapshot(),

InvalidSnapshot,
!   
dest, NULL, 0);
  
/*
 * Call ExecutorStart to prepare the plan for execution.
--- 1092,1098 
cstate->queryDesc = CreateQueryDesc(plan, queryString,

GetActiveSnapshot(),

InvalidSnapshot,
!   
dest, NULL, 0, NIL);
  
/*
 * Call ExecutorStart to prepare the plan for execution.
*** a/src/backend/commands/explain.c
--- b/src/backend/commands/explain.c
***
*** 367,373  ExplainOnePlan(PlannedStmt *plannedstmt, ExplainState *es,
/* Create a QueryDesc requesting no output */
queryDesc = CreateQueryDesc(plannedstmt, queryString,

GetActiveSnapshot(), InvalidSnapshot,
!   None_Receiver, 
params, instrument_option);
  
INSTR_TIME_SET_CURRENT(starttime);
  
--- 367,374 
/* Create a QueryDesc requesting no output */
queryDesc = CreateQueryDesc(plannedstmt, queryString,

GetActiveSnapshot(), InvalidSnapshot,
!   None_Receiver, 
params, instrument_option,
!   NIL);
  
INSTR_TIME_SET_CURRENT(starttime);
  
***
*** 692,697  ExplainNode(Plan *plan, PlanState *planstate,
--- 693,701 
case T_CteScan:
pname = sname = "CTE Scan";
break;
+   case T_DtScan:
+   pname = sname = "Derived Table Scan";
+   break;
case T_WorkTableScan:
pname = sname = "WorkTable Scan";
break;
***
*** 844,849  ExplainNode(Plan *plan, PlanState *planstate,
--- 848,854 
case T_ValuesScan:
case T_CteScan:
case T_WorkTableScan:
+   case T_DtScan:
ExplainScanTarget((Scan *) plan, es);
break;
case T_BitmapIndexScan:
***
*** 1565,1570  ExplainScanTarget(Scan *plan, ExplainState *es)
--- 1570,1581 
objectname = rte->ctename;
objecttag = "CTE Name";
break;
+   case T_DtScan:
+   /* Assert it's on a non-self-reference CTE */
+   Assert(rte->rtekind == RTE_CTE);
+   Assert(!rte->self_reference);
+   objectname = rte->ctename;
+   objecttag = "Derived Table Name";
default:
break;
}
*** a/src/backend/executor/Makefile
--- b/src/backend/executor

Re: [HACKERS] Status report: getting plpgsql to use the core lexer

2009-07-16 Thread Tom Lane
"Kevin Grittner"  writes:
> ...
> We were able to get to much cleaner code by rewriting the parser to
> have a "dumb" phase to get the overall structure into an AST, and then
> use a tree-walker phase to do all the lookups and type resolution
> after we had the rough structure, writing another AST to walk for code
> generation.  Besides making the code cleaner and easier to maintain,
> it helped us give better error messages pointing more accurately to
> the source of the problem.  I don't know if a similar approach is
> feasible in flex/bison, but if it is, refactoring for an extra pass
> might be worth the trouble.

That's actually what we have in the core parser.  plpgsql is trying to
take shortcuts, and this whole project is exactly about weaning it away
from that.  The bottom line is I tried to tackle the sub-projects in the
wrong order...

regards, tom lane

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Status report: getting plpgsql to use the core lexer

2009-07-16 Thread Kevin Grittner
Tom Lane  wrote: 
 
> One problem that wasn't obvious when I started is that if you are
> trying to use a reentrant lexer, Bison insists on including its
> YYSTYPE union in the call signature of the lexer.  Of course,
> YYSTYPE means different things to the core grammar and plpgsql's
> grammar.  I tried to work around that by having an interface layer
> that would (among other duties) translate as needed.  It turned out
> to be a real PITA, not least because you can't include both
> definitions into the same C file.  The scheme I have has more or
> less failed --- I think I'd need *two* interface layers to make it
> work without unmaintainable kluges.  It would probably be better to
> try to adjust the core lexer's API some more so that it does not
> depend on the core YYSTYPE, but I'm not sure yet how to get Bison to
> play along without injecting an interface layer (and hence wasted
> cycles) into the core grammar/lexer interface.
> 
> Another pretty serious issue is that the current plpgsql lexer
> treats various sorts of qualified names as single tokens.  I had
> thought this could be worked around in the interface layer by doing
> more lookahead.  You can do that, and it mostly works, but it's
> mighty tedious.  The big problem is that "yytext" gets out of step
> --- it will point at the last token the core lexer has processed,
> and there's no good way to back it up after lookahead.  I spent a
> fair amount of time trying to work around that by eliminating uses
> of "yytext" in plpgsql, and mostly succeeded, but there are still
> some left.  (Some of the remaining regression failures are error
> messages that point at the wrong token because they rely on yytext.)
> 
> Now, having name lookup happen at the lexical level is pretty bogus
> anyhow.  The long-term solution here is probably to avoid doing
> lookup in the plpgsql lexer and move it into some sort of callback
> hook in the main parser, as we've discussed before.  I didn't want
> to get into that right away, but I'm now thinking it has to happen
> before not after refactoring the lexer code.  One issue that has to
> be surmounted before that can happen is that plpgsql currently
> throws away all knowledge of syntactic scope after initial
> processing of a function --- the "name stack" is no longer available
> when we want to parse individual SQL commands.  We can probably
> rearrange that design but it's another bit of work I don't have time
> for right now.
 
All of this sounds pretty familiar to me.  As you may recall, our
framework includes a SQL parser which parses the subset of standard
SQL we feel is portable enough, and generates Java classes to
implement the code in "lowest common denominator" SQL with all
procedural code for triggers and stored procedures handled in Java
(which runs in our middle tier database service).  We use ANTLR, and
initially had a three-phase process: lexer, parser, and tree-walkers
to generate code.  We were doing way too much in the parser phase --
checking for table names, column names, data types, etc.  The syntax
of SQL forced us to do a lot of scanning forward and remembering where
we were (especially to get the FROM clause information so we could
process columns in the result list).
 
We were able to get to much cleaner code by rewriting the parser to
have a "dumb" phase to get the overall structure into an AST, and then
use a tree-walker phase to do all the lookups and type resolution
after we had the rough structure, writing another AST to walk for code
generation.  Besides making the code cleaner and easier to maintain,
it helped us give better error messages pointing more accurately to
the source of the problem.  I don't know if a similar approach is
feasible in flex/bison, but if it is, refactoring for an extra pass
might be worth the trouble.
 
-Kevin

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Status report: getting plpgsql to use the core lexer

2009-07-15 Thread Tom Lane
Alvaro Herrera  writes:
> Tom Lane wrote:
>> ...  I spent a fair amount of time trying to work around that
>> by eliminating uses of "yytext" in plpgsql, and mostly succeeded, but
>> there are still some left.  (Some of the remaining regression failures are
>> error messages that point at the wrong token because they rely on yytext.)

> Just wondering if there are additional regressions not detected due to
> pg_regress using the ignore-whitespace option to diff.

Good question, but I doubt it --- those messages all use double quotes
around the yytext string, and I believe that eg. "foo" and " foo" are
different even under --ignore-whitespace.

I just finished wiping all that stuff from my work directory, or I'd
be able to give you a non-guesswork answer :-( ... but it's not
worth regenerating the build for.

regards, tom lane

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Status report: getting plpgsql to use the core lexer

2009-07-15 Thread Alvaro Herrera
Tom Lane wrote:

> Another pretty serious issue is that the current plpgsql lexer treats
> various sorts of qualified names as single tokens.  I had thought this
> could be worked around in the interface layer by doing more lookahead.
> You can do that, and it mostly works, but it's mighty tedious.  The big
> problem is that "yytext" gets out of step --- it will point at the last
> token the core lexer has processed, and there's no good way to back it up
> after lookahead.  I spent a fair amount of time trying to work around that
> by eliminating uses of "yytext" in plpgsql, and mostly succeeded, but
> there are still some left.  (Some of the remaining regression failures are
> error messages that point at the wrong token because they rely on yytext.)

Just wondering if there are additional regressions not detected due to
pg_regress using the ignore-whitespace option to diff.

-- 
Alvaro Herrerahttp://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


[HACKERS] Status report: getting plpgsql to use the core lexer

2009-07-15 Thread Tom Lane
I've spent the past several days working on the project I suggested here:
http://archives.postgresql.org/message-id/18653.1239741...@sss.pgh.pa.us
of getting rid of plpgsql's private lexer and having it use the core
lexer instead.  I've run out of time for that and need to go focus on
commitfest reviewing, but I thought I'd make a brain dump first.
I have a patch that sort of works (attached for amusement purposes);
but it doesn't quite pass all the regression tests, and I've concluded
that there are a couple of basic mistakes in the way I approached it.

One problem that wasn't obvious when I started is that if you are trying
to use a reentrant lexer, Bison insists on including its YYSTYPE union
in the call signature of the lexer.  Of course, YYSTYPE means different
things to the core grammar and plpgsql's grammar.  I tried to work around
that by having an interface layer that would (among other duties)
translate as needed.  It turned out to be a real PITA, not least because
you can't include both definitions into the same C file.  The scheme
I have has more or less failed --- I think I'd need *two* interface layers
to make it work without unmaintainable kluges.  It would probably be
better to try to adjust the core lexer's API some more so that it does
not depend on the core YYSTYPE, but I'm not sure yet how to get Bison
to play along without injecting an interface layer (and hence wasted
cycles) into the core grammar/lexer interface.

Another pretty serious issue is that the current plpgsql lexer treats
various sorts of qualified names as single tokens.  I had thought this
could be worked around in the interface layer by doing more lookahead.
You can do that, and it mostly works, but it's mighty tedious.  The big
problem is that "yytext" gets out of step --- it will point at the last
token the core lexer has processed, and there's no good way to back it up
after lookahead.  I spent a fair amount of time trying to work around that
by eliminating uses of "yytext" in plpgsql, and mostly succeeded, but
there are still some left.  (Some of the remaining regression failures are
error messages that point at the wrong token because they rely on yytext.)

Now, having name lookup happen at the lexical level is pretty bogus
anyhow.  The long-term solution here is probably to avoid doing lookup in
the plpgsql lexer and move it into some sort of callback hook in the main
parser, as we've discussed before.  I didn't want to get into that right
away, but I'm now thinking it has to happen before not after refactoring
the lexer code.  One issue that has to be surmounted before that can
happen is that plpgsql currently throws away all knowledge of syntactic
scope after initial processing of a function --- the "name stack" is no
longer available when we want to parse individual SQL commands.  We can
probably rearrange that design but it's another bit of work I don't have
time for right now.

The plpgsql code also currently has a bunch of "unreserved keywords"
that are only significant in one or two contexts, and are implemented
by doing pg_strcasecmp(yytext, "keyword") tests instead of letting the
lexer know they exist.  This is one of the things that got broken by
the above yytext-synchronization issue.  What the patch is doing is
checking for identifiers spelled to match, but it's really wrong because
it can't distinguish quoted and unquoted occurrences of a keyword.
I'm inclined to think the right fix is to make an honest-to-goodness
concept of reserved and unreserved keywords in plpgsql, as we do in
the core grammar.  A lot of the words that currently are reserved words
probably wouldn't need to be, if we had that infrastructure.

Also, the more I messed with this the more I thought it was time to throw
away plpgsql's error location tracking and start over.  That was all
written before we had decent location tracking in the core lexer/parser,
and we could do a much better and more consistent job if we relied on
the core facilities instead of rolling our own.

So there's a lot left to do here, and it has to go on the back burner
for now.

regards, tom lane



binC033irjbRt.bin
Description: plpgsql-use-core-lexer-1.patch.gz

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Status Report on SE-PostgreSQL

2009-01-25 Thread KaiGai Kohei
The patch set of SE-PostgreSQL and related stuff were updated (r1467).

[1/5] 
http://sepgsql.googlecode.com/files/sepostgresql-sepgsql-8.4devel-3-r1467.patch
[2/5] 
http://sepgsql.googlecode.com/files/sepostgresql-utils-8.4devel-3-r1467.patch
[3/5] 
http://sepgsql.googlecode.com/files/sepostgresql-policy-8.4devel-3-r1467.patch
[4/5] 
http://sepgsql.googlecode.com/files/sepostgresql-docs-8.4devel-3-r1467.patch
[5/5] 
http://sepgsql.googlecode.com/files/sepostgresql-tests-8.4devel-3-r1467.patch

List of updates:
- Documentation is updated based on Robert Haas's suggestions.
  See, http://archives.postgresql.org/message-id/497c6808.2060...@kaigai.gr.jp
- Bugfix: SE-PostgreSQL related functions didn't raise an error
  when "pgace_feature" option is not "selinux".
- Add a launcher program to run testcases with various kind of security context.

Thanks,
-- 
KaiGai Kohei 

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Status Report on Hot Standby

2009-01-21 Thread Mark Kirkwood

Robert Treat wrote:

On Friday 16 January 2009 19:16:42 Simon Riggs wrote:
  

Bruce asked for 2 more weeks to get patches into shape for commit.

Current patch v8e is attached here. Ready for commit? Up to you.

My overall opinion is that it's in very good shape. Worth the community
including it in this release and spending further time on it. I'm happy
to stand by this going forwards.




+1

  

+1

I've been testing several versions of this patch, and overall it looks 
very good.


regards

Mark

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Status Report on Hot Standby

2009-01-20 Thread Simon Riggs

On Tue, 2009-01-20 at 18:08 -0500, Robert Treat wrote:

> > The patch could benefit further from input from other various hackers,
> > what couldn't? It's time to put this in a shared repository (of some
> > kind) and make further changes to it in a controlled manner.
> >
> 
> Yep. I've now got this running on Linux and Solaris and testing so far has 
> looked good. I've also spoken to a couple other people who have built it and 
> run it, and everyone has been pretty happy. It'd certainly be nice to see 
> this get into the main source tree to make it easier for future testing. (For 
> example, one hurdle on Solaris, I had to get a different version of patch to 
> handle Simon's diff... ugh!) 

There'll be a new version out soon, hopefully tomorrow, with some fancy
new deferred conflict resolution. Timing depends on passage through
testing.

I think it will then be fermented in GIT for a while.

-- 
 Simon Riggs   www.2ndQuadrant.com
 PostgreSQL Training, Services and Support


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Status Report on Hot Standby

2009-01-20 Thread Robert Treat
On Friday 16 January 2009 19:16:42 Simon Riggs wrote:
> Bruce asked for 2 more weeks to get patches into shape for commit.
>
> Current patch v8e is attached here. Ready for commit? Up to you.
>
> My overall opinion is that it's in very good shape. Worth the community
> including it in this release and spending further time on it. I'm happy
> to stand by this going forwards.
>

+1

> The patch could benefit further from input from other various hackers,
> what couldn't? It's time to put this in a shared repository (of some
> kind) and make further changes to it in a controlled manner.
>

Yep. I've now got this running on Linux and Solaris and testing so far has 
looked good. I've also spoken to a couple other people who have built it and 
run it, and everyone has been pretty happy. It'd certainly be nice to see 
this get into the main source tree to make it easier for future testing. (For 
example, one hurdle on Solaris, I had to get a different version of patch to 
handle Simon's diff... ugh!) 

-- 
Robert Treat
Conjecture: http://www.xzilla.net
Consulting: http://www.omniti.com

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


[HACKERS] Status Report on SE-PostgreSQL

2009-01-16 Thread KaiGai Kohei
I also think it is a good idea to summarize current status of
SE-PostgreSQL, as Simon Riggs doing on his works.

The current revision of SE-PostgreSQL is 1425, available here:

 [1/5] 
http://sepgsql.googlecode.com/files/sepostgresql-sepgsql-8.4devel-3-r1425.patch
 [2/5] 
http://sepgsql.googlecode.com/files/sepostgresql-utils-8.4devel-3-r1425.patch
 [3/5] 
http://sepgsql.googlecode.com/files/sepostgresql-policy-8.4devel-3-r1425.patch
 [4/5] 
http://sepgsql.googlecode.com/files/sepostgresql-docs-8.4devel-3-r1425.patch
 [5/5] 
http://sepgsql.googlecode.com/files/sepostgresql-tests-8.4devel-3-r1425.patch

We had various kind of comments, feature requests and discussions during
previous/current commit fest, then whole of them are already included.

Currently, we have no open issues here.

As I summarized as follows, we had many discussions about its design
issues mainly, so my patch set has been updated to support them.
I believe we should move to detailed-reviews to merge the feature any
time now, since we should aware of v8.4 schedule.

I really would like folks to help/volunteer reviewing the patches, please!

* CommitFest:Nov
 - Simon Riggs requires a new GUC option to turn on/off row-level security
   labeling to reduce storage comsumption, then updated as follows:
 http://archives.postgresql.org/message-id/492691a8.8030...@ak.jp.nec.com
 - Bruce Momjian suggested Row-level database ACLs to be compiled in default.
 - Discussions for default compile options: PostgreSQL doesn't prefer compile
   time option to turn on/off features, except for platform specific one.
   SE-PostgreSQL is indeed platform specific feature. But, it makes other
   issue that need mutually-exclusive enhanced security feature.
   We concluded it as follows:
   - All configurable features should be compiled within a single binary.
   - Both of DAC and MAC should be available simultaneously in row-level also.
   - DAC is hardwired, and we allow users to choose an enhanced security 
feature.
 - I updated the patch set to support both of Row-level database ACLs and
   an enhanced security feature (SELinux) simultaneously. ('08/12/17)
 http://archives.postgresql.org/message-id/4948b6bd.1050...@ak.jp.nec.com
 - Robert Haas concerned about Stephen Frost's column-level privileges has
   a trouble, so it's unclear whether it can get merged into v8.4.
   - I also worked for his patch, then it got being ready for commit:
   
http://archives.postgresql.org/message-id/20090116045825.gy4...@tamriel.snowman.net
 - Alvaro Herrera suggested "static inline" is not preferable.

* CommitFest:Sep
 - Peter Eisentraut commented about its design specifications:
 http://archives.postgresql.org/message-id/48d03953.6000...@gmx.net
 - The hot issues were lack of fine-grained access controls in SQL-level,
   and covert channels with row-level controls.
 - We finally made agreement to provide platform independent row-level controls,
   and explicit documentation about covert channels in PK/FK constraints.
   No one didn't want to apply polyinstantiation idea.
 - Simon Riggs requires wiki article to introduce SE-PostgreSQL.
 http://wiki.postgresql.org/wiki/SEPostgreSQL
 - Patch set was updated to support Row-level database ACLs
   http://archives.postgresql.org/message-id/48f46606.4080...@ak.jp.nec.com

* CommitFest:Jul
 - The patch set got documentation/testcases.
 - Peter Eisentraut commented about some of items:
 
http://archives.postgresql.org/message-id/200807071739.58428.pete...@gmx.net
 - Then, these items are updated:
 http://archives.postgresql.org/message-id/48773188.6000...@ak.jp.nec.com

* CommitFest:May
 - First patch set for v8.4 were proposed.
 - Tom Lane gave us various items to be improved.
 http://archives.postgresql.org/message-id/3275.1210019...@sss.pgh.pa.us
 - I had a presentation at PGcon2008 ottawa.
 http://sepgsql.googlecode.com/files/PGCON20080523.pdf

* Prior phase
 - First proposal of PGACE security framework, but I didn't know it was
   just after the date of feature freeze in v8.3. So, it was suggested
   to wait for v8.4 development cycle. ('07/04/17)
 - 8.2.x based SE-PostgreSQL announced. ('07/09/04)
 - SE-PostgreSQL package got merged into Fedora Project. ('07/11/08)
 - 8.3.x based SE-PostgreSQL announced. ('08/03/08)

Thanks,
-- 
KaiGai Kohei 

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Status report on 8.3 releaset

2007-11-29 Thread Bruce Momjian
Joshua D. Drake wrote:
> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA1
> 
> On Thu, 29 Nov 2007 14:01:11 -0800
> Neil Conway <[EMAIL PROTECTED]> wrote:
> 
> > On Thu, 2007-11-29 at 11:26 -0500, Bruce Momjian wrote:
> > > I expect these cleanups to continue for at least another week or
> > > two. Once they slow we will schedule RC1.
> > 
> > So are there no plans for an additional beta? Given the recent
> > addition of changes like
> > 
> > http://archives.postgresql.org/pgsql-committers/2007-11/msg00552.php
> > http://archives.postgresql.org/pgsql-committers/2007-11/msg00532.php
> > 
> > I wonder if another beta before RC1 would be warranted.
> 
> I think the email is not quite clear :). There is a Beta 4 coming, the
> problem is packagers aren't really available this week so if it comes
> it will be next week.

Yes, there will be another beta before RC1.

-- 
  Bruce Momjian  <[EMAIL PROTECTED]>http://momjian.us
  EnterpriseDB http://postgres.enterprisedb.com

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

---(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] Status report on 8.3 release

2007-11-29 Thread Gregory Stark
"Andreas 'ads' Scherbaum" <[EMAIL PROTECTED]> writes:

> i would also like to test another Beta, if we do something about this
> problem:
>
> http://archives.postgresql.org/pgsql-hackers/2007-11/msg00960.php

That's already done, it would be in the next beta. You could check out a copy
from CVS HEAD if you want to test it now.

-- 
  Gregory Stark
  EnterpriseDB  http://www.enterprisedb.com
  Ask me about EnterpriseDB's PostGIS support!

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


Re: [HACKERS] Status report on 8.3 release

2007-11-29 Thread Andreas 'ads' Scherbaum
On Fri, 30 Nov 2007 11:26:35 +1100 Brendan Jurd wrote:

> On Nov 30, 2007 11:10 AM, Andreas 'ads' Scherbaum <[EMAIL PROTECTED]> wrote:
> > i would also like to test another Beta, if we do something about this
> > problem:
> >
> > http://archives.postgresql.org/pgsql-hackers/2007-11/msg00960.php
> 
> Hi Andreas,
> 
> Tom's already committed the quote_literal(anyelement) function.
> 
> http://archives.postgresql.org/pgsql-committers/2007-11/msg00530.php

Ups, i've overseen this one. Forget my posting and i will keep testing
the next beta ;-)


Kind regards

-- 
Andreas 'ads' Scherbaum
German PostgreSQL User Group

---(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] Status report on 8.3 release

2007-11-29 Thread Brendan Jurd
On Nov 30, 2007 11:10 AM, Andreas 'ads' Scherbaum <[EMAIL PROTECTED]> wrote:
> i would also like to test another Beta, if we do something about this
> problem:
>
> http://archives.postgresql.org/pgsql-hackers/2007-11/msg00960.php

Hi Andreas,

Tom's already committed the quote_literal(anyelement) function.

http://archives.postgresql.org/pgsql-committers/2007-11/msg00530.php

Cheers
BJ

---(end of broadcast)---
TIP 7: You can help support the PostgreSQL project by donating at

http://www.postgresql.org/about/donate


Re: [HACKERS] Status report on 8.3 release

2007-11-29 Thread Andreas 'ads' Scherbaum

Hello,

On Thu, 29 Nov 2007 17:21:09 -0500 Tom Lane wrote:

> Neil Conway <[EMAIL PROTECTED]> writes:
> > So are there no plans for an additional beta?
> 
> Yes, there are, but not till we do something about
> http://archives.postgresql.org/pgsql-hackers/2007-11/msg01302.php

i would also like to test another Beta, if we do something about this
problem:

http://archives.postgresql.org/pgsql-hackers/2007-11/msg00960.php


Kind regards

-- 
Andreas 'ads' Scherbaum
German PostgreSQL User Group

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


Re: [HACKERS] Status report on 8.3 release

2007-11-29 Thread Tom Lane
Neil Conway <[EMAIL PROTECTED]> writes:
> So are there no plans for an additional beta?

Yes, there are, but not till we do something about
http://archives.postgresql.org/pgsql-hackers/2007-11/msg01302.php

regards, tom lane

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


Re: [HACKERS] Status report on 8.3 release

2007-11-29 Thread Joshua D. Drake
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On Thu, 29 Nov 2007 14:01:11 -0800
Neil Conway <[EMAIL PROTECTED]> wrote:

> On Thu, 2007-11-29 at 11:26 -0500, Bruce Momjian wrote:
> > I expect these cleanups to continue for at least another week or
> > two. Once they slow we will schedule RC1.
> 
> So are there no plans for an additional beta? Given the recent
> addition of changes like
> 
> http://archives.postgresql.org/pgsql-committers/2007-11/msg00552.php
> http://archives.postgresql.org/pgsql-committers/2007-11/msg00532.php
> 
> I wonder if another beta before RC1 would be warranted.

I think the email is not quite clear :). There is a Beta 4 coming, the
problem is packagers aren't really available this week so if it comes
it will be next week.

At least that is last I heard.

Joshua D. Drake

> 
> -Neil
> 
> 
> 
> ---(end of
> broadcast)--- TIP 2: Don't 'kill -9' the
> postmaster
> 


- -- 

  === The PostgreSQL Company: Command Prompt, Inc. ===
Sales/Support: +1.503.667.4564   24x7/Emergency: +1.800.492.2240
PostgreSQL solutions since 1997  http://www.commandprompt.com/
UNIQUE NOT NULL
Donate to the PostgreSQL Project: http://www.postgresql.org/about/donate
PostgreSQL Replication: http://www.commandprompt.com/products/

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFHTzhHATb/zqfZUUQRAiZlAJ0Tj/Kzn0cFnfm7pB9YFvKQm4txpQCfTCo6
s6FF7Ey5GMISxNmwxTlgi7g=
=KypU
-END PGP SIGNATURE-

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

   http://archives.postgresql.org


Re: [HACKERS] Status report on 8.3 release

2007-11-29 Thread Neil Conway
On Thu, 2007-11-29 at 11:26 -0500, Bruce Momjian wrote:
> I expect these cleanups to continue for at least another week or two. 
> Once they slow we will schedule RC1.

So are there no plans for an additional beta? Given the recent addition
of changes like

http://archives.postgresql.org/pgsql-committers/2007-11/msg00552.php
http://archives.postgresql.org/pgsql-committers/2007-11/msg00532.php

I wonder if another beta before RC1 would be warranted.

-Neil



---(end of broadcast)---
TIP 2: Don't 'kill -9' the postmaster


[HACKERS] Status report on 8.3 release

2007-11-29 Thread Bruce Momjian
I wanted to give everyone an overview of where we are for 8.3.  We have
addressed almost every major issue for 8.3 but we are getting a steady
stream of minor cleanups.  These cleanups are vital to keep the quality
of Postgres at a high level.  It allows us to make major changes in
every release but continue to produce a very reliable database system. 
8.3 is going to be a watershed release, like 8.0, so it is not
surprising we have cleaning up to do.  Please keep up that activity.

I expect these cleanups to continue for at least another week or two. 
Once they slow we will schedule RC1.  Of course, we are getting near
Christmas, so that might affect the final release schedule as well. 
Based on everything above, it is likely that 8.3 final will not be until
the first week of January.

I know everyone wanted this to be a short release schedule but the
feature set just kept growing, so while we have the normal year-to-year
release schedule, we do have a blockbuster release that we can all be
proud of.

-- 
  Bruce Momjian  <[EMAIL PROTECTED]>http://momjian.us
  EnterpriseDB http://postgres.enterprisedb.com

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

---(end of broadcast)---
TIP 2: Don't 'kill -9' the postmaster


Re: Release planning (was: Re: [HACKERS] Status report)

2004-07-14 Thread Bruce Momjian
Christopher Kings-Lynne wrote:
> > We can have a major feature deadline, then a minor feature deadline. I
> > particularly liked the idea of 1 July as the major feature deadline,
> > then 14 July as major-feature-tweak deadline. That funnels things better
> > to cater for the manpower available.
> 
> That being said, your PITR patch still hasn't been comitted and it's 
> well past 1st July.  If I had to drop something from 7.5 right now to 
> make a release, then it would have to be PITR!

Well, the problem is that Simon isn't the reason the patch hasn't been
applied.  The reason is that we have had other priorities in reviewing
patches so it doesn't seem fair to single out that feature for
exclusion.

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 359-1001
  +  If your life is a hard drive, |  13 Roberts Road
  +  Christ can be your backup.|  Newtown Square, Pennsylvania 19073

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

   http://www.postgresql.org/docs/faqs/FAQ.html


Re: Release planning (was: Re: [HACKERS] Status report)

2004-07-14 Thread Marc G. Fournier
On Thu, 15 Jul 2004, Christopher Kings-Lynne wrote:
We can have a major feature deadline, then a minor feature deadline. I
particularly liked the idea of 1 July as the major feature deadline,
then 14 July as major-feature-tweak deadline. That funnels things better
to cater for the manpower available.
That being said, your PITR patch still hasn't been comitted and it's well 
past 1st July.  If I had to drop something from 7.5 right now to make a 
release, then it would have to be PITR!
As Bruce would put it "that would be unfair to Simon", since it isn't his 
fault that the patch hasn't been reviewed for commit yet ... if, once 
reviewed, it is found to need work, then it should be put off until 7.6 
... I'm in Josh's camp on this one, in that Nested Xacts should probably 
be pulled since it still needs work :(


Marc G. Fournier   Hub.Org Networking Services (http://www.hub.org)
Email: [EMAIL PROTECTED]   Yahoo!: yscrappy  ICQ: 7615664
---(end of broadcast)---
TIP 7: don't forget to increase your free space map settings


Re: Release planning (was: Re: [HACKERS] Status report)

2004-07-14 Thread Christopher Kings-Lynne
We can have a major feature deadline, then a minor feature deadline. I
particularly liked the idea of 1 July as the major feature deadline,
then 14 July as major-feature-tweak deadline. That funnels things better
to cater for the manpower available.
That being said, your PITR patch still hasn't been comitted and it's 
well past 1st July.  If I had to drop something from 7.5 right now to 
make a release, then it would have to be PITR!

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


Re: Release planning (was: Re: [HACKERS] Status report)

2004-07-14 Thread Simon Riggs
On Wed, 2004-07-14 at 21:02, Bruce Momjian wrote:
> Marc G. Fournier wrote:
> > The big problem that I see with how this feature freeze/beta/release has 
> > gone down is that we have *alot* of big items that are/were being worked 
> > on (ARC, BGWriter, auto_vacuum, PITR, Nested Xacts), and only so much man 
> > power at the reviewer stage ... we *should* have frozen it all on June 
> > 1st, got the ready features out the door and released, and then 
> > concentrated on getting the "almost ready, but not quite" features into 
> > the next release as quickly as possible ...
> > 
> > Hindsight is 20-20 ... maybe next time we'll learn from it?
> 
> True, 20-20.  One thing is that you can't schedule assuming full
> knowledge of the future, of course.  For example, on May 1, I thought by
> June 1 PITR and NT would be done, and that Win32 and tablespaces
> wouldn't.   What actually happened is that tablespaces made the deadline
> (with June adjustments), NT is in but needs more work, and Win32 is
> better off now than I thought it would be.  And we don't know if PITR is
> ready or not because we haven't studied it enough.
> 

I see a couple of issues:
- new releases of PostgreSQL require a full initdb. There is little
upgrade support as there is with other products. (Not complaining..)
- commercial products release around every 18 months...customers do NOT
want this to be any quicker...more disruptive upgrades, plus marketing
takes time to organise. I have customers that upgrade regularly every 3+
years (!), and take longer term strategy into consideration.
- commercial issues often cause products to be delayedMS is said to
be late delivering Yukonmarketing-led companies often delay waiting
for the right feature setsaled-led companies never do. Delivering
early as Oracle often does mean that the received wisdom is never
upgrade to a x.0 version, always wait for the x.1 minor version where
all the features actually work as advertised.

Deadlines are great, but advertise them ahead of time, then stick to
them. Every other project I see has a big page saying "how to
contribute" and then details of deadlines etc..

We can have a major feature deadline, then a minor feature deadline. I
particularly liked the idea of 1 July as the major feature deadline,
then 14 July as major-feature-tweak deadline. That funnels things better
to cater for the manpower available.

Best Regards, Simon Riggs


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


Re: Release planning (was: Re: [HACKERS] Status report)

2004-07-14 Thread Simon Riggs
On Tue, 2004-07-13 at 23:03, Marc G. Fournier wrote:

> As a community, I don't think we should be 'supporting' anything older 
> then the last STABLE ...
> 

I agree, but that message isn't clearly stated anywhere. The lists are
full of people running very old releases - and everybody keeps having to
ask "what release are you running" and the answer is always shocking.

Can we set up different lists for the various major versions, so people
can see where to go for different types of support?

Rather than General, have General7.4 and General7.3...making everybody's
first question "what is my release? where should I post this question?"
- 95% of people are newbies, whatever the list/project.

That will also make it clear that on-list support is available for older
releases, but they really should be thinking about upgrade. And
different people can choose whether to hang out at the bleeding edge, or
legacy support.

We could also have different hints and tips by list then. One of the
gems (hint 9, I think) is changing in r7.5, so we must either mis-advise
people who use the new release or fail to advise those using an older
release. The down-rev lists could contain advice about upgrading...

Best Regards, Simon Riggs


---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster


Re: Release planning (was: Re: [HACKERS] Status report)

2004-07-14 Thread Bruce Momjian
Marc G. Fournier wrote:
> The big problem that I see with how this feature freeze/beta/release has 
> gone down is that we have *alot* of big items that are/were being worked 
> on (ARC, BGWriter, auto_vacuum, PITR, Nested Xacts), and only so much man 
> power at the reviewer stage ... we *should* have frozen it all on June 
> 1st, got the ready features out the door and released, and then 
> concentrated on getting the "almost ready, but not quite" features into 
> the next release as quickly as possible ...
> 
> Hindsight is 20-20 ... maybe next time we'll learn from it?

True, 20-20.  One thing is that you can't schedule assuming full
knowledge of the future, of course.  For example, on May 1, I thought by
June 1 PITR and NT would be done, and that Win32 and tablespaces
wouldn't.   What actually happened is that tablespaces made the deadline
(with June adjustments), NT is in but needs more work, and Win32 is
better off now than I thought it would be.  And we don't know if PITR is
ready or not because we haven't studied it enough.

One problem with pushing 7.5 out June 1 and then coming back to these
features is losing momentum.  Sure, ideally we could hit them all in
7.6, but realistically it is a lot harder to get things moving once you
stop.  Look at the PITR patch we had for 7.3 (?) and are only now
getting it into the tree.

I am not saying we did things right or wrong --- just pointing out the
momentum issue.

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 359-1001
  +  If your life is a hard drive, |  13 Roberts Road
  +  Christ can be your backup.|  Newtown Square, Pennsylvania 19073

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


Re: Release planning (was: Re: [HACKERS] Status report)

2004-07-14 Thread Jan Wieck
On 7/14/2004 1:13 PM, Bruce Momjian wrote:
What are you talking about?  Are you suggesting Fujitsu's features are
getting more attendtion than ARC for some political reason?  You think
nested transactions and tablespaces are just press release features? 
All those features are being developed by the community under community
direction and based on community feedback/needs.  How is that different
from Afilias funding ARC?

I was getting a little upset about the suggestion of being "hard-nosed" 
against the people who want ARC now. Yes, I wanted those features out 
earlier and this was not because of Afilias or dictated by Afilias, but 
because there is demand for it from the community.

Jan
--
#==#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.  #
#== [EMAIL PROTECTED] #
---(end of broadcast)---
TIP 6: Have you searched our list archives?
  http://archives.postgresql.org


Re: Release planning (was: Re: [HACKERS] Status report)

2004-07-14 Thread Marc G. Fournier
On Wed, 14 Jul 2004, Bruce Momjian wrote:
What are you talking about?  Are you suggesting Fujitsu's features are
getting more attendtion than ARC for some political reason?  You think
nested transactions and tablespaces are just press release features?
All those features are being developed by the community under community
direction and based on community feedback/needs.  How is that different
from Afilias funding ARC?
No, the beef that Jan has, and that I also have, is that we put off the 
release that was schedualed for June 1st in order to get Nested Xacts into 
the tree ... hindsight being 20-20, we shouldn't have done that, but 
should have delayed Nested Xacts for 7.6 ... there *were* enough features 
in the tree to warrant a release, and features that ppl needed / wanted.

Do I believe there were political motivations for postponing the feature 
freeze?  Personally ... no.  And I don't believe that the Press Release 
(and a nice one at that) can really be counted as motivation for the 
postponement, since the PR was done *after* we decided to push things back 
a month ...

I do believe that there was some pressure from Futjitsu involved, in 
postponing it, since they'd rather see it in sooner then later ... *but* 
... I don't really believe that the pressure is any different then there 
quite possibly could have been had, say, Jan been "almost finished" ARC 
and Affilias wanted to see that sooner rather then later ... we all want 
to see the feature we've either been working on, or funded, released as 
soon as possible ...

The big problem that I see with how this feature freeze/beta/release has 
gone down is that we have *alot* of big items that are/were being worked 
on (ARC, BGWriter, auto_vacuum, PITR, Nested Xacts), and only so much man 
power at the reviewer stage ... we *should* have frozen it all on June 
1st, got the ready features out the door and released, and then 
concentrated on getting the "almost ready, but not quite" features into 
the next release as quickly as possible ...

Hindsight is 20-20 ... maybe next time we'll learn from it?

Marc G. Fournier   Hub.Org Networking Services (http://www.hub.org)
Email: [EMAIL PROTECTED]   Yahoo!: yscrappy  ICQ: 7615664
---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?
  http://www.postgresql.org/docs/faqs/FAQ.html


Re: Release planning (was: Re: [HACKERS] Status report)

2004-07-14 Thread Bruce Momjian
Jan Wieck wrote:
> On 7/13/2004 10:23 PM, Christopher Kings-Lynne wrote:
> 
> >> I was thinking of something much simpler where Jan would create an ARC
> >> patch against 7.4.X and have it either in /contrib for 7.4.X or on our
> >> ftp servers, or on a web site.  I could create a mechanism so SELECT
> >> version() would display Jan's add-on.
> > 
> > I think you guys just need to learn to become comfortable with being 
> > hard-nosed about this.  Just Do Not Care about people who "want" ARC 
> > right this second.  Do you see them calling up Oracle and saying please 
> > backport the new stuff from 11i-devel so we can use it now please?
> 
> Hmmm ... I wonder what you think who those people are who "want" ARC 
> right this second, and who "you guys" are on the other hand.
> 
> To fill you in a little, I am the PostgreSQL CORE team member Jan Wieck, 
> who burned Afilias payroll hours to implement the ARC buffer replacement 
> strategy. The feature has been completed and fully contributed under the 
> BSD license way ahead of any possible release schedule. I have had 
> several requests for backports, but consider the feature too delicate to 
> make such patch available. Don't worry, it's not one of my goals to get 
> this into any release, the reason I am personally touched by this is not 
> because it affects my checking account in any way.
> 
> What touches me here is the fact that the PostgreSQL Open Source Project 
> under the BSD license seems starting to care a lot more about some press 
> releases and silly news splashes, than to care about real features 
> contributed under the terms and conditions of the BSD license by serious 
> members of the Open Source Community. Which part of the storage manager, 
> that Futjitsu uses so that their customers don't need ARC, the 
> background writer or vacuum at all, do you think will be contributed any 
> time soon?
> 
> Don't get me wrong here, I don't have a problem with someone making 
> money out of my 8+ years of contributions to this project. But I do have 
> a problem with those efforts getting in my way of contributing.

What are you talking about?  Are you suggesting Fujitsu's features are
getting more attendtion than ARC for some political reason?  You think
nested transactions and tablespaces are just press release features? 
All those features are being developed by the community under community
direction and based on community feedback/needs.  How is that different
from Afilias funding ARC?

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 359-1001
  +  If your life is a hard drive, |  13 Roberts Road
  +  Christ can be your backup.|  Newtown Square, Pennsylvania 19073

---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])


Re: Release planning (was: Re: [HACKERS] Status report)

2004-07-14 Thread Jan Wieck
On 7/13/2004 10:23 PM, Christopher Kings-Lynne wrote:
I was thinking of something much simpler where Jan would create an ARC
patch against 7.4.X and have it either in /contrib for 7.4.X or on our
ftp servers, or on a web site.  I could create a mechanism so SELECT
version() would display Jan's add-on.
I think you guys just need to learn to become comfortable with being 
hard-nosed about this.  Just Do Not Care about people who "want" ARC 
right this second.  Do you see them calling up Oracle and saying please 
backport the new stuff from 11i-devel so we can use it now please?
Hmmm ... I wonder what you think who those people are who "want" ARC 
right this second, and who "you guys" are on the other hand.

To fill you in a little, I am the PostgreSQL CORE team member Jan Wieck, 
who burned Afilias payroll hours to implement the ARC buffer replacement 
strategy. The feature has been completed and fully contributed under the 
BSD license way ahead of any possible release schedule. I have had 
several requests for backports, but consider the feature too delicate to 
make such patch available. Don't worry, it's not one of my goals to get 
this into any release, the reason I am personally touched by this is not 
because it affects my checking account in any way.

What touches me here is the fact that the PostgreSQL Open Source Project 
under the BSD license seems starting to care a lot more about some press 
releases and silly news splashes, than to care about real features 
contributed under the terms and conditions of the BSD license by serious 
members of the Open Source Community. Which part of the storage manager, 
that Futjitsu uses so that their customers don't need ARC, the 
background writer or vacuum at all, do you think will be contributed any 
time soon?

Don't get me wrong here, I don't have a problem with someone making 
money out of my 8+ years of contributions to this project. But I do have 
a problem with those efforts getting in my way of contributing.

Come again about hard-nosing, please.
Jan
--
#==#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.  #
#== [EMAIL PROTECTED] #
---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]


Re: Release planning (was: Re: [HACKERS] Status report)

2004-07-13 Thread Justin Clift
Marc G. Fournier wrote:

As Jan points out, its the 'small features that are done' that we've 
been griping about having to wait for, not the big ones which we know 
aren't done ...

Hmmm... so we do things slightly differently than previously...
This upcoming version could be PG version 8.0,
We continue with bugfixes on 7.4.x,
That still leaves 7.5.x, 7.6.x (etc if needed), for releasing new 
versions of PG without the "big features".

Kind of like an in-between thing, whilst waiting for the major features 
in the major releases?

That would mean we'd have:
Version 8.0 as our next main release,
Version 9.0 being the version after that with the next "big features" in it.
Version 8.x being version 8 plus smaller features, prior to 9.0
Version 8.x.x being version 8.x plus bug fixes.
Sounds like it could get hairy if we're not careful, but I reckon the PG 
Community is mature enough to make the right calls where needed.

:)
Regards and best wishes,
Justin Clift
---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?
  http://www.postgresql.org/docs/faqs/FAQ.html


Re: Release planning (was: Re: [HACKERS] Status report)

2004-07-13 Thread Christopher Kings-Lynne
I was thinking of something much simpler where Jan would create an ARC
patch against 7.4.X and have it either in /contrib for 7.4.X or on our
ftp servers, or on a web site.  I could create a mechanism so SELECT
version() would display Jan's add-on.
I think you guys just need to learn to become comfortable with being 
hard-nosed about this.  Just Do Not Care about people who "want" ARC 
right this second.  Do you see them calling up Oracle and saying please 
backport the new stuff from 11i-devel so we can use it now please?

You learn after a long while in the software industry that if left to 
themselves the users will make _endless_ demands and they think that 
they NEED everything NOW.  Of course in reality, they don't NEED it NOW 
- they can wait.  And even if they did get it now, then it's buggy and 
then they complain even louder.  You cannot win.  The arguments about 
things "getting more testing" in production is nonsense - we are a major 
database server - you cannot have users doing the testing for us

They have signed on to the PostgreSQL project on "our" terms of 
development - if they want to sponsor someone to backport something for 
their own situation, they can do so.  Otherwise, they perhaps should 
have not been using PostgreSQL for their particular app in the first place!

It's not worth thinking along the lines of "oh if only we could get this 
feature out RIGHT NOW, we'd get more users and more people uprading and 
convertign and better reviews and stuff - but that's a distraction. 
There will ALWAYS be Just One More Feature that we need to be "really 
great".  Just don't worry about it.

Chris
---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
 subscribe-nomail command to [EMAIL PROTECTED] so that your
 message can get through to the mailing list cleanly


Re: Release planning (was: Re: [HACKERS] Status report)

2004-07-13 Thread Christopher Kings-Lynne
God, we still have clients using 7.2 servers, cause they've had no 
reason yet to upgrade to the latest ... "it works, why upgrade?" is 
generally the opinion ...
Because there's shocking failure-to-restart bugs in 7.2...and if you 
upgrade to 7.4 you're forced to get new features as well.

Chris
---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster


Re: Release planning (was: Re: [HACKERS] Status report)

2004-07-13 Thread Rod Taylor
On Tue, 2004-07-13 at 20:49, Marc G. Fournier wrote:
> On Tue, 13 Jul 2004, Tom Lane wrote:
> 
> > We could certainly do something along that line if we had a few people 
> > willing to be "gatekeepers".  We'd have to work harder at making the 
> > release generation process open and documented though.  Right now there 
> > are plenty of steps that only you, Bruce, or Lamar (respectively) know 
> > how to do...
> 
> I think we could do it if we restricted it to *just* one release back ... 
> but I do agree with Peter about ppls motivations for upgrading (bug fixes 
> vs new features) ... we'd have to have a 'two branch stable', one would be 
> only bug fixes, the other would be bug fixes+feature backpatch ... would 
> could get interesting trying to figure out release naming conventions :)

FreeBSD does do this. They tag the bug-fix only branches as being
SECURITY releases, since typically they only contain fixes for security
or reliability related issues.

The 5.2.1 release which followed 5.2.0 was an example of one of the few
releases the Security team has done. They usually just allow users to
use CVSUP to follow the branch.



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


Re: Release planning (was: Re: [HACKERS] Status report)

2004-07-13 Thread Rod Taylor
> However, looking at how the Linux community handles it, I think we can 
> borrow a lot of concepts from them.

I was thinking quite the opposite. The Linux community doesn't exactly
have a great track-record for their stable releases.

The thoughts behind the process might be good, but do we have examples
where it has worked out well? The 2.4 series seems to have been
particularly bad for new major issues in their stable releases.



---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
  subscribe-nomail command to [EMAIL PROTECTED] so that your
  message can get through to the mailing list cleanly


Re: Release planning (was: Re: [HACKERS] Status report)

2004-07-13 Thread Marc G. Fournier
On Tue, 13 Jul 2004, Bruce Momjian wrote:
The nice thing about doing something lke that is those small features
would get a degree of testing happening in a live environment ...
Of course that last sentence is the downside too --- people don't want
to have to retest their setups after a minor release upgrade.
Nobody would be required to upgrade to a new minor release either ... 
nobody is *require* to upgrade to any release, for that matter ...

Hell, when we have a client that comes to us with a problem, we don't 
recommend upgrading unless we find something in the RELEASE NOTES to 
indicate something has been fixed related to their problem ... it isn't a 
automatic "well, upgrade to the latest stable first, and then we can help 
you" ...

God, we still have clients using 7.2 servers, cause they've had no reason 
yet to upgrade to the latest ... "it works, why upgrade?" is generally the 
opinion ...


Marc G. Fournier   Hub.Org Networking Services (http://www.hub.org)
Email: [EMAIL PROTECTED]   Yahoo!: yscrappy  ICQ: 7615664
---(end of broadcast)---
TIP 8: explain analyze is your friend


Re: Release planning (was: Re: [HACKERS] Status report)

2004-07-13 Thread Bruce Momjian
Marc G. Fournier wrote:
> On Tue, 13 Jul 2004, Bruce Momjian wrote:
> 
> >> The nice thing about doing something lke that is those small features
> >> would get a degree of testing happening in a live environment ...
> >
> > Of course that last sentence is the downside too --- people don't want
> > to have to retest their setups after a minor release upgrade.
> 
> Nobody would be required to upgrade to a new minor release either ... 
> nobody is *require* to upgrade to any release, for that matter ...
> 
> Hell, when we have a client that comes to us with a problem, we don't 
> recommend upgrading unless we find something in the RELEASE NOTES to 
> indicate something has been fixed related to their problem ... it isn't a 
> automatic "well, upgrade to the latest stable first, and then we can help 
> you" ...
> 
> God, we still have clients using 7.2 servers, cause they've had no reason 
> yet to upgrade to the latest ... "it works, why upgrade?" is generally the 
> opinion ...

We have always recommended upgrading to the most recent minor release,
at least as a project policy for support.  Also, the upgrade is only
stop/install/restart so it is quite easy to do, and folks like the fact
they don't have to test for new functionality.

One idea would be for us to release 7.5 and 7.5.0.1, and allow 7.5.1 to
have minor new features.  That way, 7.5.0.[1-9] are no new features, and
7.5.[1-9] are minor improvements against 7.5.

Of course this does require more project management, and we already
don't have enough manpower.

I was thinking of something much simpler where Jan would create an ARC
patch against 7.4.X and have it either in /contrib for 7.4.X or on our
ftp servers, or on a web site.  I could create a mechanism so SELECT
version() would display Jan's add-on.

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 359-1001
  +  If your life is a hard drive, |  13 Roberts Road
  +  Christ can be your backup.|  Newtown Square, Pennsylvania 19073

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

   http://archives.postgresql.org


Re: Release planning (was: Re: [HACKERS] Status report)

2004-07-13 Thread Mike Benoit
On Tue, 2004-07-13 at 13:03 -0400, Tom Lane wrote:
> Bruce Momjian <[EMAIL PROTECTED]> writes:
> > Jan Wieck wrote:
> >> I think in the future we have to force all large features, those that 
> >> probably need more than 6 months of development time, to be properly 
> >> #ifdef'd. Then it wouldn't be that big of a deal to release more often.
> 
> > Alvaro started out with ifdef's but it got too confusing and we all
> > agreed to just go with a normal patch.  He just hits too much code. 
> 
> I think the same would be true of almost any really large feature ---
> ifdefs all over the code base are just too much of a mess.
> 
> To be honest I think that "releasing more often" isn't necessarily an
> appropriate goal for the project anymore.  Five or six years ago we were
> doing a major (initdb-forcing) release every three or four months, and
> that was appropriate at the time, but the project has matured and our
> user population has changed.  Look at how many people are still using
> 7.2 or 7.3.  One major release a year may be about right now, because
> you can't get people to adopt new major revs faster than that anyway.
> 
> Of course this all ties into the pain of having to dump/reload large
> databases, and maybe if we had working pg_upgrade the adoption rate
> would be faster, but I'm not at all sure of that.  We're playing in
> a different league now.  Big installations tend to want to do
> significant amounts of compatibility testing before they roll out
> a new database version.
> 
>   regards, tom lane

It sounds like your only taking the point of view of people upgrading
previous installations. What about new installations? I'm sure there are
hundreds, if not thousands of new installations happening every week.
These people are going to grab the latest stable version without a
doubt. 

I think releasing more often would result in features getting tested
much more. Then the "big installations" can see that a major feature has
been in two stable releases (even if the time period was only a year)
and feel much more comfortable in upgrading. Why would they have to
upgrade more often then necessary anyways? Assuming security exploits
are back ported of course.


-- 
Mike Benoit <[EMAIL PROTECTED]>


---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
  subscribe-nomail command to [EMAIL PROTECTED] so that your
  message can get through to the mailing list cleanly


Re: Release planning (was: Re: [HACKERS] Status report)

2004-07-13 Thread Marc G. Fournier
On Tue, 13 Jul 2004, Bruce Momjian wrote:
We have always recommended upgrading to the most recent minor release, 
at least as a project policy for support.  Also, the upgrade is only 
stop/install/restart so it is quite easy to do, and folks like the fact 
they don't have to test for new functionality.
Right, and this made sense when we were dealing with a release every 4 
months or so ... now we're talking about one every year, or two ...


Marc G. Fournier   Hub.Org Networking Services (http://www.hub.org)
Email: [EMAIL PROTECTED]   Yahoo!: yscrappy  ICQ: 7615664
---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]


Re: Release planning (was: Re: [HACKERS] Status report)

2004-07-13 Thread Bruce Momjian
Marc G. Fournier wrote:
> On Tue, 13 Jul 2004, Bruce Momjian wrote:
> 
> > I was thinking of something much simpler where Jan would create an ARC 
> > patch against 7.4.X and have it either in /contrib for 7.4.X or on our 
> > ftp servers, or on a web site.  I could create a mechanism so SELECT 
> > version() would display Jan's add-on.
> 
> I think this would be a bad direction to take ... I can just see us 
> flooded with a bunch of 'the patch didn't apply to my source tree' 
> questions :(
> 
> It might work, I just have my doubts ...

I have my doubts too, of course.  :-)

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 359-1001
  +  If your life is a hard drive, |  13 Roberts Road
  +  Christ can be your backup.|  Newtown Square, Pennsylvania 19073

---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
  subscribe-nomail command to [EMAIL PROTECTED] so that your
  message can get through to the mailing list cleanly


Re: Release planning (was: Re: [HACKERS] Status report)

2004-07-13 Thread Marc G. Fournier
On Tue, 13 Jul 2004, Lamar Owen wrote:
But Tom's assertion is true.  We have enough trouble getting patches 
rolled out; adding parallel branches is just begging for trouble, due to 
our relatively small resource size.  Although, we probably have enough 
developers at this point to make it happen.
Except, we already have parallel branches, else we'd never have made a 
7.4.x release ...

Bruce I would want to be the patchmeister for the stable branch. 
Someone else (with Bruce's oversight, or Tom's, or whoever) could do the 
patchmunging and review for the development tree.  But I want a stable 
hand on patches that go into the stable tree.

The BSD's release something like that, with CURRENT, TESTING, and STABLE,
right? (I'm not a big BSD user...)
We have a CURRENT branch where all the 'innovations' are done (SMP 
re-writes, etc) ... and a STABLE which is a release with stuff patched 
down from CURRENT *if* applicable ... periodically, a RELEASE is made 
along either branch, and, some day, what is currently CURRENT will be 
re-tag'd as -STABLE, and then CURRENT will become a new branch ...

So, for instance, the way we number:
7.4.x would be -STABLE
HEAD would be -CURRENT
once 7.5 is released, it would surplant 7.4 as -STABLE, previous versions 
would only ever see 'security related patches' and work towards 7.6 
would be -CURRENT ...

Now, if we went with a 'long term dev cycle', then we might look at 7.x as 
being -STABLE, while work towards 8.x would be considered -CURRENT ...

As a community, I don't think we should be 'supporting' anything older 
then the last STABLE ...


Marc G. Fournier   Hub.Org Networking Services (http://www.hub.org)
Email: [EMAIL PROTECTED]   Yahoo!: yscrappy  ICQ: 7615664
---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster


Re: Release planning (was: Re: [HACKERS] Status report)

2004-07-13 Thread Marc G. Fournier
On Tue, 13 Jul 2004, Bruce Momjian wrote:
I was thinking of something much simpler where Jan would create an ARC 
patch against 7.4.X and have it either in /contrib for 7.4.X or on our 
ftp servers, or on a web site.  I could create a mechanism so SELECT 
version() would display Jan's add-on.
I think this would be a bad direction to take ... I can just see us 
flooded with a bunch of 'the patch didn't apply to my source tree' 
questions :(

It might work, I just have my doubts ...

Marc G. Fournier   Hub.Org Networking Services (http://www.hub.org)
Email: [EMAIL PROTECTED]   Yahoo!: yscrappy  ICQ: 7615664
---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
 subscribe-nomail command to [EMAIL PROTECTED] so that your
 message can get through to the mailing list cleanly


Re: Release planning (was: Re: [HACKERS] Status report)

2004-07-13 Thread Marc G. Fournier
On Wed, 14 Jul 2004, Peter Eisentraut wrote:
Marc G. Fournier wrote:
Nobody would be required to upgrade to a new minor release either ...
nobody is *require* to upgrade to any release, for that matter ...
Most people don't have the time to investigate release notes, release
policy details, etc.  When there are bug fix updates, you use them.
When there are feature updates, you use them for the next installation.
Anything in between, or more variations added to that, just cause
confusion.  And frankly, for the examples thrown around that use this
kind of policy, I can't see those as being very successful.  I don't
want to use a "stable" branch of a database system that still changes
for random reasons.  And I don't want a "current" branch that takes
years to finalize.  More frequent major releases, to the point that we
can stem it, lead to more people getting more features earlier, which
is good.  Any of the other proposal just make things worse in my mind.
'k, note that I'm not arguing for more (or less) frequent releases ... 
but, do you have any thoughts on how we can effectively continue with the 
'frequent releases' while bringing in the large features like Nested 
Xacts?

We could start looking at 'development branches' for stuff like this, that 
could be merged up when ready for prime time, but would at least be 
available in CVS for those wishing to play with them ... ?


Marc G. Fournier   Hub.Org Networking Services (http://www.hub.org)
Email: [EMAIL PROTECTED]   Yahoo!: yscrappy  ICQ: 7615664
---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
 subscribe-nomail command to [EMAIL PROTECTED] so that your
 message can get through to the mailing list cleanly


Re: Release planning (was: Re: [HACKERS] Status report)

2004-07-13 Thread Marc G. Fournier
On Tue, 13 Jul 2004, Tom Lane wrote:
We could certainly do something along that line if we had a few people 
willing to be "gatekeepers".  We'd have to work harder at making the 
release generation process open and documented though.  Right now there 
are plenty of steps that only you, Bruce, or Lamar (respectively) know 
how to do...
I think we could do it if we restricted it to *just* one release back ... 
but I do agree with Peter about ppls motivations for upgrading (bug fixes 
vs new features) ... we'd have to have a 'two branch stable', one would be 
only bug fixes, the other would be bug fixes+feature backpatch ... would 
could get interesting trying to figure out release naming conventions :)


Marc G. Fournier   Hub.Org Networking Services (http://www.hub.org)
Email: [EMAIL PROTECTED]   Yahoo!: yscrappy  ICQ: 7615664
---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?
  http://www.postgresql.org/docs/faqs/FAQ.html


Re: Release planning (was: Re: [HACKERS] Status report)

2004-07-13 Thread Bruce Momjian
Marc G. Fournier wrote:
> On Tue, 13 Jul 2004, Bruce Momjian wrote:
> 
> > We have always recommended upgrading to the most recent minor release, 
> > at least as a project policy for support.  Also, the upgrade is only 
> > stop/install/restart so it is quite easy to do, and folks like the fact 
> > they don't have to test for new functionality.
> 
> Right, and this made sense when we were dealing with a release every 4 
> months or so ... now we're talking about one every year, or two ...

I meant if they are on 7.4.X they should be on 7.4.3.  I don't suggest
they have to upgrade 7.2.X to 7.4.X.

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 359-1001
  +  If your life is a hard drive, |  13 Roberts Road
  +  Christ can be your backup.|  Newtown Square, Pennsylvania 19073

---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])


Re: Release planning (was: Re: [HACKERS] Status report)

2004-07-13 Thread Tom Lane
"Marc G. Fournier" <[EMAIL PROTECTED]> writes:
> On Tue, 13 Jul 2004, Lamar Owen wrote:
>> But Tom's assertion is true.  We have enough trouble getting patches 
>> rolled out; adding parallel branches is just begging for trouble, due to 
>> our relatively small resource size.  Although, we probably have enough 
>> developers at this point to make it happen.

> Except, we already have parallel branches, else we'd never have made a 
> 7.4.x release ...

The point though is that we expend only very minimal effort on
maintaining the stable branches.  We only back-patch bug fixes, and 99%
of the time the patch is nearly verbatim the same change as we developed
to fix the same problem in HEAD.  If the code involved has changed
enough that a significantly different fix would be required, most of the
time we simply don't fix the stable branch.  And we spend very nearly
zero effort on QA for the stable branch --- there's certainly no
significant push to get people to beta-test minor releases.

If we did anything much in the way of back-porting features then the
level of investment in this would have to rise greatly.  In fact, if the
proposal is to let people pick and choose which back-ported things they
install, then we are not talking about just one stable version but 2^N
stable versions for N options.  We couldn't possibly test every
combination.

>> The BSD's release something like that, with CURRENT, TESTING, and STABLE,
>> right? (I'm not a big BSD user...)

Yeah, but they don't support mix-and-match feature sets.  A back release
has only one current version.

We could certainly do something along that line if we had a few people
willing to be "gatekeepers".  We'd have to work harder at making the
release generation process open and documented though.  Right now there
are plenty of steps that only you, Bruce, or Lamar (respectively) know
how to do...

regards, tom lane

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

   http://www.postgresql.org/docs/faqs/FAQ.html


Re: Release planning (was: Re: [HACKERS] Status report)

2004-07-13 Thread Peter Eisentraut
Marc G. Fournier wrote:
> Nobody would be required to upgrade to a new minor release either ...
> nobody is *require* to upgrade to any release, for that matter ...

Most people don't have the time to investigate release notes, release 
policy details, etc.  When there are bug fix updates, you use them.  
When there are feature updates, you use them for the next installation.  
Anything in between, or more variations added to that, just cause 
confusion.  And frankly, for the examples thrown around that use this 
kind of policy, I can't see those as being very successful.  I don't 
want to use a "stable" branch of a database system that still changes 
for random reasons.  And I don't want a "current" branch that takes 
years to finalize.  More frequent major releases, to the point that we 
can stem it, lead to more people getting more features earlier, which 
is good.  Any of the other proposal just make things worse in my mind.

-- 
Peter Eisentraut
http://developer.postgresql.org/~petere/


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

   http://www.postgresql.org/docs/faqs/FAQ.html


Re: Release planning (was: Re: [HACKERS] Status report)

2004-07-13 Thread Jonathan Gardner
On Tuesday 13 July 2004 08:52 am, Jan Wieck wrote:
>
> I think in the future we have to force all large features, those that
> probably need more than 6 months of development time, to be properly
> #ifdef'd. Then it wouldn't be that big of a deal to release more often.
>
>

Take my opinion with a grain of salt, as I'm young and don't have much 
experience with large, super-stable C projects.

However, looking at how the Linux community handles it, I think we can 
borrow a lot of concepts from them.

Let's seperate out into two different communities: Stable and Dev.

The stable folks only want patches when necessary. They don't want new 
features - they don't use them. They don't want anything but security or 
stability patches. They don't want to be forced to upgrade.

New major versions are moved into the stable community, but they don't 
replace old versions.  No one ever says "upgrade or else!" Each major 
version is kept by interested parties and patched as needed. They never 
die, but are abandoned.

The dev community wants to try out all kinds of things. They aren't running 
production code, so they can risk losing data. They don't have to be so 
sensitive about backwards compatibility and reliability and security.

In the dev community, there is the main branch with all the accepted 
features. When people feel it is time for a new major version, they spend 
all their effort stabilizing that main branch. When it is finally stable, 
they create a new major version and hand it off to the stable community.

People keep their own versions of postgresql in the dev community. These 
compete with each other. For instance, if Tom and others don't feel like a 
feature should go into the main dev branch, that doesn't mean that Bruce 
won't put it in his own version and encourage people to develop against 
that. When Bruce can prove that it is a useful feature and it works and is 
stable enough, he will work on getting it in the main dev branch.

I know this isn't the way things have been done. I know that one of the 
arguments against proposals like this is that it seperates out our pool of 
developers. Yes, it will do that. But it will also open up development to 
more people and more experimentation. Maybe in the end, we will have a 
stable and dev community that is larger than the entire community we have 
now.

-- 
Jonathan Gardner
[EMAIL PROTECTED]

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]


Re: Release planning (was: Re: [HACKERS] Status report)

2004-07-13 Thread Lamar Owen
On Tuesday 13 July 2004 17:12, Marc G. Fournier wrote:
> ... there is alot of stuff that doesn't require a reload of the database
> (or initdb) that could very easily be backpatched ...

> As Jan points out, its the 'small features that are done' that we've been
> griping about having to wait for, not the big ones which we know aren't
> done ...

Split the feature out into either a patch or a module and put it in contrib 
until the next major version.  Let contrib hold the smaller, 
non-initdb-forcing patches and such until the next major version rolls them 
into the mainline.  Or even a patches tree parallel to contrib.  Either way, 
the patch or module or whatever wouldn't be in the mainline unless the user 
needed it.

Or maybe we need to rethink what a major version is.  But even minor things 
can force an initdb, although we're better than we have been about this.

But Tom's assertion is true.  We have enough trouble getting patches rolled 
out; adding parallel branches is just begging for trouble, due to our 
relatively small resource size.  Although, we probably have enough developers 
at this point to make it happen.

Bruce I would want to be the patchmeister for the stable branch.  Someone else 
(with Bruce's oversight, or Tom's, or whoever) could do the patchmunging and 
review for the development tree.  But I want a stable hand on patches that go 
into the stable tree.

The BSD's release something like that, with CURRENT, TESTING, and STABLE, 
right? (I'm not a big BSD user...)  The Linux kernel has parallel 
development, and a gatekeeper for each stable release (2.0.x, 2.2.x, 2.4.x, 
and now 2.6.x).  A 2.0.x kernel release happened not too long ago, in fact.  
We probably could have enough volunteers to do something like that.  
Gatekeeping a stable release would not be as complex as developing the new 
release, but, again, I would want an experienced hand on the last stable 
release where the temptation of backporting 'features' is great.  I think a 
gatekeeper for 7.2.x, for example, would have very little to do except once 
in a great while if and when a serious bug is found.  At that point, that 
gatekeeper can make a release (the current process is too tied up in people, 
IMO, and that includes the RPM mechanism (which I have every right to 
criticize!)).
-- 
Lamar Owen
Director of Information Technology
Pisgah Astronomical Research Institute
1 PARI Drive
Rosman, NC  28772
(828)862-5554
www.pari.edu

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


Re: Release planning (was: Re: [HACKERS] Status report)

2004-07-13 Thread Bruce Momjian
Marc G. Fournier wrote:
> 
> Note that I'm all for a long (2 year? or even 'indefinite') development 
> cycle for a major release if we continue on with what has been happening 
> more often lately, where stuff is back patched to the last stable release 
> ... there is alot of stuff that doesn't require a reload of the database 
> (or initdb) that could very easily be backpatched ...
> 
> As Jan points out, its the 'small features that are done' that we've been 
> griping about having to wait for, not the big ones which we know aren't 
> done ...
> 
> The nice thing about doing something lke that is those small features 
> would get a degree of testing happening in a live environment ...

Of course that last sentence is the downside too --- people don't want
to have to retest their setups after a minor release upgrade.

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 359-1001
  +  If your life is a hard drive, |  13 Roberts Road
  +  Christ can be your backup.|  Newtown Square, Pennsylvania 19073

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


Re: Release planning (was: Re: [HACKERS] Status report)

2004-07-13 Thread Marc G. Fournier
Note that I'm all for a long (2 year? or even 'indefinite') development 
cycle for a major release if we continue on with what has been happening 
more often lately, where stuff is back patched to the last stable release 
... there is alot of stuff that doesn't require a reload of the database 
(or initdb) that could very easily be backpatched ...

As Jan points out, its the 'small features that are done' that we've been 
griping about having to wait for, not the big ones which we know aren't 
done ...

The nice thing about doing something lke that is those small features 
would get a degree of testing happening in a live environment ...

On Tue, 13 Jul 2004, Tom Lane wrote:
Bruce Momjian <[EMAIL PROTECTED]> writes:
Jan Wieck wrote:
I think in the future we have to force all large features, those that
probably need more than 6 months of development time, to be properly
#ifdef'd. Then it wouldn't be that big of a deal to release more often.

Alvaro started out with ifdef's but it got too confusing and we all
agreed to just go with a normal patch.  He just hits too much code.
I think the same would be true of almost any really large feature ---
ifdefs all over the code base are just too much of a mess.
To be honest I think that "releasing more often" isn't necessarily an
appropriate goal for the project anymore.  Five or six years ago we were
doing a major (initdb-forcing) release every three or four months, and
that was appropriate at the time, but the project has matured and our
user population has changed.  Look at how many people are still using
7.2 or 7.3.  One major release a year may be about right now, because
you can't get people to adopt new major revs faster than that anyway.
Of course this all ties into the pain of having to dump/reload large
databases, and maybe if we had working pg_upgrade the adoption rate
would be faster, but I'm not at all sure of that.  We're playing in
a different league now.  Big installations tend to want to do
significant amounts of compatibility testing before they roll out
a new database version.
regards, tom lane

Marc G. Fournier   Hub.Org Networking Services (http://www.hub.org)
Email: [EMAIL PROTECTED]   Yahoo!: yscrappy  ICQ: 7615664
---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster


Re: Release planning (was: Re: [HACKERS] Status report)

2004-07-13 Thread Bruce Momjian
Tom Lane wrote:
> Bruce Momjian <[EMAIL PROTECTED]> writes:
> > Tom Lane wrote:
> >> Of course this all ties into the pain of having to dump/reload large
> >> databases, and maybe if we had working pg_upgrade the adoption rate
> >> would be faster, but I'm not at all sure of that.  We're playing in
> >> a different league now.  Big installations tend to want to do
> >> significant amounts of compatibility testing before they roll out
> >> a new database version.
> 
> > I think the only downside to a longer release cycle is that features
> > developed would take longer to get out to the public.  Perhaps we need
> > to start thinking of add-ons to existing releases such as an ARC or
> > vacuum-delay add-on to the 7.4.X release.
> 
> Mmm ... for people whose pain-point has to do with compatibility
> testing, adding features in minor releases would turn them into major
> releases, because they'd still have to wonder whether the new version
> would break anything.  I think our policy of "only bug fixes in stable
> releases" is important to maintain, because it makes it easy for people
> to upgrade within a stable release series.
> 
> Also, we do not really have the manpower to test multiple concurrently
> developed versions ...

When I say add-ons, I am thinking of source code patches that are
avaiable as options to the standard subreleases.  I agree we don't want
to change our current subrelease criteria.

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 359-1001
  +  If your life is a hard drive, |  13 Roberts Road
  +  Christ can be your backup.|  Newtown Square, Pennsylvania 19073

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


Re: Release planning (was: Re: [HACKERS] Status report)

2004-07-13 Thread Tom Lane
Bruce Momjian <[EMAIL PROTECTED]> writes:
> Tom Lane wrote:
>> Of course this all ties into the pain of having to dump/reload large
>> databases, and maybe if we had working pg_upgrade the adoption rate
>> would be faster, but I'm not at all sure of that.  We're playing in
>> a different league now.  Big installations tend to want to do
>> significant amounts of compatibility testing before they roll out
>> a new database version.

> I think the only downside to a longer release cycle is that features
> developed would take longer to get out to the public.  Perhaps we need
> to start thinking of add-ons to existing releases such as an ARC or
> vacuum-delay add-on to the 7.4.X release.

Mmm ... for people whose pain-point has to do with compatibility
testing, adding features in minor releases would turn them into major
releases, because they'd still have to wonder whether the new version
would break anything.  I think our policy of "only bug fixes in stable
releases" is important to maintain, because it makes it easy for people
to upgrade within a stable release series.

Also, we do not really have the manpower to test multiple concurrently
developed versions ...

regards, tom lane

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

   http://www.postgresql.org/docs/faqs/FAQ.html


Re: Release planning (was: Re: [HACKERS] Status report)

2004-07-13 Thread Bruce Momjian
Tom Lane wrote:
> Bruce Momjian <[EMAIL PROTECTED]> writes:
> > Jan Wieck wrote:
> >> I think in the future we have to force all large features, those that 
> >> probably need more than 6 months of development time, to be properly 
> >> #ifdef'd. Then it wouldn't be that big of a deal to release more often.
> 
> > Alvaro started out with ifdef's but it got too confusing and we all
> > agreed to just go with a normal patch.  He just hits too much code. 
> 
> I think the same would be true of almost any really large feature ---
> ifdefs all over the code base are just too much of a mess.
> 
> To be honest I think that "releasing more often" isn't necessarily an
> appropriate goal for the project anymore.  Five or six years ago we were
> doing a major (initdb-forcing) release every three or four months, and
> that was appropriate at the time, but the project has matured and our
> user population has changed.  Look at how many people are still using
> 7.2 or 7.3.  One major release a year may be about right now, because
> you can't get people to adopt new major revs faster than that anyway.
> 
> Of course this all ties into the pain of having to dump/reload large
> databases, and maybe if we had working pg_upgrade the adoption rate
> would be faster, but I'm not at all sure of that.  We're playing in
> a different league now.  Big installations tend to want to do
> significant amounts of compatibility testing before they roll out
> a new database version.

Totally agree.  

I think the only downside to a longer release cycle is that features
developed would take longer to get out to the public.  Perhaps we need
to start thinking of add-ons to existing releases such as an ARC or
vacuum-delay add-on to the 7.4.X release.  The patch would potentially
have to be recreated for every minor release.  I would also like to see
some psql message that shows the add-ons added to an official release.

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 359-1001
  +  If your life is a hard drive, |  13 Roberts Road
  +  Christ can be your backup.|  Newtown Square, Pennsylvania 19073

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

   http://archives.postgresql.org


Re: Release planning (was: Re: [HACKERS] Status report)

2004-07-13 Thread Tom Lane
Bruce Momjian <[EMAIL PROTECTED]> writes:
> Jan Wieck wrote:
>> I think in the future we have to force all large features, those that 
>> probably need more than 6 months of development time, to be properly 
>> #ifdef'd. Then it wouldn't be that big of a deal to release more often.

> Alvaro started out with ifdef's but it got too confusing and we all
> agreed to just go with a normal patch.  He just hits too much code. 

I think the same would be true of almost any really large feature ---
ifdefs all over the code base are just too much of a mess.

To be honest I think that "releasing more often" isn't necessarily an
appropriate goal for the project anymore.  Five or six years ago we were
doing a major (initdb-forcing) release every three or four months, and
that was appropriate at the time, but the project has matured and our
user population has changed.  Look at how many people are still using
7.2 or 7.3.  One major release a year may be about right now, because
you can't get people to adopt new major revs faster than that anyway.

Of course this all ties into the pain of having to dump/reload large
databases, and maybe if we had working pg_upgrade the adoption rate
would be faster, but I'm not at all sure of that.  We're playing in
a different league now.  Big installations tend to want to do
significant amounts of compatibility testing before they roll out
a new database version.

regards, tom lane

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

   http://www.postgresql.org/docs/faqs/FAQ.html


Release planning (was: Re: [HACKERS] Status report)

2004-07-13 Thread Jan Wieck
On 7/10/2004 11:02 PM, Bruce Momjian wrote:
If you get full control of PostgreSQL, you can dictate what will happen.
Until then, I will follow the community consensus, which may or may not
match your opinion.
Marc isn't the only one who didn't like waiting for more features going 
into 7.5 two months ago. I agree that it is too late now to push things 
just out. But the mistake made wasn't ours.

What this repeated discussion about release plans and schedules (and we 
have it every release) indicates to me is that we might miss something. 
As you pointed out elsewhere, a 9-12 month development cycle just isn't 
enough to get those big features done. But I think that stretching the 
release cycle to two years and holding back all the smaller features as 
well isn't a good idea either.

I think in the future we have to force all large features, those that 
probably need more than 6 months of development time, to be properly 
#ifdef'd. Then it wouldn't be that big of a deal to release more often.

Jan

---
Marc G. Fournier wrote:
On Sat, 10 Jul 2004, Bruce Momjian wrote:
>
> My point is that it isn't the patch submitters we are waiting on
> anymore.  It is the backlog of patches that need review/adjustment.
"Of course, many of the patches I kept need some adjustment to get applied 
..." ... to me, that indicates that even after review, they will have to 
go back to the submitter to be adjusted, and sent back, and reviewed, and 
...

Get in what you feel comfortable adding over the next week, the rest can 
wait until 7.6 ...


Marc G. Fournier   Hub.Org Networking Services (http://www.hub.org)
Email: [EMAIL PROTECTED]   Yahoo!: yscrappy  ICQ: 7615664


--
#==#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.  #
#== [EMAIL PROTECTED] #
---(end of broadcast)---
TIP 7: don't forget to increase your free space map settings


Re: Release planning (was: Re: [HACKERS] Status report)

2004-07-13 Thread Bruce Momjian
Jan Wieck wrote:
> On 7/10/2004 11:02 PM, Bruce Momjian wrote:
> 
> > If you get full control of PostgreSQL, you can dictate what will happen.
> > Until then, I will follow the community consensus, which may or may not
> > match your opinion.
> 
> Marc isn't the only one who didn't like waiting for more features going 
> into 7.5 two months ago. I agree that it is too late now to push things 
> just out. But the mistake made wasn't ours.
> 
> What this repeated discussion about release plans and schedules (and we 
> have it every release) indicates to me is that we might miss something. 
> As you pointed out elsewhere, a 9-12 month development cycle just isn't 
> enough to get those big features done. But I think that stretching the 
> release cycle to two years and holding back all the smaller features as 
> well isn't a good idea either.
> 
> I think in the future we have to force all large features, those that 
> probably need more than 6 months of development time, to be properly 
> #ifdef'd. Then it wouldn't be that big of a deal to release more often.

Alvaro started out with ifdef's but it got too confusing and we all
agreed to just go with a normal patch.  He just hits too much code. 
PITR could be done that way though.

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 359-1001
  +  If your life is a hard drive, |  13 Roberts Road
  +  Christ can be your backup.|  Newtown Square, Pennsylvania 19073

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

   http://archives.postgresql.org


Re: [HACKERS] Status report

2004-07-12 Thread Andreas Pflug
Justin Clift wrote:
Bruce Momjian wrote:
If you get full control of PostgreSQL, you can dictate what will happen.
Until then, I will follow the community consensus, which may or may not
match your opinion.

Um, let's take the time to get the features in, otherwise we'll be 
waiting another year (roughly) to get PITR and others out to end users.
We can't affort not having PITR or NT in 7.5; we announced it already 
everywhere. But it's not a real problem if we need some more time to 
release, we always tell "we don't release according to a release plan, 
but if things are mature".

Regards,
Andreas
---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
   (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])


Re: [HACKERS] Status report

2004-07-11 Thread Justin Clift
Bruce Momjian wrote:
If you get full control of PostgreSQL, you can dictate what will happen.
Until then, I will follow the community consensus, which may or may not
match your opinion.
Um, let's take the time to get the features in, otherwise we'll be 
waiting another year (roughly) to get PITR and others out to end users.

:)
Regards and best wishes,
Justin Clift
---(end of broadcast)---
TIP 6: Have you searched our list archives?
  http://archives.postgresql.org


Re: [HACKERS] Status report

2004-07-10 Thread Bruce Momjian

If you get full control of PostgreSQL, you can dictate what will happen.
Until then, I will follow the community consensus, which may or may not
match your opinion.

---

Marc G. Fournier wrote:
> On Sat, 10 Jul 2004, Bruce Momjian wrote:
> 
> >
> > My point is that it isn't the patch submitters we are waiting on
> > anymore.  It is the backlog of patches that need review/adjustment.
> 
> "Of course, many of the patches I kept need some adjustment to get applied 
> ..." ... to me, that indicates that even after review, they will have to 
> go back to the submitter to be adjusted, and sent back, and reviewed, and 
> ...
> 
> Get in what you feel comfortable adding over the next week, the rest can 
> wait until 7.6 ...
> 
> 
> Marc G. Fournier   Hub.Org Networking Services (http://www.hub.org)
> Email: [EMAIL PROTECTED]   Yahoo!: yscrappy  ICQ: 7615664
> 

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 359-1001
  +  If your life is a hard drive, |  13 Roberts Road
  +  Christ can be your backup.|  Newtown Square, Pennsylvania 19073

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


Re: [HACKERS] Status report

2004-07-10 Thread Marc G. Fournier
On Sat, 10 Jul 2004, Bruce Momjian wrote:
My point is that it isn't the patch submitters we are waiting on
anymore.  It is the backlog of patches that need review/adjustment.
"Of course, many of the patches I kept need some adjustment to get applied 
..." ... to me, that indicates that even after review, they will have to 
go back to the submitter to be adjusted, and sent back, and reviewed, and 
...

Get in what you feel comfortable adding over the next week, the rest can 
wait until 7.6 ...


Marc G. Fournier   Hub.Org Networking Services (http://www.hub.org)
Email: [EMAIL PROTECTED]   Yahoo!: yscrappy  ICQ: 7615664
---(end of broadcast)---
TIP 6: Have you searched our list archives?
  http://archives.postgresql.org


Re: [HACKERS] Status report

2004-07-10 Thread Bruce Momjian

My point is that it isn't the patch submitters we are waiting on
anymore.  It is the backlog of patches that need review/adjustment.

---

Marc G. Fournier wrote:
> On Sat, 10 Jul 2004, Bruce Momjian wrote:
> 
> > I am still going through my mailbox, trying to address all the open
> > patches so we can move toward beta.  Of course, many of the patches I
> > kept need some adjustment to get applied (e.g. configuration file
> > location) so it is slow going.
> >
> > However, we still have PITR unapplied, autovacuum unapplied, and nested
> > transactions don't have savepoint support, so we are still a while away
> > from beta.  I think we should start thinking of beta as August 1 rather
> > than mid-July.
> 
> And so we fall into the hole we dig for ourselves with each release, where 
> the beta period takes almost as long as the development period itself ... 
> originally, this was all supposed to be done for June 1st, but we pushed 
> it back to July 1st since ppl only needed "another month" ... then, July 
> 1st, we did the feature freeze, but because so much was left to be 
> applied, we decided to leave bundling first beta until mid-July ...
> 
> If six extra weeks hasn't been enough, I have little faith that adding 
> 'yet another 2 weeks' is going to be enough either ... leave them for 7.6 
> then ...
> 
> 
> Marc G. Fournier   Hub.Org Networking Services (http://www.hub.org)
> Email: [EMAIL PROTECTED]   Yahoo!: yscrappy  ICQ: 7615664
> 

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 359-1001
  +  If your life is a hard drive, |  13 Roberts Road
  +  Christ can be your backup.|  Newtown Square, Pennsylvania 19073

---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])


Re: [HACKERS] Status report

2004-07-10 Thread Marc G. Fournier
On Sat, 10 Jul 2004, Bruce Momjian wrote:
I am still going through my mailbox, trying to address all the open
patches so we can move toward beta.  Of course, many of the patches I
kept need some adjustment to get applied (e.g. configuration file
location) so it is slow going.
However, we still have PITR unapplied, autovacuum unapplied, and nested
transactions don't have savepoint support, so we are still a while away
from beta.  I think we should start thinking of beta as August 1 rather
than mid-July.
And so we fall into the hole we dig for ourselves with each release, where 
the beta period takes almost as long as the development period itself ... 
originally, this was all supposed to be done for June 1st, but we pushed 
it back to July 1st since ppl only needed "another month" ... then, July 
1st, we did the feature freeze, but because so much was left to be 
applied, we decided to leave bundling first beta until mid-July ...

If six extra weeks hasn't been enough, I have little faith that adding 
'yet another 2 weeks' is going to be enough either ... leave them for 7.6 
then ...


Marc G. Fournier   Hub.Org Networking Services (http://www.hub.org)
Email: [EMAIL PROTECTED]   Yahoo!: yscrappy  ICQ: 7615664
---(end of broadcast)---
TIP 6: Have you searched our list archives?
  http://archives.postgresql.org


Re: [HACKERS] Status report

2004-07-10 Thread Christopher Kings-Lynne
I am still going through my mailbox, trying to address all the open
patches so we can move toward beta.  Of course, many of the patches I
kept need some adjustment to get applied (e.g. configuration file
location) so it is slow going.
However, we still have PITR unapplied, autovacuum unapplied, and nested
transactions don't have savepoint support, so we are still a while away
from beta.  I think we should start thinking of beta as August 1 rather
than mid-July.
Plus a bunch of other minor patches :)
Chris
---(end of broadcast)---
TIP 7: don't forget to increase your free space map settings


[HACKERS] Status report

2004-07-10 Thread Bruce Momjian
I am still going through my mailbox, trying to address all the open
patches so we can move toward beta.  Of course, many of the patches I
kept need some adjustment to get applied (e.g. configuration file
location) so it is slow going.

However, we still have PITR unapplied, autovacuum unapplied, and nested
transactions don't have savepoint support, so we are still a while away
from beta.  I think we should start thinking of beta as August 1 rather
than mid-July.

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 359-1001
  +  If your life is a hard drive, |  13 Roberts Road
  +  Christ can be your backup.|  Newtown Square, Pennsylvania 19073

---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
  subscribe-nomail command to [EMAIL PROTECTED] so that your
  message can get through to the mailing list cleanly


Re: [HACKERS] Status report: regex replacement

2003-02-11 Thread Peter Eisentraut
Tatsuo Ishii writes:

> > UTF-8 seems to be the most popular, but even XML standard requires all
> > compliant implementations to deal with at least both UTF-8 and UTF-16.
>
> I don't think PostgreSQL is going to natively support UTF-16.

At FOSDEM it was claimed that Windows natively uses UCS-2, and there are
also continuing rumours that the Java Unicode encoding is not quite UTF-8,
so there is going to be a certain pressure to support other Unicode
encodings besides UTF-8.

As for the names, the SQL standard defines most of those.

-- 
Peter Eisentraut   [EMAIL PROTECTED]


---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [HACKERS] Status report: regex replacement

2003-02-10 Thread Tom Lane
Peter Eisentraut <[EMAIL PROTECTED]> writes:
> Tom Lane writes:
>> code is concerned: the regex library actually offers three regex
>> flavors, "advanced", "extended", and "basic", where "extended" matches
>> what we had before ("extended" and "basic" correspond to different
>> levels of the POSIX 1003.2 standard).  We just need a way to expose
>> that knob to the user.  I am thinking about inventing yet another GUC
>> parameter, say

> Perhaps it should be exposed through different operators.  If someone uses
> packages (especially functions) provided externally, they might have a
> hard time coordinating what flavor is required by which part of what he is
> using.

But one could argue the contrary, too: if you've got an
externally-provided package there may be no convenient way to get it to
use, say, ~!#@ in place of ~.  GUC variables can come in awfully handy
in scenarios like that.

Also, if one *can* alter the SQL context in which a regexp is used, there
is a solution already provided by Spencer's "regex metasyntax" hack --- see
http://developer.postgresql.org/docs/postgres/functions-matching.html#POSIX-METASYNTAX
That is, one could write something like

foo ~ ('(?b)' || basic_regex_expression)

to force basic_regex_expression to be taken as a BRE and not the
extended syntax.  This is a tad uglier than changing the operator name,
perhaps, but it has some advantages too --- for one, the option could be
plugged into the string further upstream than where the SQL syntax is
determined.

Basically I think the flavor-as-GUC-variable approach is orthogonal to
inventing some new operator names.  We could do the latter too, but
I don't really see a need for it given the metasyntax feature.

regards, tom lane

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [HACKERS] Status report: regex replacement

2003-02-10 Thread Peter Eisentraut
Tom Lane writes:

> code is concerned: the regex library actually offers three regex
> flavors, "advanced", "extended", and "basic", where "extended" matches
> what we had before ("extended" and "basic" correspond to different
> levels of the POSIX 1003.2 standard).  We just need a way to expose
> that knob to the user.  I am thinking about inventing yet another GUC
> parameter, say

Perhaps it should be exposed through different operators.  If someone uses
packages (especially functions) provided externally, they might have a
hard time coordinating what flavor is required by which part of what he is
using.

By analogy, imagine there was an environment variable that switched all
grep's to egrep's.  That would be a complete mess.

-- 
Peter Eisentraut   [EMAIL PROTECTED]


---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly



Re: [HACKERS] Status report: regex replacement

2003-02-07 Thread Hannu Krosing
Tatsuo Ishii kirjutas R, 07.02.2003 kell 04:03:

> > UTF-8 seems to be the most popular, but even XML standard requires all
> > compliant implementations to deal with at least both UTF-8 and UTF-16.
> 
> I don't think PostgreSQL is going to natively support UTF-16.

By natively, do you mean "as backend storage" format or "as supported
client encoding" ?

-- 
Hannu Krosing <[EMAIL PROTECTED]>

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

http://www.postgresql.org/users-lounge/docs/faq.html



Re: [HACKERS] Status report: regex replacement

2003-02-06 Thread Tim Allen
On Fri, 7 Feb 2003 00:49, Hannu Krosing wrote:
> Tatsuo Ishii kirjutas N, 06.02.2003 kell 17:05:
> > > Perhaps we should not call the encoding UNICODE but UTF8 (which it
> > > really is). UNICODE is a character set which has half a dozen official
> > > encodings and calling one of them "UNICODE" does not make things very
> > > clear.
> >
> > Right. Also we perhaps should call LATIN1 or ISO-8859-1 more precisely
> > way since ISO-8859-1 can be encoded in either 7 bit or 8 bit(we use
> > this). I don't know what it is called though.
>
> I don't think that calling 8-bit ISO-8859-1 ISO-8859-1 can confuse
> anybody, but UCS-2 (ISO-10646-1), UTF-8 and UTF-16 are all widely used.
>
> UTF-8 seems to be the most popular, but even XML standard requires all
> compliant implementations to deal with at least both UTF-8 and UTF-16.

Strong agreement from me, for whatever value you wish to place on my opinion. 
UTF-8 is a preferable name to UNICODE. The case for distinguishing 7-bit from 
8-bit latin1 seems much weaker.

Tim

-- 
---
Tim Allen  [EMAIL PROTECTED]
Proximity Pty Ltd  http://www.proximity.com.au/
  http://www4.tpg.com.au/users/rita_tim/


---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly



Re: [HACKERS] Status report: regex replacement

2003-02-06 Thread Tatsuo Ishii
> > Right. Also we perhaps should call LATIN1 or ISO-8859-1 more precisely
> > way since ISO-8859-1 can be encoded in either 7 bit or 8 bit(we use
> > this). I don't know what it is called though.
> 
> I don't think that calling 8-bit ISO-8859-1 ISO-8859-1 can confuse
> anybody, but UCS-2 (ISO-10646-1), UTF-8 and UTF-16 are all widely used. 

I just pointed out that ISO-8859-1 is *not* an encoding, but a
character set.

> UTF-8 seems to be the most popular, but even XML standard requires all
> compliant implementations to deal with at least both UTF-8 and UTF-16.

I don't think PostgreSQL is going to natively support UTF-16.
--
Tatsuo Ishii

---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [HACKERS] Status report: regex replacement

2003-02-06 Thread Hannu Krosing
Tatsuo Ishii kirjutas N, 06.02.2003 kell 17:05:
> > Perhaps we should not call the encoding UNICODE but UTF8 (which it
> > really is). UNICODE is a character set which has half a dozen official
> > encodings and calling one of them "UNICODE" does not make things very
> > clear.
> 
> Right. Also we perhaps should call LATIN1 or ISO-8859-1 more precisely
> way since ISO-8859-1 can be encoded in either 7 bit or 8 bit(we use
> this). I don't know what it is called though.

I don't think that calling 8-bit ISO-8859-1 ISO-8859-1 can confuse
anybody, but UCS-2 (ISO-10646-1), UTF-8 and UTF-16 are all widely used. 

UTF-8 seems to be the most popular, but even XML standard requires all
compliant implementations to deal with at least both UTF-8 and UTF-16.

-- 
Hannu Krosing <[EMAIL PROTECTED]>

---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [HACKERS] Status report: regex replacement

2003-02-06 Thread Tatsuo Ishii
> Perhaps we should not call the encoding UNICODE but UTF8 (which it
> really is). UNICODE is a character set which has half a dozen official
> encodings and calling one of them "UNICODE" does not make things very
> clear.

Right. Also we perhaps should call LATIN1 or ISO-8859-1 more precisely
way since ISO-8859-1 can be encoded in either 7 bit or 8 bit(we use
this). I don't know what it is called though.
--
Tatsuo Ishii

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

http://archives.postgresql.org



Re: [HACKERS] Status report: regex replacement

2003-02-06 Thread Hannu Krosing
On Thu, 2003-02-06 at 13:25, Tatsuo Ishii wrote:
> > I have just committed the latest version of Henry Spencer's regex
> > package (lifted from Tcl 8.4.1) into CVS HEAD.  This code is natively
> > able to handle wide characters efficiently, and so it avoids the
> > multibyte performance problems recently exhibited by Wade Klaver.
> > I have not done extensive performance testing, but the new code seems
> > at least as fast as the old, and much faster in some cases.
> 
> I have tested the new regex with src/test/mb and it all passed. So the
> new code looks safe at least for EUC_CN, EUC_JP, EUC_KR, EUC_TW,
> MULE_INTERNAL, UNICODE, though the test does not include all possible
> regex patterns.

Perhaps we should not call the encoding UNICODE but UTF8 (which it
really is). UNICODE is a character set which has half a dozen official
encodings and calling one of them "UNICODE" does not make things very
clear.

-- 
Hannu Krosing <[EMAIL PROTECTED]>

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

http://www.postgresql.org/users-lounge/docs/faq.html



Re: [HACKERS] Status report: regex replacement

2003-02-06 Thread Tatsuo Ishii
> I have just committed the latest version of Henry Spencer's regex
> package (lifted from Tcl 8.4.1) into CVS HEAD.  This code is natively
> able to handle wide characters efficiently, and so it avoids the
> multibyte performance problems recently exhibited by Wade Klaver.
> I have not done extensive performance testing, but the new code seems
> at least as fast as the old, and much faster in some cases.

I have tested the new regex with src/test/mb and it all passed. So the
new code looks safe at least for EUC_CN, EUC_JP, EUC_KR, EUC_TW,
MULE_INTERNAL, UNICODE, though the test does not include all possible
regex patterns.
--
Tatsuo Ishii

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [HACKERS] Status report: regex replacement

2003-02-05 Thread Hannu Krosing
Christopher Kings-Lynne kirjutas N, 06.02.2003 kell 03:56:
> > >   set regex_flavor = advanced
> > >   set regex_flavor = extended
> > >   set regex_flavor = basic
> > [snip]
> > > Any suggestions about the name of the parameter?
> > 
> > Actually I think 'regex_flavor' sounds fine.
> 
> Not more Americanisms in our config files!! :P

Maybe support both, like for ANALYZE/ANALYSE ?

While at it, could we make another variant - ANALÜÜSI - which 
would be native for me ;)

-- 
Hannu Krosing <[EMAIL PROTECTED]>

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [HACKERS] Status report: regex replacement

2003-02-05 Thread Tom Lane
"Christopher Kings-Lynne" <[EMAIL PROTECTED]> writes:
>> You want regex_flavour? ;-)

> Hehe - yeah I don't really care.  I have to use 'color' often enough
> accessing 100% of the world's programming APIs...

> How about regex_type, regex_mode, regex_option, etc.? ;)

Well, I used "flavor" in my previous message because Friedl uses that
term consistently in his book to refer to the various idiosyncracies
of different regex implementations.  It seems like a good term to me;
the differences among them don't rise to the level of being different
languages, yet they're distinctly different.

type, mode, option all seem, um, colourless ...

regards, tom lane

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

http://www.postgresql.org/users-lounge/docs/faq.html



Re: [HACKERS] Status report: regex replacement

2003-02-05 Thread Christopher Kings-Lynne
> "Christopher Kings-Lynne" <[EMAIL PROTECTED]> writes:
> >> Actually I think 'regex_flavor' sounds fine.
>
> > Not more Americanisms in our config files!! :P
>
> You want regex_flavour? ;-)

Hehe - yeah I don't really care.  I have to use 'color' often enough
accessing 100% of the world's programming APIs...

How about regex_type, regex_mode, regex_option, etc.? ;)

Chris


---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [HACKERS] Status report: regex replacement

2003-02-05 Thread Tom Lane
"Christopher Kings-Lynne" <[EMAIL PROTECTED]> writes:
>> Actually I think 'regex_flavor' sounds fine.

> Not more Americanisms in our config files!! :P

You want regex_flavour? ;-)

regards, tom lane

---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [HACKERS] Status report: regex replacement

2003-02-05 Thread Christopher Kings-Lynne
> > set regex_flavor = advanced
> > set regex_flavor = extended
> > set regex_flavor = basic
> [snip]
> > Any suggestions about the name of the parameter?
> 
> Actually I think 'regex_flavor' sounds fine.

Not more Americanisms in our config files!! :P

Chris


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

http://www.postgresql.org/users-lounge/docs/faq.html



Re: [HACKERS] Status report: regex replacement

2003-02-05 Thread Jon Jensen
On Wed, 5 Feb 2003, Tom Lane wrote:

> 1. There are a couple of minor incompatibilities between the "advanced"
> regex syntax implemented by this package and the syntax handled by our
> old code; in particular, backslash is now a special character within
> bracket expressions.  It seems to me that we'd better offer a switch
> to allow backwards compatibility.  This is easily done as far as the
> code is concerned: the regex library actually offers three regex
> flavors, "advanced", "extended", and "basic", where "extended" matches
> what we had before ("extended" and "basic" correspond to different
> levels of the POSIX 1003.2 standard).  We just need a way to expose
> that knob to the user.  I am thinking about inventing yet another GUC
> parameter, say
> 
>   set regex_flavor = advanced
>   set regex_flavor = extended
>   set regex_flavor = basic
[snip]
> Any suggestions about the name of the parameter?

Actually I think 'regex_flavor' sounds fine.

Jon

---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly



[HACKERS] Status report: regex replacement

2003-02-05 Thread Tom Lane
I have just committed the latest version of Henry Spencer's regex
package (lifted from Tcl 8.4.1) into CVS HEAD.  This code is natively
able to handle wide characters efficiently, and so it avoids the
multibyte performance problems recently exhibited by Wade Klaver.
I have not done extensive performance testing, but the new code seems
at least as fast as the old, and much faster in some cases.

Also, we now have a regex flavor that is an exact match for recent
Tcl releases and a close match for recent Perl releases; it sports
back references and lookahead among other niceties.  

There's some stuff still to do:

1. There are a couple of minor incompatibilities between the "advanced"
regex syntax implemented by this package and the syntax handled by our
old code; in particular, backslash is now a special character within
bracket expressions.  It seems to me that we'd better offer a switch
to allow backwards compatibility.  This is easily done as far as the
code is concerned: the regex library actually offers three regex
flavors, "advanced", "extended", and "basic", where "extended" matches
what we had before ("extended" and "basic" correspond to different
levels of the POSIX 1003.2 standard).  We just need a way to expose
that knob to the user.  I am thinking about inventing yet another GUC
parameter, say

set regex_flavor = advanced
set regex_flavor = extended
set regex_flavor = basic

We could satisfy the immediate need with just a boolean "advanced_regex
= on/off", but it seems forward-looking to allow for the possibility of
more flavors in future.  (For one thing, this would offer an easy place
to select a different regex package, in case anyone still wants to play
around with sre or the other alternatives that were mentioned
yesterday.)

Any suggestions about the name of the parameter?

2. Documentation.  I've transformed Spencer's manual page into SGML and
added it to func.sgml, but it's starting to look a tad, um, bulky:
http://developer.postgresql.org/docs/postgres/functions-matching.html#FUNCTIONS-POSIX-REGEXP
The regex section now accounts for 1200+ out of func.sgml's 7500 lines.
Should it be split out as an appendix, or is it okay where it is?

3. I've been toying with the idea of getting rid of the special-purpose
matching code for LIKE (see adt/like.c and like_match.c), and
reimplementing LIKE as a front-end to the regex engine; all it would
need is to translate LIKE patterns into regex style, much as we already
do for SQL99's SIMILAR TO patterns.  This would reduce the maintenance
needs for LIKE by a great deal.  In some preliminary tests here, it
seemed that the special-purpose LIKE code is faster than equivalent
regex matching would be --- but I didn't try the multibyte code path,
nor any but the simplest of patterns.  Anyone want to try some more
extensive benchmarking?

4. The new regex code is 8-bit-clean (no dependency on null-terminated
strings), so it'd be feasible to implement regex matching for BYTEA.
Over to you on that one, Joe.

regards, tom lane

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

http://archives.postgresql.org



[HACKERS] status report

2002-04-14 Thread Bruce Momjian

With my pg_hba.conf changes done, I am now focusing in the next few days
on clearing out my email/patch application backlog.

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 853-3000
  +  If your life is a hard drive, |  830 Blythe Avenue
  +  Christ can be your backup.|  Drexel Hill, Pennsylvania 19026

---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])