SQLRU.net
Разработка приложений баз данных

Начало » Использование СУБД » Firebird, HQbird, InterBase » Stack overflow при prepare
Stack overflow при prepare [сообщение #6175] Thu, 24 July 2025 14:07 Переход к следующему сообщению
ggreggory в настоящее время не в онлайне  ggreggory
Сообщений: 83
Зарегистрирован: July 2022
Member
Приветствую знатоков и разработчиков!

Столкнулся с проблемой (в заголовке). Запрос ниже приводит к падению сервера на

WI-V3.0.13.33818 Firebird 3.0

И к появлению ошибки

Unsuccessful execution caused by system error that does not preclude successful execution of subsequent statements.
Stack overflow.  The resource requirements of the runtime stack have exceeded the memory available to it.
------------------------------------------------------------ -------------------------------------------------------
SQLCODE: -901
SQLSTATE: HY001
GDSCODE: 335544781

на

WI-V5.0.3.1683 Firebird 5.0

Простая табличка

CREATE TABLE TEST (
   FLD1  INTEGER,
   FLD2  INTEGER
);

Запрос во вложении (исполнять не нужно, только prepare).
  • Вложение: query.zip
    (Размер: 0.95KB, Загружено 44 раза)
Re: Stack overflow при prepare [сообщение #6177 является ответом на сообщение #6175] Mon, 28 July 2025 09:18 Переход к предыдущему сообщениюПереход к следующему сообщению
sim_84 в настоящее время не в онлайне  sim_84
Сообщений: 352
Зарегистрирован: June 2022
Senior Member
Запрос - глупость несусветная. Но то что падает это плохо. Надо такие ситуации распознавать.

То что запрос искусственный пример это понятно. Но ведь он не на ровном месте взялся, у вас в оригинальном запросе такая же глупая дичь написана со 100500 or? Через IN не пробовали переписать?
Re: Stack overflow при prepare [сообщение #6178 является ответом на сообщение #6177] Mon, 28 July 2025 10:35 Переход к предыдущему сообщениюПереход к следующему сообщению
fraks в настоящее время в онлайне  fraks
Сообщений: 152
Зарегистрирован: June 2022
Географическое положение: Новосибирск
Senior Member
У ggreggory явный талант тестировщика Smile
Re: Stack overflow при prepare [сообщение #6179 является ответом на сообщение #6178] Tue, 29 July 2025 12:31 Переход к предыдущему сообщениюПереход к следующему сообщению
shavluk в настоящее время не в онлайне  shavluk
Сообщений: 88
Зарегистрирован: June 2022
Географическое положение: Одеса
Member
Жесть... 10000 условий в OR
Сложно представить что кто-то действительно пытается сформировать и выполнить запрос размером в 320KB
Такое лучше записывать во временную таблицу и потом джоитить с ней
Но падать, конечно, не должно от такого
Re: Stack overflow при prepare [сообщение #6181 является ответом на сообщение #6179] Tue, 29 July 2025 20:32 Переход к предыдущему сообщению
DarkMaster в настоящее время не в онлайне  DarkMaster
Сообщений: 44
Зарегистрирован: August 2022
Member
Если мне склероз не изменяет - то на количество OR / IN - в движке лимиты есть. И опять таки на всплывает цифра 1500, но не 10к...

[Обновления: Tue, 29 July 2025 20:33]

Известить модератора

Предыдущая тема: Большое обновление Firebird
Следующая тема: Пятница
Переход к форуму:
  


Текущее время: Tue Jul 29 22:33:35 GMT+3 2025

Общее время, затраченное на создание страницы: 0.00703 секунд