Re: Declarative partitioning grammar - Mailing list pgsql-hackers

From Hannu Krosing
Subject Re: Declarative partitioning grammar
Date
Msg-id 1200357548.6307.2.camel@hannu-laptop
Whole thread Raw
In response to Re: Declarative partitioning grammar  (Markus Schiltknecht <markus@bluegap.ch>)
Responses Re: Declarative partitioning grammar
List pgsql-hackers
Ühel kenal päeval, E, 2008-01-14 kell 10:49, kirjutas Markus
Schiltknecht:
> Hi,
> 
> Jeff Cohen wrote:
> > We did look at allowing general functions for partitioning and this was 
> > one concern.  The other is that we want to enforce that a row only gets 
> > inserted into a single partition, so we wanted a declarative syntax 
> > where it was relatively easy to check that range and list specifications 
> > don't overlap.
> 
> Why do you need to define a split point so ambiguously at all? Why not 
> just give the DBA exactly *one* place to define the split point?
> 
> I don't think the separation into list, hash and range partitioning is 
> adequate. What is the system supposed to do, if you try to insert a row 
> which doesn't fit any of the values in your list or doesn't fit any of 
> the ranges you defined?

I guess it would go to some "default" partition ?

...

> IMO, a single DDL command should only touch a single split point, i.e. 
> split a table into two partitions, move the split point or remove the 
> split point (joining the partitions again). Those are the only basic 
> commands you need to be able to handle partitioning.

sure, but this can become really tedious for 1024 partitions, not to
mention hard for optimiser.

> Sorry, but for my taste, the proposed grammar is too long per command, 
> not flexible enough and instead ambiguous for split points as well as 
> for constraints. To me it looks like repeating the mistakes of others.

what mistakes ?

-----------------
Hannu




pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: SSL over Unix-domain sockets
Next
From: Kenneth Marshall
Date:
Subject: Re: Index trouble with 8.3b4