powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Проблема с выполнением запроса с вьюхами
8 сообщений из 8, страница 1 из 1
Проблема с выполнением запроса с вьюхами
    #33874946
он же
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возникла следующая проблема.
Есть сервер Sybase ASE 12.5.2 стоит на Enterprise Linux (1838).
Есть запрос
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
select 
(select TITLE from TC where TC_ID =  15  ) as TC_TITLE, 
(select TITLE from SVC where SVC_ID =  7 ) as SVC_TITLE, 
(select TITLE from SVC where SVC.SVC_ID = TSE.SVC_ID) as OLD_SVC_TITLE,
(select TITLE from T_PLANS where TP_ID =  2  ) as QT_TITLE, 
(select TITLE from T_PLANS where TP_ID =  7  ) as TP_TITLE,
SVC_ID from TSE where TSE_ID =  2 
где TC и T_PLANS - суть представления, выглядящие как
Код: plaintext
1.
2.
3.
4.
5.
6.
create view TC as 
select o.TC_ID, o.TITLE, ...,
 (select min(LAST_UPDATE) from TC_HIST where TC_ID = o.TC_ID and DELETED =  0 ) as C_DATE, 
 (select max(LAST_UPDATE) from TC_HIST where TC_ID = o.TC_ID and DELETED =  1 ) as D_DATE 
from TC_HIST o 
where LAST_UPDATE <= dateadd(hour, ISNULL((select - max(VALUE) from CONF_INT where NAME='LOCAL_GMT_ZONE'),- 3 ),getdate()) 
group by TC_ID having LAST_UPDATE = max(LAST_UPDATE)

Указанный запрос сваливает сервер напрочь.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
 00 : 00000 : 00011 : 2006 / 07 / 24   18 : 50 : 00 . 15  kernel  current process (0x100010) infected with  11 
 00 : 00000 : 00011 : 2006 / 07 / 24   18 : 50 : 00 . 15  kernel  ************************************
 00 : 00000 : 00011 : 2006 / 07 / 24   18 : 50 : 00 . 15  kernel  SQL causing error : select
