Re: Are globally defined constants possible at all ?

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

In response to

Browse pgsql-general by date

  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