Возврат нескольких каталогов в XQuery
Коллеги, никто ранее в xquery не возвращал несколько каталогов, или же поля разных каталогов? (return $e/id, $a/id - не работает) Но если один каталог, то работает
Вячеслав, нужно назвать каждый id через пробел $e/id e_id, $a/id a_id
А так может пройдет? arr = ArrayOptFirstElem(XQuery("for $c in collaborators, $p in positions where $c/position_id = $p/id and $c/id = 7158013120741408573 return $c/Fields(id c_id) , $p/Fields(id p_id)"));
alert(arr.c_id + " - " + arr.p_id )
Не не в этом. А как запрос выглядит?
for $c in collaborators, $l in learnings, $al in active_learnings where $l/course_id = $al/course_id and $l/person_id = $c/id and $al/person_id = $c/id
если что-то одно вызывать работает
если вызывать так: return ($c, $l, $al) то выдает, массив с и l и al но не объедененный
А так ?
XQuery("for $c in collaborators, $l in learnings, $al in active_learnings where $l/course_id = $al/course_id and $l/person_id = $c/id and $al/person_id = $c/id return $c/id c_id, $l/id l_id, $al/id al_id")
У вас в выводе есть одинаковые названия у полей. И это очень сложный запрос без конкретного id сотрудника. А так?
var arr = ArrayOptFirstElem(XQuery("for $c in collaborators, $l in learnings, $al in active_learnings where $l/course_id = $al/course_id and $l/person_id = $c/id and $al/person_id = $c/id return $c/id c_id, $l/id l_id, $al/id al_id"));
alert(tools.object_to_text(arr, "json"))
У меня как минимум вопрос, у нас тут какая версия XQuery? Она слишком старая или обрезанная? Там много интересного есть в написании на XQuery 3.0
ну у нас должен заметить одинаковые запросы на SQL и XQuery работают с огромной разнице во времени 1098ms VS 48ms где меньшее XQuery
если я отключу БД то XQuery все еще будет работать, даже без указании в конфиге отсуствия БД
запрос пойдет по структуре xml сбора (если интересно могу потом написать как именно). У нас xquery ровно по ней и работает еслии нет твердово указателя на sql
Тут очень интересно, что имеете в виду и куда пойдет запрос?
запрос пойдет по структуре xml сбора (если интересно могу потом написать как именно). У нас xquery ровно по ней и работает еслии нет твердово указателя на sql
Странно это. Либо нет прав для выполнения на клиенте таких запросов. Или по таймеру отлитает запрос.
Права есть
Там в каталоге 4 записи
Потом покопаюсь на свежую голову, меня больше удивляет, что у нас результаты отличаются, потом посмотрю при разных обстоятельствах как работает
Это условно, там два завершенных, один активный и один сотрудник
А в логе spxml_unibridge_*.log какая запись есть?
Не торопись жечь и ломать. Нет такого... Дьявол скрывается в нюансах слов "отключить БД" и "пойдет по структуре xml"...
Может вы как раз расскажите какая версия XQuery стоит в WS?)
А я вопрос не сразу понял... Какая версия стандарта? Ответ, как и про JS - никакая. Это свой язык, просто по синтаксису похож на стандарт.
А я вопрос не сразу понял... Какая версия стандарта? Ответ, как и про JS - никакая. Это свой язык, просто по синтаксису похож на стандарт.
очень сложно определить, особенно если учесть, что третья редакция, как я подсмотрел, была одобрена в декабре 1999, и платформа SPXML - примерно в это же время.
я намекаю на то, что похожесть синтаксиса ни на что не намекает 😊
Не, смотри, тут есть вся структура что в ES3, а Trim уже выполнен отдельной функцией, так как он появился только с ES5 (ну и не только он) а значит, очевидно, что оно младше ES5, но старше ES2, так как в 2ке небыло try catch или того же while...