Code Duplication    Length = 14-20 lines in 2 locations

lib/Doctrine/DBAL/Platforms/OraclePlatform.php 1 location

@@ 733-752 (lines=20) @@
730
    /**
731
     * {@inheritdoc}
732
     */
733
    public function getForeignKeyReferentialActionSQL($action)
734
    {
735
        $action = strtoupper($action);
736
737
        switch ($action) {
738
            case 'RESTRICT': // RESTRICT is not supported, therefore falling back to NO ACTION.
739
            case 'NO ACTION':
740
                // NO ACTION cannot be declared explicitly,
741
                // therefore returning empty string to indicate to OMIT the referential clause.
742
                return '';
743
744
            case 'CASCADE':
745
            case 'SET NULL':
746
                return $action;
747
748
            default:
749
                // SET DEFAULT is not supported, throw exception instead.
750
                throw new \InvalidArgumentException('Invalid foreign key action: ' . $action);
751
        }
752
    }
753
754
    /**
755
     * {@inheritDoc}

lib/Doctrine/DBAL/Platforms/AbstractPlatform.php 1 location

@@ 2502-2515 (lines=14) @@
2499
     *
2500
     * @throws \InvalidArgumentException if unknown referential action given
2501
     */
2502
    public function getForeignKeyReferentialActionSQL($action)
2503
    {
2504
        $upper = strtoupper($action);
2505
        switch ($upper) {
2506
            case 'CASCADE':
2507
            case 'SET NULL':
2508
            case 'NO ACTION':
2509
            case 'RESTRICT':
2510
            case 'SET DEFAULT':
2511
                return $upper;
2512
            default:
2513
                throw new \InvalidArgumentException('Invalid foreign key action: ' . $upper);
2514
        }
2515
    }
2516
2517
    /**
2518
     * Obtains DBMS specific SQL code portion needed to set the FOREIGN KEY constraint