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

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