TransactionHandler
class TransactionHandler
TransactionHandler
- DatabaseHandler 에서 생성된 VirtualConnection 의 여러개의 database connection 을
하나의 transaction 으로 관리
- DatabaseHandler 에 의해 생성된 VirtualConnection 들의 transaction 관리
- 각 VirtualConnection 가 갖는 connection 들은 연관성 없는 transaction 으로 처리됨
- TransactionHandler 로 단일 connection 같이 처리
- 하나 이상의 물리적으로 다른 connection 을 동일한 transaction 으로 처리
사용법
Transaction
- VirtualConnection 통해 TransactionHandler 에서 처리
XeDB::beginTransaction();
XeDB::commit();
XeDB::rollBack();
Properties
protected int | $globalTransactions | 모든 connector 의 transaction 을 통합해서 관리 | |
static private array | $instance | singleton instances |
Methods
singleton
not able clone
create instance if not exists
destroy singleton instance
Database 연길 할 때 transaction 이 진행 중이라면 연결하려는 $connection 의 transaction 시작 \Illuminiate\Database\Connection 의 transaction level 은 0 또는 1 로 제한.
Get the number of active transactions.
Details
at line 67
private
__construct()
singleton
at line 77
private void
__clone()
not able clone
at line 87
static TransactionHandler
instance()
create instance if not exists
at line 101
static void
destruct()
destroy singleton instance
at line 114
void
setCurrent(Connection $connection)
Database 연길 할 때 transaction 이 진행 중이라면 연결하려는 $connection 의 transaction 시작 \Illuminiate\Database\Connection 의 transaction level 은 0 또는 1 로 제한.
transaction level 은 transaction handler 로 제어.
at line 129
void
beginTransaction(DatabaseCoupler $coupler)
$connectionHandlers 가 갖고 있는 connection transaction 처리.
/Illuminate/Database/Connection 의 transactions 는 1 또는 0. transaction 관리는 globalTransactions 로 처리
at line 147
void
commit(DatabaseCoupler $coupler)
$connectionHandlers 가 갖고 있는 connection commit.
/Illuminate/Database/Connection 의 commit.
at line 168
void
rollBack(DatabaseCoupler $coupler)
$connectionHandlers 가 갖고 있는 connection Rollbsack.
/Illuminate/Database/Connection 의 rollBack.
at line 189
int
transactionLevel()
Get the number of active transactions.