本文整理汇总了PHP中DboSource::begin方法的典型用法代码示例。如果您正苦于以下问题:PHP DboSource::begin方法的具体用法?PHP DboSource::begin怎么用?PHP DboSource::begin使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DboSource
的用法示例。
在下文中一共展示了DboSource::begin方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testNestedTransaction
/**
* Test nested transaction
*
* @return void
*/
public function testNestedTransaction()
{
$nested = $this->Dbo->useNestedTransactions;
$this->Dbo->useNestedTransactions = true;
if ($this->Dbo->nestedTransactionSupported() === false) {
$this->Dbo->useNestedTransactions = $nested;
$this->skipIf(true, 'The MySQL server do not support nested transaction');
}
$this->loadFixtures('Inno');
$model = ClassRegistry::init('Inno');
$model->hasOne = $model->hasMany = $model->belongsTo = $model->hasAndBelongsToMany = array();
$model->cacheQueries = false;
$this->Dbo->cacheMethods = false;
$this->assertTrue($this->Dbo->begin());
$this->assertNotEmpty($model->read(null, 1));
$this->assertTrue($this->Dbo->begin());
$this->assertTrue($model->delete(1));
$this->assertEmpty($model->read(null, 1));
$this->assertTrue($this->Dbo->rollback());
$this->assertNotEmpty($model->read(null, 1));
$this->assertTrue($this->Dbo->begin());
$this->assertTrue($model->delete(1));
$this->assertEmpty($model->read(null, 1));
$this->assertTrue($this->Dbo->commit());
$this->assertEmpty($model->read(null, 1));
$this->assertTrue($this->Dbo->rollback());
$this->assertNotEmpty($model->read(null, 1));
$this->Dbo->useNestedTransactions = $nested;
}
示例2: run
/**
* Run migration
*
* @param string $direction, up or down direction of migration process
* @return boolean Status of the process
* @throws MigrationException
*/
public function run($direction)
{
if (!in_array($direction, array('up', 'down'))) {
throw new MigrationException($this, sprintf(__d('migrations', 'Migration direction (%s) is not one of valid directions.'), $direction), E_USER_NOTICE);
}
$this->direction = $direction;
$null = null;
$this->db = ConnectionManager::getDataSource($this->connection);
$this->db->cacheSources = false;
$this->db->begin($null);
$this->Schema = new CakeSchema(array('connection' => $this->connection));
try {
$this->_invokeCallbacks('beforeMigration', $direction);
$result = $this->_run();
$this->_clearCache();
$this->_invokeCallbacks('afterMigration', $direction);
if (!$result) {
return false;
}
} catch (Exception $e) {
$this->db->rollback($null);
throw $e;
}
return $this->db->commit($null);
}
示例3: testNestedTransaction
/**
* Test nested transaction
*
* @return void
*/
public function testNestedTransaction()
{
$this->skipIf($this->Dbo->nestedTransactionSupported() === false, 'The Sqlite version do not support nested transaction');
$this->loadFixtures('User');
$model = new User();
$model->hasOne = $model->hasMany = $model->belongsTo = $model->hasAndBelongsToMany = array();
$model->cacheQueries = false;
$this->Dbo->cacheMethods = false;
$this->assertTrue($this->Dbo->begin());
$this->assertNotEmpty($model->read(null, 1));
$this->assertTrue($this->Dbo->begin());
$this->assertTrue($model->delete(1));
$this->assertEmpty($model->read(null, 1));
$this->assertTrue($this->Dbo->rollback());
$this->assertNotEmpty($model->read(null, 1));
$this->assertTrue($this->Dbo->begin());
$this->assertTrue($model->delete(1));
$this->assertEmpty($model->read(null, 1));
$this->assertTrue($this->Dbo->commit());
$this->assertEmpty($model->read(null, 1));
$this->assertTrue($this->Dbo->rollback());
$this->assertNotEmpty($model->read(null, 1));
}
示例4: begin
/**
* Begin a transaction
*
* @param unknown_type $model
* @return boolean True on success, false on fail
* (i.e. if the database/model does not support transactions).
*/
function begin(&$model)
{
if (parent::begin($model)) {
if ($this->execute('BEGIN TRAN')) {
$this->_transactionStarted = true;
return true;
}
}
return false;
}
示例5: begin
/**
* Begin a transaction
*
* @param unknown_type $model
* @return boolean True on success, false on fail
* (i.e. if the database/model does not support transactions).
*/
function begin(&$model)
{
if (parent::begin($model) && $this->execute('START TRANSACTION')) {
$this->_transactionStarted = true;
return true;
}
return false;
}
示例6: begin
/**
* Begin a transaction
*
* @param unknown_type $model
* @return boolean True on success, false on fail
* (i.e. if the database/model does not support transactions).
*/
function begin(&$model)
{
if (parent::begin($model)) {
if ($this->_adodb->BeginTrans()) {
$this->_transactionStarted = true;
return true;
}
}
return false;
}
示例7: begin
/**
* Begins a transaction. Returns true if the transaction was
* started successfully, otherwise false.
*
* @param unknown_type $model
* @return boolean True on success, false on fail
* (i.e. if the database/model does not support transactions).
*/
function begin(&$model)
{
if (parent::begin($model)) {
if (db2_autocommit($this->connection, DB2_AUTOCOMMIT_OFF)) {
$this->_transactionStarted = true;
return true;
}
}
return false;
}
示例8: begin
/**
* Begin a transaction
*
* @param unknown_type $model
* @return boolean True on success, false on fail
* (i.e. if the database/model does not support transactions).
*/
function begin(&$model)
{
if (parent::begin($model)) {
if ($this->pdo_statement->beginTransaction()) {
$this->_transactionStarted = true;
return true;
}
}
return false;
}
示例9: begin
/**
* Begin a transaction
*
* @param unknown_type $model
* @return boolean True on success, false on fail
* (i.e. if the database/model does not support transactions).
*/
function begin(&$model)
{
if (parent::begin($model)) {
if (odbc_autocommit($this->connection, false)) {
$this->_transactionStarted = true;
return true;
}
}
return false;
}
示例10: begin
/**
* Begin a transaction
*
* @param unknown_type $model
* @return boolean True on success, false on fail
* (i.e. if the database/model does not support transactions).
*/
function begin(&$model)
{
if (parent::begin($model)) {
$this->__transactionStarted = true;
return true;
}
return false;
}
示例11: testNestedTransaction
/**
* Test nested transaction
*
* @return void
*/
public function testNestedTransaction()
{
$this->Dbo->useNestedTransactions = TRUE;
$this->skipIf($this->Dbo->nestedTransactionSupported() === FALSE, 'The Postgres server do not support nested transaction');
$this->loadFixtures('Article');
$model = new Article();
$model->hasOne = $model->hasMany = $model->belongsTo = $model->hasAndBelongsToMany = array();
$model->cacheQueries = FALSE;
$this->Dbo->cacheMethods = FALSE;
$this->assertTrue($this->Dbo->begin());
$this->assertNotEmpty($model->read(NULL, 1));
$this->assertTrue($this->Dbo->begin());
$this->assertTrue($model->delete(1));
$this->assertEmpty($model->read(NULL, 1));
$this->assertTrue($this->Dbo->rollback());
$this->assertNotEmpty($model->read(NULL, 1));
$this->assertTrue($this->Dbo->begin());
$this->assertTrue($model->delete(1));
$this->assertEmpty($model->read(NULL, 1));
$this->assertTrue($this->Dbo->commit());
$this->assertEmpty($model->read(NULL, 1));
$this->assertTrue($this->Dbo->rollback());
$this->assertNotEmpty($model->read(NULL, 1));
}