Re: Are globally defined constants possible at all ?

Поиск
Список
Период
Сортировка
От Gunther Schadow
Тема Re: Are globally defined constants possible at all ?
Дата
Msg-id 3D039962.1080201@aurora.regenstrief.org
обсуждение исходный текст
Ответ на Are globally defined constants possible at all ?  ("Bertin, Philippe" <philippe.bertin@barco.com>)
Список 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@regenstrief.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



В списке pgsql-general по дате отправления:

Предыдущее
От: Gunther Schadow
Дата:
Сообщение: Re: Help with data transfer please
Следующее
От: Stephan Szabo
Дата:
Сообщение: Re: Are globally defined constants possible at all ?