XDMP-ATOMIZEFUNC может возникать при создании сообщения журнала ошибок при попытке создания сообщения об ошибке и сериализации содержимого переменной, которая содержит или содержит функции. У $json:config
есть несколько свойств, которые являются функциями, и он не может распылять $json:config
, чтобы распечатать содержимое этой переменной в сообщении журнала ошибок, как вы можете видеть, что это было сделано для $dtfmt
и $sdate1
переменных.
Распыление
Результатом атомизации является либо последовательность атомарных значений, либо ошибка типа [err: FOTY0012].
Определение: атомизация последовательности определяется как результат вызова функции fn:data
для последовательности, как определено в [Функции и операторы XQuery 1.0 и XPath 2.0 (второе издание)] .
Вы можете увидеть ту же ошибку, выполнив этот код в QConsole:
xquery version "1.0-ml";
import module namespace json="http://marklogic.com/xdmp/json" at
"/MarkLogic/json/json.xqy";
let $custom :=
let $config := json:config("custom")
let $_ := map:put($config,"whitespace","ignore")
let $_ := map:put($config,"array-element-names","TR")
return $config
return $custom
Вы не предоставили достаточно кода или сообщения об ошибке, чтобы сказать наверняка, но XDMP-ATOMIZEFUNC , скорее всего, не является основной причиной вашей проблемы. Посмотрите дальше в журнале ошибок для начала исключения, чтобы увидеть, какова реальная ошибка. Он должен иметь модуль и номер строки.