快速入门
安装
基本操作
数据模型
SQL引擎
系统架构
数据库管理
连接器
驱动
参考手册
故障排除
SAC
版本信息
事务是由一系列操作组成的逻辑工作单元。在同一个会话(或连接)中,同一时刻只允许存在一个事务,也就是说当用户在一次会话中创建了一个事务,在这个事务结束前用户不能再创建新的事务。
事务作为一个完整的工作单元执行,事务中的操作要么全部执行成功要么全部执行失败。SequoiaDB事务中的操作只能是插入数据、修改数据以及删除数据,在事务过程中执行的其它操作不会纳入事务范畴,也就是说事务回滚时非事务操作不会被执行回滚。如果一个表或表空间中有数据涉及事务操作,则该表或表空间不允许被删除。
默认情况下,事务功能是关闭的。
如要打开事务功能需要在节点的配置文件中配置参数:transactionon = TRUE;在创建数据节点时,增加 JSON 类型的参数:{ "transactionon": "YES" } 或 { "transactionon": true }。
注意:要打开事务功能,必须将logfilenum设置为大于等于5的值(如果未单独配置,其默认为20,则不需要修改)
> db.transBegin()
> cl.insert( { date: 99, id: 8, a: 0 } )
> db.transRollback() > cl.count() Return 0 row(s).
> db.transBegin()
> cl.insert( { date: 99, id: 8, a: 0 } )
> db.transCommit() > cl.count() Return 1 row(s).