powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Ошибка при перекомпиляции пакета с вложенными функциями
3 сообщений из 3, страница 1 из 1
Ошибка при перекомпиляции пакета с вложенными функциями
    #40069146
L_VV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Обнаружилась проблема с перекомпиляцией пакета при некотором сочетании вложенных функций.
Firebird 4 amd64 текущий снапшот (на предыдущих было так же),
Debian 5.10.28-1 (2021-04-09) x86_64 GNU/Linux.

Ссылка на обсуждение в подфоруме IBExpert:
https://www.sql.ru/forum/1335930/oshibka-pri-perekompilyacii-paketa-s-vlozhennymi-funkciyami


Удалось сделать простой пример, воспроизводится в 100% случаев.
Приложил архив со скриптами для проверки в isql (создание объектов в БД не требуется).

Первая компиляция пакета происходит успешно, при повторной перекомпиляции происходит ошибка, приводящая к закрытию соединения с БД:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
CREATING                  
========================= 
USR_PKG_TEST (1st try)... 


CREATING                  
========================= 
USR_PKG_TEST (2nd try)... 

Statement failed, SQLSTATE = 08006

Error reading data from the connection.
After line 1 in file USR_PKG_TEST.sql
Statement failed, SQLSTATE = 08006

Error writing data to the connection.
-send_packet/send
After line 15 in file USR_PKG_TEST.sql
Statement failed, SQLSTATE = 08006

Error writing data to the connection.
-send_packet/send
After line 15 in file 01_create_packages_test.sql
Statement failed, SQLSTATE = 08006

Error writing data to the connection.
-send_packet/send
After line 20 in file 01_create_packages_test.sql

00_isql_create_packages_test.sh: isql error: Failed to create packages

10.05.2021 10:27:52 Done




В логе Firebird:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
blackbox	Mon May 10 10:27:52 2021
	/opt/firebird/bin/fbguard: /opt/firebird/bin/firebird terminated abnormally (-1)



blackbox	Mon May 10 10:27:52 2021
	/opt/firebird/bin/fbguard: guardian starting /opt/firebird/bin/firebird



blackbox	Mon May 10 10:27:52 2021
	REMOTE INTERFACE/gds__detach: Unsuccesful detach from database.
	Uncommitted work may have been lost.
	Error writing data to the connection.
	send_packet/send


blackbox	Mon May 10 10:27:52 2021
	setsockopt: error setting IPV6_V6ONLY to 0




В обсуждении в подфоруме IBExpert ещё дописали о возможно связанной проблеме:
Dimbuch®
Соединение так же обрывается в пакете, если во вложенной процедуре/функции пакета происходит исключение и обрабатывается через WHEN <error> DO …
Но обрыв соединения происходит уже при запуске процедуры/функции.
Приходится то же самое делать в вызывающей процедуре пакета: повторять блок WHEN <error> DO …
Не раз на такое натыкался. Видимо, это какая-то недоделка в Firebird насчёт вызовов собственных для пакета процедур/функций
...
Рейтинг: 0 / 0
Ошибка при перекомпиляции пакета с вложенными функциями
    #40069189
L_VV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Ошибка при перекомпиляции пакета с вложенными функциями
    #40076066
L_VV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В последнем снапшоте (5.0.0.63) Adriano исправил ошибку.

Четвёрку не проверял, но должно быть тоже исправлено
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Ошибка при перекомпиляции пакета с вложенными функциями
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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