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

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

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
Перегрузка процедур IDS 9.40
    #34349788
Leonid Belov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
То же самое происходит в версиях:

9.40 FC7 SPARC
9.40 TC7 Windows

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


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