From: | Gunther Schadow <gunther(at)aurora(dot)regenstrief(dot)org> |
---|---|
To: | gss+pg(at)cs(dot)brown(dot)edu |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Are globally defined constants possible at all ? |
Date: | 2002-06-09 18:07:30 |
Message-ID: | 3D039962.1080201@aurora.regenstrief.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
The only thing that I'd like to add are the following 3 points:
1st POINT: I wished for global constants many times.
2nd POINT: I even have good use for a table constant, or virtual
column. E.g., a table that I would create like this:
CREATE TABLE Foo(
aVar INTEGER,
aConst INTEGER CONSTANT='15'
);
I know, this could be done with a VIEW, but I would like to use
it as follows:
ALTER TABLE Foo ADD
FOREIGN KEY(aVar, aConst) REFERENCES Bar(val1, val2);
see what I mean? The same could be done without the aConst
column if this were allowed:
ALTER TABLE Foo ADD
FOREIGN KEY(aVar, '15') REFERENCES Bar(val1, val2);
It's too bad that not at least the contant expression in the
foreign key reference is allowed. Until that is the case I need
to redundantly store the aConst in every tuple of the Foo table
(multiply this by 600 million and you begin to see my point :-).
3rd POINT: For global constants a constant function is a very
nice way of doing it, look again at Gregories 3rd suggestion:
Gregory Seidman wrote:
> 3. create a function for each type and use it in your queries
>
> CREATE FUNCTION EnumTypeSoftware() RETURNS int AS 'SELECT 1' LANGUAGE SQL
> with (isstrict);
>
> CREATE FUNCTION EnumTypeHardware() RETURNS int AS 'SELECT 2' LANGUAGE SQL
> with (isstrict);
>
> ... where KindID = EnumTypeSoftware() ...
This is so nice because (a) it can be done now. And (b) a
named variable is theoretically precisely this, a function
without arguments.
thanks,
-Gunther
--
Gunther Schadow, M.D., Ph.D. gschadow(at)regenstrief(dot)org
Medical Information Scientist Regenstrief Institute for Health Care
Adjunct Assistant Professor Indiana University School of Medicine
tel:1(317)630-7960 http://aurora.regenstrief.org
From | Date | Subject | |
---|---|---|---|
Next Message | Stephan Szabo | 2002-06-09 18:42:34 | Re: Are globally defined constants possible at all ? |
Previous Message | Gunther Schadow | 2002-06-09 17:52:04 | Re: Help with data transfer please |