Florian G. Pflug a écrit :
Dave Page wrote:
Guillaume Lelarge wrote:
Hi,

When someone set a default value for a column and set NOT NULL at the same time, the query could fail if the table already contains NULL values for this column. This patch adds an UPDATE statement to put the DEFAULT value in this column for all NULL values (but only when you SET NULL and SET DEFAULT the column at the same time).

I've done this patch for a friend but I don't quite like this patch because of its behaviour. It doesn't warn the user. I think it would be better to show a dialog telling that an UPDATE statement will be executed because otherwise the whole action could fail.

So here are some questions :
 * do you think this patch is worth it ?

I'm not keen on the idea.I prefer to leave that sort of behaviour to the server, *if* thats the way it gets written.

You could first execute "alter table .. set default ...; alter table ..set not null" first, and only if the "set not null" fails ask the user if he wants
the update to be performed. I personally would like the feature I think,
though I can easily live without it ;-)


Perhaps we can do this with a better error message.

There's something I really like with EMS SQL Manager. When the user change a property, the SQL is shown and can be changed. If the COMMIT failed, they show you the SQL and it also can be modified. Perhaps we just need this ? When there is a PostgreSQL related error message, pgAdmin shows the SQL it tried to execute and let the user change it. I think it would be a better behavior than what my patch implied. Would something like this be possible ? And one more question, I wonder why the SQL tab is not editable ? I can think of one reason but I'm not sure :)

Regards.


--
Guillaume.
<!-- http://abs.traduc.org/
     http://lfs.traduc.org/
     http://docs.postgresqlfr.org/ -->

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

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

Reply via email to