На повестке три запроса 1. set lock_timeout -2 2. SELECT DISTINCT sp4322,sp4323 Изм FROM ra4335 reg4335 WITH (NOLOCK) 3. SELECT count(*) FROM tempdb..sysobjects WHERE id=object_id('tempdb..#ТаблицаДокумента') AND type='U''
1. set lock_timeout -2 Пока не будем имитировать. Потом. Пока просто транслируется как SELECT 1. Ничего сверхестевственного от этого проиходить не должно. 2. SELECT DISTINCT sp4322,sp4323 Изм FROM ra4335 reg4335 WITH (NOLOCK) Не понравилось WITH (NOLOCK), было только без WITH, добавил. 3. SELECT count(*) FROM tempdb..sysobjects WHERE id=object_id('tempdb..#ТаблицаДокумента') AND type='U'' Просто ищет есть ли таблица, добавил.
(In reply to comment #1) > 3. SELECT count(*) FROM tempdb..sysobjects WHERE > id=object_id('tempdb..#ТаблицаДокумента') AND type='U'' > Просто ищет есть ли таблица, добавил. поправил опечатку. у клиента просим логи сельты для добавления неработающих запросов.
(In reply to comment #2) > поправил опечатку. у клиента просим логи > сельты для добавления неработающих > запросов. > Большинство ошибок в SELECT _@lock_timeout, он транслируется правильно. Но такой нет переменной. Вылетает ошибка. Мы этого даже в логах selta не увидим. Надо его заменить на SELECT -1;. И прислать ему новую версию selta dll, заодно и логов будет меньше.
> Большинство ошибок в SELECT _@lock_timeout, он > транслируется правильно. Но такой нет > переменной. Вылетает ошибка. Мы этого даже > в логах selta не увидим. > Надо его заменить на SELECT -1;. И прислать ему > новую версию selta dll, заодно и логов будет > меньше. > добавил в lex. @@LOCK_TIMEOUT транслирую в "-1"
(In reply to comment #4) > добавил в lex. @@LOCK_TIMEOUT транслирую в "-1" Пока не важно, но потом все равно придется в parser добавлять.
новая dll-ка лежит в /var/ftp/pub/Etersoft/SELTA@Etersoft/current/Windows/toy_sql/
проверил в готовой dll-ке новые запросы. все транслирует
Багу закрываем. Тот кусок, что требовался на первых парах сделали. Дальше, будет стоять в планах toy_sql, будем дальше делать.