powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Moblink выдает ошибку в download "result returned is non-deterministic"
5 сообщений из 5, страница 1 из 1
Moblink выдает ошибку в download "result returned is non-deterministic"
    #34324651
Фотография ИвановНН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.
Перевел базу с 8.0.2 на 9.0.2.2451. В результате при репликации (Mobilink) download перестал проходить из-за следующей ошибки:
Код: plaintext
E.  02 / 12   16 : 56 : 09 . SQL statement failed: ( 122 ) The result returned is non-deterministic.
Смотрел все триггеры и процедуры. Где были top или first поставил order by, однако проблема осталась.
Качаю EBF 9.0.2.3439 (может поможет).
Правда еще остались запросы с top в условии where в удаленных базах в articles, но теоретически они не должны никак влиять на download, скорее наоборот, они бы помешали в upload, который выполняется без ошибок.
Как можно избавиться от этой ошибки?
Спасибо.
ASA 9.0.2.2451
Mobilink
...
Рейтинг: 0 / 0
Moblink выдает ошибку в download "result returned is non-deterministic"
    #34325069
yourij_mw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А у Вас не выводятся в лог dbmlsync порядок таблиц которые загружаются? Так можно проследить на какой таблице это выбивает...
...
Рейтинг: 0 / 0
Moblink выдает ошибку в download "result returned is non-deterministic"
    #34325102
Фотография ИвановНН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Порядок выводится.
Установил, что эта ошибка вылетает из-за top 1 в условии отбора в articles.
Было так:
Код: plaintext
(select top  1  "left"(objects_ml_user_name, 2 ) from dba.cit_object_designate_dept where replicated_object_guid = document_guid and cit_object_designate_dept.is_removed =  0 ) = 'ml'
Сделал так:
Код: plaintext
(select top  1  "left"(objects_ml_user_name, 2 ) from dba.cit_object_designate_dept where replicated_object_guid = document_guid and cit_object_designate_dept.is_removed =  0  order by replicated_object_guid asc) = 'ml'
Ошибка "result returned is non-deterministic" исчезла, но теперь upload сщвершенно пуст, хотя записи я вставляю.
...
Рейтинг: 0 / 0
Moblink выдает ошибку в download "result returned is non-deterministic"
    #34326362
yourij_mw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В условие WHERE подписки у меня стоит или пусто или максимум "1=0",схема пока простая и не было сильной надобности в чем-либо другом(запрос из другой таблицы как в Вашем случае). Но главное я там ничего писать не собирался т.к. непредставлял себе чётко в какой момент оно проверяется. Не возлагая больших надежд на его использование, я когда-то не очень увлекался экспериментами (проверял только вариант в "момент выгрузки" и в "момент модификации"). Тогда я для себя выяснил что это происходит в момент модификации, но на счёт того происходит ли это при Commit транзакции или после выполнения одиночного оператора над данной таблицей сказать немогу. И в первом и во втором случае предсказать результат для меня было бы слишком трудно. Если у Вас проблема не решилась то я посоветовал бы обратить на это внимание, может это как-то с этим связано..
...
Рейтинг: 0 / 0
Moblink выдает ошибку в download "result returned is non-deterministic"
    #34326644
Фотография ИвановНН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблему непопадания данных в upload я решил, переписав все условия where на более простые, не обращаясь к другим таблицам (просто оставил is_removed = 0). Пока этого достаточно, но в дальнейшем мне надо будет опять к этому вернуться.
Логика отбора данных в upload примерно следующая:
Предположим есть таблица классификаторов A(clsf_guid decimal(0), clsf_name char(64), last_modified timestamp, is_removed bool)
Есть общая таблица всех объектов B(object_guid decimal(0), ..., last_modified timestamp, is_removed bool)
Есть таблица назначений этих объектов (кому куда ехать) C(replicated_object_guid decimal(0), object_ml_user_name, last_modified timestamp, is_removed bool)
При создании нового классификатора, вставляется строка в A, далее триггер A вставляет в B, триггер B вставляет в C. Условие where в articles опирается на таблицу C. Может быть при этом данные не попадают в upload, т.к. триггеры все after insert. Т.е. вставляем в A, where смотрит в C - а там еще ничего нет. Но мне не понятно почему конструкция (select top 1 "left"(object_ml_user_name,2) from С where replicated_object_guid = document_guid and С.is_removed = 0) = 'ml' работает, а (select top 1 "left"(objects_ml_user_name,2) from С where replicated_object_guid = document_guid and С.is_removed = 0 order by replicated_object_guid ) = 'ml' - нет.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Moblink выдает ошибку в download "result returned is non-deterministic"
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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