Code Duplication    Length = 7-8 lines in 3 locations

src/MSSQLDatabase.php 3 locations

@@ 427-433 (lines=7) @@
424
     */
425
    public function transactionStart($transactionMode = false, $sessionCharacteristics = false)
426
    {
427
        if ($this->transactionNesting > 0) {
428
            $this->transactionSavepoint('NESTEDTRANSACTION' . $this->transactionNesting);
429
        } elseif ($this->connector instanceof SQLServerConnector) {
430
            $this->connector->transactionStart();
431
        } else {
432
            $this->query('BEGIN TRANSACTION');
433
        }
434
        ++$this->transactionNesting;
435
    }
436
@@ 456-462 (lines=7) @@
453
        }
454
455
        --$this->transactionNesting;
456
        if ($this->transactionNesting > 0) {
457
            $this->transactionRollback('NESTEDTRANSACTION' . $this->transactionNesting);
458
        } elseif ($this->connector instanceof SQLServerConnector) {
459
            $this->connector->transactionRollback();
460
        } else {
461
            $this->query('ROLLBACK TRANSACTION');
462
        }
463
        return true;
464
    }
465
@@ 473-480 (lines=8) @@
470
            return false;
471
        }
472
        --$this->transactionNesting;
473
        if ($this->transactionNesting <= 0) {
474
            $this->transactionNesting = 0;
475
            if ($this->connector instanceof SQLServerConnector) {
476
                $this->connector->transactionEnd();
477
            } else {
478
                $this->query('COMMIT TRANSACTION');
479
            }
480
        }
481
        return true;
482
    }
483