From: | "Alexander Staubo" <alex(at)purefiction(dot)net> |
---|---|
To: | harding(dot)ian(at)gmail(dot)com |
Cc: | "General PostgreSQL List" <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: NULLS and User Input WAS Re: multimaster |
Date: | 2007-06-03 19:25:13 |
Message-ID: | 88daf38c0706031225r3db57938v17e18b781d268405@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On 6/3/07, Ian Harding <harding(dot)ian(at)gmail(dot)com> wrote:
> > An empty string is not null! Null means the value is missing, which is
> > clearly not the case here. I would say Rails is exactly in the right
> > here. When an HTML form is posted, empty input boxes are declared as
> > empty strings, which what the user entered. The problem is not with
> > Rails/ActiveRecord but with your form handling. If you want empty
> > boxes to become null, add some client-side JavaScript logic that sets
> > the "disabled" attribute on empty input elements before form is
> > submitted; this will prevent the client from sending the value.
>
> The user was presented an _opportunity_ to enter data and did not.
> The data is unknown. I don't know how you can say "...The user
> entered" an empty string. There is no empty string key on the
> keyboard.
Not at all. If the input box already contained a string, and the user
erased the contents of the input box, then the user has, in effect,
entered an empty string. Not a "null". This is a UI layer issue, not a
database issue.
> I have no idea why I got such hard pushback on this. This is the
> EXACT same behaviour other types use. If a number field is presented
> to the user and submitted with no value, NULL Is inserted. Not zero,
> which is the numeric equivalent of the empty string, but NULL. Same
> with date types. Why not say they entered '1/1/1970' by default if
> they entered nothing?
Ah, no. An empty string is not a valid number -- in fact, it is the
absence of a number; the same goes for dates. An empty string,
however, is a valid string, since a string is (in this context)
defined as a sequence of 0 to n characters.)
Your patch is awful because it would mean there was no way to enter an
empty string in the database. A one-character string containing a
single space is not an empty string.
Alexander.
From | Date | Subject | |
---|---|---|---|
Next Message | Ian Harding | 2007-06-03 19:32:48 | Re: NULLS and User Input WAS Re: multimaster |
Previous Message | Ian Harding | 2007-06-03 19:14:28 | NULLS and User Input WAS Re: multimaster |