(select TITLE from TC where TC_ID =  15  ) as TC_TITLE,
(select TITLE from SVC where SVC_ID =  7 ) as SVC_TITLE,
(select TITLE from SVC where
 00 : 00000 : 00011 : 2006 / 07 / 24   18 : 50 : 00 . 15  kernel  ************************************
 00 : 00000 : 00011 : 2006 / 07 / 24   18 : 50 : 00 . 15  server  SQL Text: select
(select TITLE from TC where TC_ID =  15  ) as TC_TITLE,
(select TITLE from SVC where SVC_ID =  7 ) as SVC_TITLE,
(select TITLE from SVC where SVC.SVC_ID = TSE.SVC_ID) as OLD_SVC_TITLE,
(select TITLE from T_PLANS where TP_ID =  2  ) as QT_TITLE,
(select TITLE from T_PLANS where TP_ID =  7  ) as TP_TITLE,
SVC_ID from TSE where TSE_ID =  2 

 00 : 00000 : 00011 : 2006 / 07 / 24   18 : 50 : 00 . 15  kernel  curdb =  5  tempdb =  2  pstat = 0x10000
 00 : 00000 : 00011 : 2006 / 07 / 24   18 : 50 : 00 . 15  kernel  lasterror =  0  preverror =  0  transtate =  1 
 00 : 00000 : 00011 : 2006 / 07 / 24   18 : 50 : 00 . 15  kernel  curcmd =  0  program = SQL_Advantage
 00 : 00000 : 00011 : 2006 / 07 / 24   18 : 50 : 00 . 15  kernel  pc 0x87e2019 ucbacktrace+0x89(0x0,0x1,0x930b1a4,0x100010,0x0)
 00 : 00000 : 00011 : 2006 / 07 / 24   18 : 50 : 00 . 15  kernel  pc 0x81af795 terminate_process+0xc09(0x0,0xffffffff,0x930b1a4,0xaaac3830,0xa535682c)
 00 : 00000 : 00011 : 2006 / 07 / 24   18 : 50 : 00 . 15  kernel  pc 0x88014f0 kisignal+0xf0(0xb,0xa5356390,0xa5356410,0xb,0x0)
 00 : 00000 : 00011 : 2006 / 07 / 24   18 : 50 : 00 . 15  kernel  pc 0x8dd7c0 (0xa535682c,0xaaac3830,0x930b1a4,0xaaab2528,0xa535682c)
 00 : 00000 : 00011 : 2006 / 07 / 24   18 : 50 : 00 . 15  kernel  pc 0x851be0d vu_blocktraversal+0xf1(0xa535682c,0xaaab26ac,0x11,0x930b1a4,0xa9ef0144)
 00 : 00000 : 00011 : 2006 / 07 / 24   18 : 50 : 00 . 15  kernel  pc 0x852186f vu_call_analyze_view+0xf3(0xa535682c,0xaaab2528,0x930b1a4,0xaaacbff4,0xaaab26ec)
 00 : 00000 : 00011 : 2006 / 07 / 24   18 : 50 : 00 . 15  kernel  pc 0x852410d vu_view_driver+0x75(0xa535682c,0xaaab2528,0x0,0x930b1a4,0xa535682c)
 00 : 00000 : 00011 : 2006 / 07 / 24   18 : 50 : 00 . 15  kernel  pc 0x8524065 vu_maincmdloop+0x49(0xa535682c,0xaaab26fc,0x0,0x930b1a4,0xa535682c)
 00 : 00000 : 00011 : 2006 / 07 / 24   18 : 50 : 00 . 15  kernel  pc 0x85236bd vu_findviews+0xa9(0xa535682c,0xaaab26fc,0x930b1a4,0x0,0xaaab2528)
 00 : 00000 : 00011 : 2006 / 07 / 24   18 : 50 : 00 . 15  kernel  pc 0x851bbc5 vu_res_view+0x10d(0xaaab26fc,0xa5356c4c,0xaaab26fc,0xa5356c50,0xa5356af4)
 00 : 00000 : 00011 : 2006 / 07 / 24   18 : 50 : 00 . 15  kernel  pc 0x823f387 ex_cleanup(0xaaab26fc,0xaaab2528,0xa5356c4c,0xaaab26fc,0xa5356c50)
 00 : 00000 : 00011 : 2006 / 07 / 24   18 : 50 : 00 . 15  kernel  pc 0x84ed45a s_preprocess+0x10a(0xaaab26fc,0x930b1a4,0xa9ef0144,0xa9ef0144,0x930b1a4)
 00 : 00000 : 00011 : 2006 / 07 / 24   18 : 50 : 00 . 15  kernel  pc 0x84d4a63 s_compile+0x58f(0x0,0x930b1a4,0x0,0xa9ef0100,0x0)
 00 : 00000 : 00011 : 2006 / 07 / 24   18 : 50 : 00 . 15  kernel  pc 0x84f3a0e sequencer+0x7fe(0xaaab2000,0x930b1a4,0x0,0xa9ef0100,0x81c27d6)
 00 : 00000 : 00011 : 2006 / 07 / 24   18 : 50 : 00 . 15  kernel  pc 0x84ed1bd pre_aggview+0x135(0x0,0x0,0x0,0x0,0x0)
 00 : 00000 : 00011 : 2006 / 07 / 24   18 : 50 : 00 . 15  kernel  pc 0x81ee001 conn_hdlr+0x2779(0x2,0xa535725c,0x895eed31,0x0,0x0)
 00 : 00000 : 00011 : 2006 / 07 / 24   18 : 50 : 00 . 15  kernel  pc 0x81de739 tdsrecv_language+0x2ed(0x0,0x0,0x0,0xa493f100,0x11)
 00 : 00000 : 00011 : 2006 / 07 / 24   18 : 50 : 00 . 15  kernel  pc 0x895eed31 init_dummy+0x80995011(0x0,0xa493f100,0x11,0x1,0x5374616b)
 00 : 00000 : 00011 : 2006 / 07 / 24   18 : 50 : 00 . 15  kernel  end of stack trace, spid  11 , kpid  1048592 , suid  1 





Запрос
Код: plaintext
1.
2.
3.
4.
5.
6.
select 
(select TITLE from TC where TC_ID =  15  ) as TC_TITLE, 
(select TITLE from SVC where SVC_ID =  7 ) as SVC_TITLE, 
(select TITLE from SVC where SVC.SVC_ID = TSE.SVC_ID) as OLD_SVC_TITLE,
(select TITLE from T_PLANS where TP_ID =  2  ) as QT_TITLE, 
(select TITLE from T_PLANS where TP_ID =  7  ) as TP_TITLE,
SVC_ID from TSE where TSE_ID =  2 
выполняется без проблем..


Куда копать и что делать - непонятно :(
...
Рейтинг: 0 / 0
Проблема с выполнением запроса с вьюхами
    #33874969
он же
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дополнение

Adaptive Server Enterprise/12.5.2/EBF 11949 ESD#1/P/Linux Intel/Enterprise Linux/ase1252/1838/32-bit/OPT/Sat May 29 01:03:02 2004
...
Рейтинг: 0 / 0
Проблема с выполнением запроса с вьюхами
    #33875170
он же
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И еще дополнение. Второй запрос выглядит как
Код: plaintext
1.
2.
3.
4.
5.
6.
select 
(select TITLE from TC where TC_ID =  15  ) as TC_TITLE, 
(select TITLE from SVC where SVC_ID =  7 ) as SVC_TITLE, 
(select TITLE from SVC where SVC.SVC_ID = TSE.SVC_ID) as OLD_SVC_TITLE,
(select TITLE from T_PLANS where TP_ID =  2  ) as QT_TITLE, 
SVC_ID from TSE where TSE_ID =  2 

Поможитя, людя добрые ((
...
Рейтинг: 0 / 0
Проблема с выполнением запроса с вьюхами
    #33875218
Фотография Zhora
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обычно stacktrace надо посылать в TS. Обычный ответ (на 11) - увеличить
sp_configure stack_guard_size. Обычно не помогает. Тогда поставить
EBF последний. Иногда помогает. У меня тоже подобное было, кажется
пришлось убрать parallel обработку чтобы не слетало. Пo моему опыту ASE
погановато работает со сложными view.
...
Рейтинг: 0 / 0
Проблема с выполнением запроса с вьюхами
    #33875349
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По словам автора:
он же

Не выполняется :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
select 
(select TITLE from TC where TC_ID =  15  ) as TC_TITLE, 
(select TITLE from SVC where SVC_ID =  7 ) as SVC_TITLE, 
(select TITLE from SVC where SVC.SVC_ID = TSE.SVC_ID) as OLD_SVC_TITLE,
(select TITLE from T_PLANS where TP_ID =  2  ) as QT_TITLE, 
(select TITLE from T_PLANS where TP_ID =  7  ) as TP_TITLE,
SVC_ID 
from TSE where TSE_ID =  2 

Выполняется:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
select 
(select TITLE from TC where TC_ID =  15  ) as TC_TITLE, 
(select TITLE from SVC where SVC_ID =  7 ) as SVC_TITLE, 
(select TITLE from SVC where SVC.SVC_ID = TSE.SVC_ID) as OLD_SVC_TITLE,
(select TITLE from T_PLANS where TP_ID =  2  ) as QT_TITLE, 
(select TITLE from T_PLANS where TP_ID =  7  ) as TP_TITLE,
SVC_ID 
from TSE where TSE_ID =  2 



В чем разница между этими запросами ? Я ее не нашел.
...
Рейтинг: 0 / 0
Проблема с выполнением запроса с вьюхами
    #33875639
он же
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivПо словам автора:
В чем разница между этими запросами ? Я ее не нашел.

См. мое дополнение номер два :)
Я обшибся, там без последней строчки.
...
Рейтинг: 0 / 0
Проблема с выполнением запроса с вьюхами
    #33875666
он же
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если убрать
Код: plaintext
LAST_UPDATE <= dateadd(hour, ISNULL((select - max(VALUE) from CONF_INT where NAME='LOCAL_GMT_ZONE'),- 3 ),getdate()) 
и вместо этого написать
Код: plaintext
LAST_UPDATE <= getdate()
все работает без проблем....

Проклятая жестянка...
...
Рейтинг: 0 / 0
Проблема с выполнением запроса с вьюхами
    #34087911
Компостеров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перейди на 12.5.3


Я уже с этим столкнулся:

На SUN ASE 12.5.3 не понимает одновременное использование подзапросов и derived tables. В 12.5.4 - все ОК

На Linux ASE 12.5.3 - работает
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Проблема с выполнением запроса с вьюхами
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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