С некоторых пор на работе происходят непонятные вещи. Например, один и тот же запрос у меня выдает информацию, а у нового коллеги — нет. Запрос посылала ему по почте, он его скопировал. Сам не набирал. То есть они идентичны. Сервер один и тот же. Права доступа у нас равны. Причем, другие запросы у него выполняются. Кроме самого нужного.
Впрочем, у него совсем иной чем у меня клиент для связи с Ораклом. Решили, что виновна прога.
Однако на прошлой неделе снова произошло невозможное. У начальника отдела уже другой запрос выдал один результат, а у меня и ведущего инженера — другой. А программой мы пользуемся одинаковой. Запрос наипростейший: выбрать в таблице все записи, с условием, что foreign key равно конкретной цифре, сортировать данные по дате.
Первым делом тщательно сверили условие, foreign key равен тому ли числу? Тому, вот пять цифр в ряд. Затем внимательно просмотрели названия таблиц, а вдруг разные? Нет! Затем, проверили права доступа. Идентичны. С этим мы разошлись на уик-енд.
Сегодня шоу продолжилось. Начальник отдела дал мне свой запрос, и у меня все сломалось: результаты стали такие же как и у него. Решили, что это вроде гриппа, заразно. Но у ведущего инженера, старый запрос работал по-старому, новый — как и у нас.
Я попросила прислать мне ее старый запрос. Он выполнился по-старому.
«Не может быть, потому что так не бывает!» — воскликнула я.
Где-то, значит, ошибка.
Детская задача, найди десять отличий.
Две строчки в ряд:
новый запрос: Select * from A where fk=идут цифры order by date
старый запрос: Select * from a where fk=идут цифры order by date
«Ага!» — кричу я. — «Разный регистр у названий таблиц!».
Ни фига, отвечает нач. отд. У меня тоже с заглавной.
Меняю букву — все тоже самое.
Сижу плачу. Ведь так не бывает! Не бывает. Чтобы один и тот же запрос работал по-разному, выдал разные данные.
Где подвох?
Нач. отдела предложил построиться и пойти к врачу. С песнями. Или решить, что во всем виновата компания, которая пишет клиенты для Оракла, или даже сам (САМ!) Оракл.
Начинаю набирать запрос вручную. Дурацкая идея, знаю, но вдруг?
И ВДРУГ — случается: вижу что цифирки в условии одни и те же, да вот порядок их немножко в конце отличается.
То есть, сами дураки, а не компания, не Оракл и пр. Невнимательность — наше все.
Остается неясным, как мы сверяли эти цифры десять раз и не видели различий.
Все-таки человеку проще признать чудо чем то, что он допустил ошибку.