Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Index Consultant ASA 9.0.1 / 10 сообщений из 10, страница 1 из 1
26.05.2004, 10:18
    #32533890
L0cat0r
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Index Consultant ASA 9.0.1
Выборка выполняется в процедуре
причем при запущеном консультанте, если в процедуре используется конструкция вида select ... into #temp
то получаем ошибку, что #temp не существует,
если ее задеклирировать, и работать через insert into #temp
все проходит нормально

Лечится ли это опциями базы и (или) чем-то еще ?

Спасибо.
...
Рейтинг: 0 / 0
26.05.2004, 10:46
    #32533950
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Index Consultant ASA 9.0.1
Проверил на сборке 9.0.1.1862, это баг Index Consultant. Сегодня отошлю в iAnywhere следующий скрипт, приводящий к ошибке:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
CREATE PROCEDURE _Test ()
BEGIN
  SELECT *
  INTO #X
  FROM SysTable;

  SELECT *
  FROM #X;
END;

// generate error "table #X not found"
// (for started Index Consultant from Sybase Central)
CALL _Test();

DROP PROCEDURE _Test;
Пока баг не исправят, у Вас 2 выхода:
1. Не пользоваться Index Consultant
2. Не пользоваться конструкцией SELECT INTO #Table
...
Рейтинг: 0 / 0
26.05.2004, 18:42
    #32535417
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Index Consultant ASA 9.0.1
Насколько я знаю, это официально заявленная фича... Во всяком случае вопрос регулярно появляется на родном сайбезовском форуме...
А вообще, очень удобно сделать так:
OPTIMIZATION_LOGGING = ON
LOG_DETAILED_PLANS = ON
LOG_MAX_REQUESTS примерно 75
Запускаешь отлаживаемую процедуру несколько раз.
выключаешь лог: OPTIMIZATION_LOGGING = OFF
И смотри таблицу SYS.SYSOPTREQUEST Там будет по одной строке, на каждую удачную оптимизацию . Там даже есть графический план запросов.
Добавляешь индексы самостоятельно конечно, но зато получаешь возможность убедиться что сервер использует те индексы которые ты насоздавал. Учти что оптимизатор по разному работает на простые запросы и на запросы приходящие из хранимой процедуры.
И в конце не забудь DROP OPTIMIZATION LOGGING
...
Рейтинг: 0 / 0
27.05.2004, 22:10
    #32537610
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Index Consultant ASA 9.0.1
Баг принят и заявлен как Engineering Case #356604. Теперь будем следит за новыми EBF, думаю его им поправить не так долго.
...
Рейтинг: 0 / 0
28.05.2004, 09:44
    #32538000
L0cat0r
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Index Consultant ASA 9.0.1
Всем, спасибо !
White Owl - попробую.
ASCRUS - подожду.


Тут на медне апгрейднул сервер на оперативке до 8.0.2.4339 (был 4308)
... через примерно сутки полезло примерно следующее (причем не всегда)

в процедурах списания, отката, проводок и т.д. работают курсоры.
исключения логоки - через raiseerror на клиента и что после этого
естественно - откат транзакции
НО начали оставаться записи в таблицах, которые должны быть откачены
(т.е. повторная попытка - ошибка изза наличия записи по ключу)
ничто не изменялось и не переписывалось ну с полгода точно

начал копать - в результате
в открытии курсоров поубирал WITH HOLD, пока вроде пошло

пришел к выводу :
если основной курсор открывать с опцией WITH HOLD,
при наличии вложенных курсоров появилась "новость"
raiseerror не всегда приводит к полному откату транзакции
(остаются записи внесенные внутренними курсорами)
чего раньше не было

перед генерацией raiseerror курсор->close (осталось с 5)

PS : поскольку сейчас намечается(ожидается) а где и происходит
переползание на 9, неплохо былобы поднять топик по всякого рода
"новостям" и известным багам по плану :
что и при каких условиях обнаружено и как обходилось

Удачи !
...
Рейтинг: 0 / 0
28.05.2004, 10:10
    #32538040
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Index Consultant ASA 9.0.1
Можно даже открыть просто статью FAQ "Известные баги, способы их решения и номер EBF, исправляющий их".

Если баг можно репродуцировать скриптом, то его сразу можно выкладывать в Case Manager на Sybase.com или пересылать мне.
...
Рейтинг: 0 / 0
06.07.2004, 14:54
    #32591511
L0cat0r
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Index Consultant ASA 9.0.1
Пишут, что #356604 пофиксили в Build #1874
Вышел 9.0.1.1883

Удачи !
...
Рейтинг: 0 / 0
28.07.2004, 14:28
    #32625325
Aleksey Kh.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Index Consultant ASA 9.0.1
ASA 9.0.1.1883
Если запустить IndexConsultant во время работы SQLRemote, то ни один update не отработает. Ругается
Код: plaintext
SQL statement failed: (- 143 ) Column 'U' not found

з.ы. Имею 4 мб лога, который придется восстанавливать вручную. Очень близок к тому, что бы проклясть Sybase. ...белого порошка ни у кого не найдется?
...
Рейтинг: 0 / 0
28.07.2004, 14:34
    #32625348
Aleksey Kh.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Index Consultant ASA 9.0.1
131 тыс. строк. подумаешь, херня какая...
...
Рейтинг: 0 / 0
28.07.2004, 18:32
    #32626056
Aleksey Kh.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Index Consultant ASA 9.0.1
13 тыс строк.
но, все-равно, убил бы.
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Index Consultant ASA 9.0.1 / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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