4.4业务操作详解
该业务操作为之前的transact中的request的param参数部分,这里主要对各种业务操作做详细说明。
4.4.1 Insert
Insert包含了如下成员:
“op”: “insert” required
“table”:
“row”: required
“uuid-name”: optional
相关的结果包含了如下成员:
“uuid”:
相关的结果包含了如下成员:
“error”: “timed out”
4.4.2 Select
Select包含了如下成员:
“op”: “select” required
“table”:
“where”: [ ] required
“columns”: [] optional
相关的结果包含了如下成员:
“rows”: [ ]
该操作主要是搜寻表格中满足条件的行,如果条件项为空,那么表格中的每一行都被选中。
4.4.3 Update
update包含了如下成员:
“op”: “update” required
“table”:
“where”: [] required
“row”: required
相关的结果包含了如下成员:
“count”:
该操作主要是更新一个表格的行,它根据where参数来找寻相关的条件,并修改相应的列中的参数。
如果出错则返回如下信息:
“error”: “constraint violation”
注意:在表格中的"_uuid" 和"_version"两个列可能不会被这个操作所更新,另外被设计成只读模式的列也不会被更新。
4.4.4 Mutate
mutate包含了如下成员:
“op”: “mutate” required
“table”:
“where”: [ ] required
“mutations”: [] required
相关的结果包含了如下成员:
“count”:
该操作主要是改变一个表格的行,它根据where参数来找寻相关的条件,并按顺序修改相应的列中的参数。
如果出错则返回如下信息:
“error”: “domain error”
“error”: “range error”
“error”: “constraint violation”
注意:在表格中的"_uuid" 和"_version"两个列可能不会被这个操作所更新,另外被设计成只读模式的列也不会被更新。
4.4.5 Delete
Delete包含了如下成员:
“op”: “delete” required
“table”:
“where”: [ ] required
相关的结果包含了如下成员:
“count”:
该操作删除了所匹配的表格中的所有的符合condition条件的行,所删除的结果的行数在count中描述出来。
4.4.6 Wait
Wait包含了如下成员:
“op”: “wait” required
“timeout”: optional
“table”:
“where”: [
“columns”: [ ] required
“until”: “==” or “!=” required
“rows”: [] required
该操作没有相应的结果描述。
相关的操作直到条件变为true才会执行。
4.4.7 Commit
Commit包含了如下成员:
“op”: “commit” required
“durable”: <Boolean
required
该操作没有相应的结果描述。
如果durable参数为TURE,那么在发往client执行commit之前,其会被保存。
如果出错则返回如下信息:
“error”: “not supported”
4.4.8 Abort
Abort包含了如下成员:
“op”: “abort” required
该操作没有相应的结果描述。该操作会以错误终止整个的transaction操作。
如果出错则返回如下信息:
“error”: “aborted”
4.4.9 Comment
Comment包含了如下成员:
“op”: “comment” required
“comment”: required
该操作没有相应的结果描述。该操作可用于debug中,特别是有多个client正在写入数据库的时候,可以用此操作增加相应的日志来记录相应的改变。
4.4.10 Assert
Assert包含了如下成员:
“op”: “assert” required
“lock”: required
该操作没有相应的结果描述。该操作可以致使没有拥有相应的lock id的client的transaction操作终止。
如果出错则返回如下信息:
“error”: “not owner”