Hi Paul,

On Mon, Aug 5, 2019 at 3:11 AM Paul A Jungwirth <p...@illuminatedcomputing.com>
wrote:

> On Fri, Aug 2, 2019 at 1:49 PM Ibrar Ahmed <ibrar.ah...@gmail.com> wrote:
> > I did some clean-up on this patch. I have also refactored a small
> portion of the code
> > to reduce the footprint of the patch. For simplicity, I have divided the
> patch into 6
> > patches, now it is easy to review and debug.
> > Please follow the PostgreSQL coding guidelines. I have found places
> where you missed that, secondly code even in WIP stage must not have
> WARNING because it looks ugly.
>
> Thank you for the cleanup Ibrar! I'll try to stick to the coding
> standards more closely going forward. If you have any review comments
> I would certainly appreciate them, especially about the overall
> approach. I know that the implementation in its current form is not
> very tasteful, but I wanted to get some feedback on the ideas.
>
> I have reviewed the main design, and in my opinion, it is a good start.

- Why we are not allowing any other datatype other than ranges in the
primary key. Without that there is no purpose of a primary key.

- Thinking about some special token to differentiate between normal
primary key and temporal primary key



Also just to reiterate: this patch depends on my other CF entry
> (range_agg), whose scope has expanded considerably. Right now I'm
> focusing on that. And if you're trying to make this code work, it's
> important to apply the range_agg patch first, since the temporal
> foreign key implementation calls that function.
>
> Also: since this patch raises the question of how to conform to
> SQL:2011 while still supporting Postgres range types, I wrote an
> article that surveys SQL:2011 temporal features in MariaDB, DB2,
> Oracle, and MS SQL Server:
>
> https://illuminatedcomputing.com/posts/2019/08/sql2011-survey/
>
> A few highlights are:
>
> - Everyone lets you define PERIODs, but what you can do with them is
> still *very* limited.
> - No one treats PERIODs as first-class types or expressions; they are
> more like table metadata.
>


> - Oracle PERIODs do permit NULL start/end values, and it interprets
> them as "unbounded". That goes against the standard but since it's
> what Postgres does with ranges, it suggests to me that maybe we should
> follow their lead. Anyway I think a NULL is nicer than a sentinel for
> this purpose.
>

That is an open debate, that we want to strictly follow the standard or map
that
to PostgreSQL range type which allows NULL. But how you will define a
primary
key on that?






>
> Regards,
> Paul
>


-- 
Ibrar Ahmed

Reply via email to