(no subject)
May. 8th, 2018 03:41 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Блядь. Нарыл в коде коллеги, который уже несколько лет как уволился, жесткую связь с БД. Грубо говоря если в БД идут "уровни бюджета" 700, 800, 900 - то будет один результат вычисления бюджета, а если 700, 800, 850, 900 - то совершенно другой ...
причем никаких if(X == 800) там нету, неа.
Там сделано хитро, идет сначала один
if(rs.next)
{
грузим данные с базы
}
потом внзапно
if(rs.next и тут еще пару условий)
{
грузим еще данные для бюджета
if(rs.next и тут еще пару условий)
{
грузим еще данные для бюджета
}
}
Условия состоят в сравнении определенных параметров из ответа БД, и подобраны так, что для "случая" "водитель уровня 900" проходятся все 3 if-a, для 800 - 2 и для 700 - только первый. Бюджеты загружены.
Я получаю запрос сдублировать уровень 800 под именем 850 (хз зачем им это), проверяю код, вроде никаких особых правил для уровня 800 не нахожу и спокоен. АВОТХУЙ. благодаря всем спецусловиям в загрузке бюждета теперь 700 и 800 работают как раньше, 850 наполовину как 900 а 900 - вообще нет. Я сука 2 часа искал как так то?
причем никаких if(X == 800) там нету, неа.
Там сделано хитро, идет сначала один
if(rs.next)
{
грузим данные с базы
}
потом внзапно
if(rs.next и тут еще пару условий)
{
грузим еще данные для бюджета
if(rs.next и тут еще пару условий)
{
грузим еще данные для бюджета
}
}
Условия состоят в сравнении определенных параметров из ответа БД, и подобраны так, что для "случая" "водитель уровня 900" проходятся все 3 if-a, для 800 - 2 и для 700 - только первый. Бюджеты загружены.
Я получаю запрос сдублировать уровень 800 под именем 850 (хз зачем им это), проверяю код, вроде никаких особых правил для уровня 800 не нахожу и спокоен. АВОТХУЙ. благодаря всем спецусловиям в загрузке бюждета теперь 700 и 800 работают как раньше, 850 наполовину как 900 а 900 - вообще нет. Я сука 2 часа искал как так то?