powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Ошибки 10-ки?...
12 сообщений из 12, страница 1 из 1
Ошибки 10-ки?...
    #34071047
WW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WW
Гость
Коллеги, прошу проверить и, если подтвердиться, помочь запостить багу.
Обнаружилось на WinXP SP2, подтвердилось на Linux 2.6.12.

Код: 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.
CREATE TABLE tblValuta (
codValuta varchar( 3 ) NOT NULL PRIMARY KEY CHECK (LENGTH(TRIM(codValuta)) =  3 ),
keyValuta int NOT NULL, 
nameValuta varchar( 150 ) NOT NULL,
isActive bit NOT NULL DEFAULT  0 ,
sTerr long varchar NULL,
ts timestamp DEFAULT timestamp
)
;
CREATE MATERIALIZED VIEW vCurValuta
as
	SELECT codValuta, keyValuta, nameValuta, ts
	FROM tblValuta
	WHERE isActive =  1 
;
CREATE TABLE Cources (
	dDate date NOT NULL,
	codValuta char( 3 ) NOT NULL REFERENCES tblValuta(codValuta) ON UPDATE CASCADE,
	courceCB decimal ( 5 ,  4 ) NOT NULL,
	courceVB decimal ( 5 ,  4 )	NULL,
	ts timestamp NOT NULL DEFAULT timestamp,
	last_user varchar( 50 ) NOT NULL DEFAULT last user,
	PRIMARY KEY CLUSTERED (dDate, codValuta)
)
;
Делаем функцию:
Код: 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.
CREATE FUNCTION "fnGetSumInVal" (IN datedoc date, IN sumdoc decimal( 25 ,  4 ),
			IN val char( 3 ), IN request_val char( 3 ))
RETURNS decimal( 25 ,  4 ) -- ON EXCEPTION RESUME
DETERMINISTIC
BEGIN
	DECLARE REQUESTSUM DECIMAL( 25 ,  4 );
	DECLARE curse decimal( 25 ,  4 );
	
	IF VAL IS NULL OR sumdoc IS NULL OR DATEDOC	IS NULL OR request_val IS NULL
		OR request_val NOT IN (SELECT codValuta FROM tblValuta) 
		-- OR datedoc NOT IN (SELECT DISTINCT dDate FROM Cources)	--server crash
		-- OR VAL NOT IN (SELECT codValuta FROM Cources WHERE dDate = datedoc) --server crash
		THEN
		RETURN REQUESTSUM;
	END IF;

	SELECT CASE val 
		WHEN 'RUR' THEN  1 
		ELSE (SELECT courseCB FROM sa.Cources 
			WHERE dDate = datedoc AND codValuta = val )
	END INTO curse FROM DUMMY;
	
	SELECT CASE request_val
		WHEN 'RUR' THEN  1 
		ELSE (SELECT courseCB FROM sa.Cources 
			WHERE dDate = datedoc AND codValuta = request_val)
	END INTO REQUESTSUM FROM DUMMY;
	
	RETURN sumdoc * curse / REQUESTSUM;
END
и наблюдаем падение и сетевого и персонального сервера.
А вот так
Код: 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.
ALTER FUNCTION "fnGetSumInVal" (IN datedoc date, IN sumdoc decimal( 25 ,  4 ),
			IN val char( 3 ), IN request_val char( 3 ))
RETURNS decimal( 25 ,  4 ) -- ON EXCEPTION RESUME
DETERMINISTIC
BEGIN
	DECLARE REQUESTSUM DECIMAL( 25 ,  4 );
	DECLARE curse decimal( 25 ,  4 );
	
	IF VAL IS NULL OR sumdoc IS NULL OR DATEDOC	IS NULL OR request_val IS NULL
		OR request_val NOT IN (SELECT codValuta FROM tblValuta) THEN
		RETURN REQUESTSUM;
	END IF;
	
	IF datedoc NOT IN (SELECT DISTINCT dDate FROM Cources) THEN
		RETURN REQUESTSUM;
	END IF;
	
	IF VAL NOT IN (SELECT codValuta FROM Cources WHERE dDate = datedoc) THEN
		RETURN REQUESTSUM;
	END IF;
	--SUM*CURS(val)/CURS(request_val)
	SELECT CASE val 
		WHEN 'RUR' THEN  1 
		ELSE (SELECT courseCB FROM sa.Cources 
			WHERE dDate = datedoc AND codValuta = val )
	END INTO curse FROM DUMMY;
	
	SELECT CASE request_val
		WHEN 'RUR' THEN  1 
		ELSE (SELECT courseCB FROM sa.Cources 
			WHERE dDate = datedoc AND codValuta = request_val)
	END INTO REQUESTSUM FROM DUMMY;
	
	RETURN sumdoc * curse / REQUESTSUM;
END
все работает.

Еще.
таблица
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
create table tblMain
(
	idMain bigint NOT NULL PRIMARY KEY DEFAULT GLOBAL AUTOINCREMENT,
	datedoc date NOT NULL,
	sumdoc decimal ( 15 ,  4 ) NOT NULL,
	codValuta char( 3 ) NOT NULL ,
.
.
.
	ts timestamp NOT NULL default timestamp,
	last_user varchar( 50 ) NOT NULL default last user,
	FOREIGN KEY (codValuta) REFERENCES tblValuta(codValuta) ON UPDATE CASCADE
) ;
Делаем
Код: plaintext
1.
2.
3.
4.
select idMain,  
	fnGetSumInVal(datedoc,sumdoc,codValuta,'USD') as IN_USD,
	fnGetSumInVal(datedoc,sumdoc,codValuta,'EUR') as IN_EUR, 
	fnGetSumInVal(datedoc,sumdoc,codValuta,'RUR') as IN_RUR
	from sa.tblMain
