|
|
su.dbms- SU.DBMS ---------------------------------------------------------------------- From : Victor Metelitsa 2:5020/400 01 Feb 2002 17:49:30 To : Dmitry Krivosheyenko Subject : Re: в чем зло хранимых проце дур-2 -------------------------------------------------------------------------------- Dmitry Krivosheyenko wrote: [...] >>Этот пустячок в DB2 есть, вот только другого почти ничего нету. В том >>числе и полиморфизма (система вызывает метод экземпляра того класса, что >>ожидает, а не того, что на самом деле). >> >> > > > Имеется ввиду это? > > The database server can support routine overloading because it supports > polymorphism: the ability to have many entities with the same name and to > choose the entity most relevant to a particular usage. > .... > For example, you might create each of the following user-defined functions > to calculate the area of different data types (each data type represents a > different geometric shape): > CREATE FUNCTION area(arg1 circle) RETURNING DECIMAL... > CREATE FUNCTION area(arg1 rectangle) RETURNING DECIMAL.... > CREATE FUNCTION area(arg1 polygon) RETURNING DECIMAL.... > .... > > Extending Informix Dynamic Server.2000 > Version 9.2 September 1999 Hе думаю. Хотя, может, это просто необычный синтаксис? Вряд ли. Как Informix себя поведет (синтаксиса я не знаю, пишу наугад): CREATE TABLE T( ... shape Shape ) где Shape - суперкласс Circle, Rectangle и Poligon INSERT INTO T(... shape) VALUES ( ... Circle.new(10,100)) и потом SELECT area(shape) FROM T WHERE та запись что будет вызвано - CREATE FUNCTION area(arg1 Circle) RETURNING DECIMAL... или, как я опасаюсь, CREATE FUNCTION area(arg1 Shape) RETURNING DECIMAL... ? -- Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru --- ifmail v.2.15dev5 * Origin: Talk.Mail.Ru (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /su.dbms/5364dab22e7f.html, оценка из 5, голосов 10
|