Гремлинские транзакции JavaScript - PullRequest
0 голосов
/ 20 марта 2019

Запрос orientdb с использованием gremlin в nodejs работает нормально, но с обновлениями мне действительно нужны транзакции

Я не могу найти, как использовать их в гремлине для javascript - они реализованы?

Я ожидал, что они будут реализованы или задокументированы, но это не так. Любой знает наверняка, прежде чем использовать представленный скрипт, которого я хочу избежать.

В качестве альтернативы есть документация или руководство по отправке запросов на основе байт-кода?

1 Ответ

1 голос
/ 20 марта 2019

За исключением случаев, когда документация в подразделе «Отправка сценариев», вся остальная документация включает в себя представления на основе байт-кода:

http://tinkerpop.apache.org/docs/current/reference/#gremlin-javascript

Запросы на основе байт-кода управляются транзакциями на сервере, где одинзапрос - это одна транзакция, то есть принятие в случае успеха или откат в случае ошибки.Семантика отката продиктована базовой базой данных графа, которая определяет, возвращается ли все измененное состояние к тому, что было до запроса, или нет.Невозможно расширить транзакции за пределы одного запроса с помощью запросов на основе байт-кода.

Единственный способ выполнять транзакции, которые распространяются на несколько запросов, - это представления на основе сценариев, использующие сеанс.Я не думаю, что даже задокументировано, как использовать сеансы (за пределами Java ), поскольку это не рекомендуемый подход по ряду причин (переносимость кода, байт-код - это будущее, а сценарии в конечном итоге попадут наКстати, скрипты влияют на безопасность и т. д.

Я рекомендую переосмыслить ваше приложение так, чтобы вам не нужно было неявно использовать транзакции и просто позволить серверу обрабатывать такие вещи для вас.

...