Re: serial - Mailing list pgsql-general

From Scott Marlowe
Subject Re: serial
Date
Msg-id dcc563d10812040734w23e17f4cx2b821e34320b3c51@mail.gmail.com
Whole thread Raw
In response to Re: serial  ("Gregory Williamson" <Gregory.Williamson@digitalglobe.com>)
Responses Re: serial  (Thomas Kellerer <spam_eater@gmx.net>)
List pgsql-general
On Thu, Dec 4, 2008 at 7:47 AM, Gregory Williamson
<Gregory.Williamson@digitalglobe.com> wrote:
> The esteemed Scott Marlowe said:
>
>>
>> On Thu, Dec 4, 2008 at 7:42 AM, Gustavo Rosso <grosso@sadaic.org.ar>
>> wrote:
>> > I created this table:
>> >
> <...>
>>
>> Because MySQL taught you bad habits?  You told the db to insert a 0,
>> so it inserted a 0.
>
> With respect, sir, let me point out that Informix usage says to insert a
> zero to trigger a serial column, so don't be indicting Gustavo on MySQL use
> -- he might be coming from a real database where usage is different.

I really shoulda had a smiley up there with my comment.  However, mea
cupla, mea maxima culpa.

Note that it is quite possible to learn bad habits from many
commercial databases, not just MySQL.  Like an Oracle DBA who told me
pgsql was broken because the output of group by wasn't properly
ordered like it was on Oracle 9.  Admittedly, MySQL has a much larger
set of bad habits to teach the average user than any other DB, but it
ain't the only one.

> Those of us who came to postgres from Informix-land made [perhaps] the same
> mistakes. Not a bad *habit* unless you can prove to me that the spec says
> otherwise.

I'm pretty sure that if you say to insert a value, the spec says that
the value should be inserted unaltered.  0 is a value.  DEFAULT, or
leaving it out of the column list is a different thing entirely.

> (Maybe you can -- the SQL formal definitions seem to be
> deliberately opaque and often do not define _how_ a given behavior should be
> implemented). Just a matter of indoctrination into the local ways of doing
> serials.

True++.  The sql spec is usually quite simple, but in some areas it's
worse than the tax code.

pgsql-general by date:

Previous
From: "Hiroshi Saito"
Date:
Subject: Re: Linked server query problem
Next
From: Gustavo Rosso
Date:
Subject: spanish