Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Informix [игнор отключен] [закрыт для гостей] / Перегрузка процедур IDS 9.40 / 5 сообщений из 5, страница 1 из 1
22.02.2007, 12:17
    #34349701
Leonid Belov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перегрузка процедур IDS 9.40
Приветствую всех!

Обнаружилась интересная вещь. Создаю процедуру:

CREATE PROCEDURE proc1(id INTEGER)
-- любой код
END PROCEDURE;

Успешно. Создаю еще одну:

CREATE PROCEDURE proc1(id INTEGER) RETURNING INTEGER;
-- любой код
RETURN 0;

END PROCEDURE;

Снова успешно.

Как такое может быть? Сигнатуры вроде одинаковые, а наличие/отсутствие возвращаемого
значения вроде бы несущественно.

Попытка создания третьего экземпляра уже заканчивается ошибкой.

IDS 9.40 FC3 SPARC Solaris.
...
Рейтинг: 0 / 0
22.02.2007, 12:35
    #34349788
Leonid Belov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перегрузка процедур IDS 9.40
То же самое происходит в версиях:

9.40 FC7 SPARC
9.40 TC7 Windows

Похоже, авторы не всегда различают процедуры и функции
...
Рейтинг: 0 / 0
23.02.2007, 14:05
    #34351939
leonx2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перегрузка процедур IDS 9.40
Читать и еще раз читать документацию. В 9.40 возможно создание функций одинаковых по имени, но имеющих разное кол-во и типы передаваемых параметров.
Мы тоже наступили на эти грабли когда мигрировали с 7.31.
...
Рейтинг: 0 / 0
26.02.2007, 11:25
    #34354381
Leonid Belov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перегрузка процедур IDS 9.40
Это понятно. Только у этих функций ОДИНАКОВЫЕ имена и ОДИНАКОВЫЕ списки параметров.
Отличаются они только тем, что одна что-то возвращает, а другая - нет.
Тип(ы) возвращаемых значений в сигнатуру никогда не входили.
...
Рейтинг: 0 / 0
26.02.2007, 11:55
    #34354486
leonx2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перегрузка процедур IDS 9.40
Ну что сказать, в "IBM Informix User-Defined Routines and Data Types Developer’s Guide"
про _возвращаемые_ явно такого не сказано, но не сказано и обратного!
С точки зрения перегружаемых(overload) функций поведение правильное потому что иначе не будет работать приведение типов (type cast)...
...
Рейтинг: 0 / 0
Форумы / Informix [игнор отключен] [закрыт для гостей] / Перегрузка процедур IDS 9.40 / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]