From: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> |
---|---|
To: | Caleb Cushing <xenoterracide(at)gmail(dot)com> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: named generic constraints [feature request] |
Date: | 2009-12-07 07:36:14 |
Message-ID: | 162867790912062336k379ab2bkcf1898276c508f9@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
2009/12/7 Caleb Cushing <xenoterracide(at)gmail(dot)com>:
>> no -
>>
>> "--" is line comment in SQL - it same like "//" in C++
>
> sorry didn't see this was updated. I know -- is a comment
>
> I mean in sql <> means NOT your function name is emptystr which
> implies it looks for an emptystr and returns true if the string is
> found to be empty (at least in my mind). so if you want to create a
> contrstraint of not empty you'd write NOT emptystr(col) however the
> way you wrote it would only return true if the string was NOT <> empty
> which is a double negative meaning that it is empty thereby rejecting
> all but empty strings.
>
> my final function that I wrote ended up looking like this (note: I
> didn't specify to include whitespace in my original explanation.
>
>
>
>
> CREATE OR REPLACE FUNCTION empty(TEXT)
> RETURNS bool AS $$
> SELECT $1 ~ '^[[:space:]]*$';
> $$ LANGUAGE sql
> IMMUTABLE;
> COMMENT ON FUNCTION empty(TEXT)
> IS 'Find empty strings or strings containing only whitespace';
>
> which I'm using like this (note: this is not the full table)
>
> CREATE TABLE users (
> user_name TEXT NOT NULL
> UNIQUE
> CHECK ( NOT empty( user_name ))
> );
>
> I still wish I could write,something like
>
> CREATE CONSTRAINT empty CHECK ( VALUE NOT ~ '^[[:space:]]*$';)
>
> CREATE TABLE users (
> user_name TEXT NOT NULL
> UNIQUE
> CHECK ( NOT empty )
> );
> CREATE TABLE roles (
> role_name TEXT NOT NULL
> UNIQUE
> CHECK ( NOT empty)
I understand. But I don't see any significant benefit for this
non-standard feature. You safe a few chars. I thing so it is useless.
Regards
Pavel Stehule
> );
> --
> Caleb Cushing
>
> http://xenoterracide.blogspot.com
>
From | Date | Subject | |
---|---|---|---|
Next Message | Itagaki Takahiro | 2009-12-07 07:55:26 | Re: New VACUUM FULL |
Previous Message | Itagaki Takahiro | 2009-12-07 07:32:35 | Re: bug: json format and auto_explain |