и из клиента апдейт поля IN_USD - сервер падает.
Мож у меня руки не те...
...
Рейтинг: 0 / 0
Ошибки 10-ки?...
    #34071427
WW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WW
Гость
И еще.
Апгрейд прошлых версий в БД к новой версии с загрузкой (если делаешь базу с ключиком) из Централа - валиться.
При подключении из Централа к криптованной БД - Central выдает ошибку. На криптовании таблиц - не проверял.
Похоже, разарботчики себе устроили продолжительный отпуск при создании 10-ки.
А так, мнение вообще, система - (с придыханием) позволяет удовлетворять любые (большинство - если без извращений) потребности...
...
Рейтинг: 0 / 0
Ошибки 10-ки?...
    #34071552
Vladimir Kozlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А, кстати, после выхода десятки уже времени достаточно прошло - но ни одного EBF-а на сайте не появилось...
...
Рейтинг: 0 / 0
Ошибки 10-ки?...
    #34071577
Фотография Александр Гoлдун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WWКоллеги, прошу проверить и, если подтвердиться, помочь запостить багу.

http://casexpress.sybase.com/cx/cx.stm?starturl=casemessage.ssc?CASETYPE=Bug

Если лениво регистрироваться, то попробуй запостить в sybase.public.sqlanywhere.general
WW
Похоже, разарботчики себе устроили продолжительный отпуск при создании 10-ки.

Отпуск или нет - не знаю, но ничего удивительного. Подобные косяки на моей памяти массово появлялись на любом свежевышедшем релизе мажорной версии начиная с 6.0.0
Vladimir Kozlov
А, кстати, после выхода десятки уже времени достаточно прошло - но ни одного EBF-а на сайте не появилось...

Может пока мало народу тестирует десятку, соответственно мало кейсов об ошибках запостили. Активнее надо :)


Портал русскоязычной группы пользователей Sybase
...
Рейтинг: 0 / 0
Ошибки 10-ки?...
    #34071618
Vladimir Kozlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр Гoлдун
Может пока мало народу тестирует десятку, соответственно мало кейсов об ошибках запостили. Активнее надо :)


Эххх... ну я вот свою базу, которая с начала года под девяткой бегает, под десяткой поднял. Протестил как приложение c ней работает. Косяков не вылезло, но есть у меня смутные сомнения что если на продакшн десятку поставить то при интенсивной работе косяки-то и полезут. Ставить на живой сервер и реально гонять до выхода пары-тройки EBF-ов стрёмно, а на коленках какое же это тестирование :)
Со следующего месяца начну приложение активно на яву портировать, думаю что в качестве тестового сервака возьму десятку, ну и чтоб жизнь мёдом не казалась - сменю jconnect 5.5 на 6.05... авось и повезет что-нибудь накопать...
...
Рейтинг: 0 / 0
Ошибки 10-ки?...
    #34071674
WW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WW
Гость
Александр ГoлдунЕсли лениво регистрироваться, то попробуй запостить в sybase.public.sqlanywhere.general
Нет, с туземским плохо. Поэтому и крикнул в форум. Классная СУБД. Вот и хочется побыстрей от детских болезней избавиться.
Кто-нибудь запостит?
...
Рейтинг: 0 / 0
Ошибки 10-ки?...
    #34073312
WW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WW
Гость
Ну так кто-нибудь сможет помочь запостить багу? Народ!
...
Рейтинг: 0 / 0
Ошибки 10-ки?...
    #34073449
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WWНу так кто-нибудь сможет помочь запостить багу? Народ!
Я тоже с туземным только на уровне технического дружу. Баги им очень просто выкладываю - через переводчик минимум текста - типа падение сервера при выполнении данного кода и код прилагаю в файлике, который то падение вызывает - вроде они ни разу не жаловались, что не понимают о чем это я ;)
...
Рейтинг: 0 / 0
Ошибки 10-ки?...
    #34073607
WW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WW
Гость
Ок! Щаз я им запостю!!!
Будут учить русский!
...
Рейтинг: 0 / 0
Ошибки 10-ки?...
    #34073625
WW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WW
Гость
Нет, отправлю вечером из дома. Файрволами все закрыто.
...
Рейтинг: 0 / 0
Ошибки 10-ки?...
    #34075502
WW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WW
Гость
Вроде запостил...
...
Рейтинг: 0 / 0
Ошибки 10-ки?...
    #34086156
WW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WW
Гость
Ё! Опять бага с крахом сервера.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
CREATE TRIGGER "MySuperTrigger" 
BEFORE DELETE
ON table1
REFERENCING OLD AS DELETED NEW AS new_dept
FOR EACH ROW
WHEN ( DELETED.fielld1 !=  4  AND DELETED.field2 =  0 )
BEGIN
   SET new_dept.anyfield =  4 ;
END
Причем красиво так - с аксес виолейшн...
Понимаю, что это удар под дых, но всеже. Не одни профи ведь с ним будут работать.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Ошибки 10-ки?...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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