Quellcode durchsuchen

agTransactions.erl模块改进

erlArango_v1
AICells vor 5 Jahren
Ursprung
Commit
af489cadfc
1 geänderte Dateien mit 111 neuen und 70 gelöschten Zeilen
  1. +111
    -70
      src/agApi/agTransactions.erl

+ 111
- 70
src/agApi/agTransactions.erl Datei anzeigen

@ -7,8 +7,25 @@
% doc_address:https://www.arangodb.com/docs/stable/http/transaction.html
% HTTP接口
%
% HTTP接口
%
% ArangoDB的事务在服务器上执行
%
% API
% JavaScript交易 API
% ArangoDB中事务如何工作以及ArangoDB可以提供哪些保证的详细说明Transactions
%
%
% 使使/RDBMS使用BEGINCOMMIT和ROLLBACK操作的方式
%
% API
%
% JavaScript交易
% JS-Transactions允许您向服务器发送一段专用的JavaScript代码
%
%
%
%
%
% 10
@ -17,70 +34,93 @@
%
% 使
%
% HTTP接口
% v3.5.0
% 使使/RDBMS使用BEGINCOMMIT和ROLLBACK操作的方式
% 使 ArangoDB服务器
% JS-Transaction相反使ArangoDB支持的各种事务选项
% API ArangoDB中的其他API 使x-arango-trx-id标头中指定事务标识符使使
% API操作包括
% Document API中的所有操作
% Collection API的文档数
% Collection API截断集合
% Cursor API创建AQL游标
% / Gharial APIv3.5.1
% 访ArangoDB服务器上的资源
% MMFiles存储引擎中的读写操作以及RocksDB中的写操作
% ArangoDB中事务如何工作的更详细描述Transactions
%
%
%
%
% POST /_api/transaction/begin
% JSON对象是必需的
% collectionscollections必须是一个JSON对象readwrite或Exclusive collection名称的数组或单个collection name作为字符串使write或Exclusive属性声明将在事务中写入的集合allowImplicit设置为false 使
% waitForSync
% allowImplicit
% lockTimeout使lockTimeout设置为0将使ArangoDB不会在等待锁定时超时
% maxTransactionSizeRocksDB存储引擎的尊敬
% collectionscollections必须是一个JSON对象readwrite或Exclusive collection名称的数组或单个collection name作为字符串使write或Exclusive属性声明将在事务中写入的集合
% waitForSync
% allowImplicit
% lockTimeout使lockTimeout设置为0将使ArangoDB不会在等待锁定时超时
% maxTransactionSizeRocksDB存储引擎的尊敬
% POST请求的正文中传递HTTP 201
% JSON对象具有以下属性
% error false
% codeHTTP状态码
%
% id
% status running
% id
% status running
% 使HTTP 400HTTP 404
% JSON对象
% errortrue
% codeHTTP状态码
% errorNum
% errorMessage
% errortrue
% codeHTTP状态码
% errorNum
% errorMessage
%
% 201 HTTP 201
% 400使HTTP 400
% 404使HTTP 404
beginTransaction(PoolNameOrSocket, MapData) ->
BodyStr = jiffy:encode(MapData),
agHttpCli:callAgency(PoolNameOrSocket, ?AgPost, <<"/_api/transaction/begin">>, [], BodyStr).
%
%
% GET /_api/transaction/{transaction-id}
%
% transaction-id
% transaction-id
%
% id
% status
% id
% status
%
% 200 HTTP 200
% 400使HTTP 400
% 404使HTTP 404
% 200 HTTP 200
% 400使HTTP 400
% 404使HTTP 404
getTransactionStatus(PoolNameOrSocket, TransactionId) ->
Path = <<"/_api/transaction/", (agMiscUtils:toBinary(TransactionId))/binary>>,
agHttpCli:callAgency(PoolNameOrSocket, ?AgGet, Path, [], undefined).
% 使使
%
%
% PUT /_api/transaction/{transaction-id}
%
% transaction-id
% transaction-id
%
% HTTP 200JSON对象具有以下属性
% error false
% codeHTTP状态码
% error false
% codeHTTP状态码
%
% id
% status committed
% id
% status committed
% 使HTTP 400HTTP 404HTTP 409
% JSON对象
% errortrue
% codeHTTP状态码
% errorNum
% errorMessage
% errortrue
% codeHTTP状态码
% errorNum
% errorMessage
%
% 200 HTTP 200
% 400使HTTP 400
% 404使HTTP 404
% 409使HTTP 409
% 200 HTTP 200
% 400使HTTP 400
% 404使HTTP 404
% 409使HTTP 409
commitTransaction(PoolNameOrSocket, TransactionId) ->
Path = <<"/_api/transaction/", (agMiscUtils:toBinary(TransactionId))/binary>>,
agHttpCli:callAgency(PoolNameOrSocket, ?AgPut, Path, [], undefined).
@ -88,37 +128,37 @@ commitTransaction(PoolNameOrSocket, TransactionId) ->
%
% DELETE /_api/transaction/{transaction-id}
%
% transaction-id
% transaction-id
%
% HTTP 200JSON对象具有以下属性
% error false
% codeHTTP状态码
% error false
% codeHTTP状态码
%
% id
% status aborted
% id
% status aborted
% 使HTTP 400HTTP 404HTTP 409
% JSON对象
% errortrue
% codeHTTP状态码
% errorNum
% errorMessage
% errortrue
% codeHTTP状态码
% errorNum
% errorMessage
%
% 200 HTTP 200
% 400使HTTP 400
% 404使HTTP 404
% 409HTTP 409
% 200 HTTP 200
% 400使HTTP 400
% 404使HTTP 404
% 409HTTP 409
abortTransaction(PoolNameOrSocket, TransactionId) ->
Path = <<"/_api/transaction/", (agMiscUtils:toBinary(TransactionId))/binary>>,
agHttpCli:callAgency(PoolNameOrSocket, ?AgDelete, Path, [], undefined).
%
% GET /_api/transaction
% 使transactions属性进行描述
% 使transactions属性进行描述
%
% idID
% status
% idID
% status
%
% 200HTTP 200
% 200HTTP 200
getTransactionList(PoolNameOrSocket) ->
agHttpCli:callAgency(PoolNameOrSocket, ?AgGet, <<"/_api/transaction">>, [], undefined).
@ -126,35 +166,36 @@ getTransactionList(PoolNameOrSocket) ->
% ArangoDB的JS事务在服务器上执行
% ArangoDB中的JS事务不提供单独的BEGINCOMMIT和ROLLBACK ArangoDB JS事务由JavaScript函数描述JavaScript函数中的代码将以事务方式执行
%
% ArangoDB中事务如何工作的更详细描述Transactions
%
% POST /_api/transaction
% JSON对象是必需的
% collectionscollections必须是一个JSON对象readwrite或Exclusive collection名称的数组或单个collection name作为字符串使write或Exclusive属性声明将在事务中写入的集合allowImplicit设置为false 使
% actionJavaScript代码的形式 return语句结尾 REST API还将在result属性中返回返回的值
% waitForSync
% allowImplicit
% lockTimeout使lockTimeout设置为0将使ArangoDB不会在等待锁定时超时
%
% maxTransactionSizeRocksDB存储引擎的尊敬
% collectionscollections必须是一个JSON对象readwrite或Exclusive collection名称的数组或单个collection name作为字符串使write或Exclusive属性声明将在事务中写入的集合allowImplicit设置为false 使
% actionJavaScript代码的形式 return语句结尾 REST API还将在result属性中返回返回的值
% waitForSync
% allowImplicit
% lockTimeout使lockTimeout设置为0将使ArangoDB不会在等待锁定时超时
% params
% maxTransactionSizeRocksDB存储引擎的尊敬
% POST请求的正文中传递
% HTTP 200result属性中返回
% JSON对象具有以下属性
% error false
% codeHTTP状态码
%
% error false
% codeHTTP状态码
% result
% 使HTTP 400
% JSON对象
% errortrue
% codeHTTP状态码
% errorNum
% errorMessage
% errortrue
% codeHTTP状态码
% errorNum
% errorMessage
% 使 HTTP 400HTTP 409HTTP 500
%
% 200 HTTP 200
% 400使HTTP 400
% 404使HTTP 404
% 500使HTTP 500
% 200 HTTP 200
% 400使HTTP 400
% 404使HTTP 404
% 500使HTTP 500
executeTransaction(PoolNameOrSocket, MapData) ->
BodyStr = jiffy:encode(MapData),
agHttpCli:callAgency(PoolNameOrSocket, ?AgPost, <<"/_api/transaction">>, [], BodyStr).

Laden…
Abbrechen
Speichern