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

@@ 2530-2543 (lines=14) @@
2527
     *
2528
     * @throws \InvalidArgumentException if unknown referential action given
2529
     */
2530
    public function getForeignKeyReferentialActionSQL($action)
2531
    {
2532
        $upper = strtoupper($action);
2533
        switch ($upper) {
2534
            case 'CASCADE':
2535
            case 'SET NULL':
2536
            case 'NO ACTION':
2537
            case 'RESTRICT':
2538
            case 'SET DEFAULT':
2539
                return $upper;
2540
            default:
2541
                throw new \InvalidArgumentException('Invalid foreign key action: ' . $upper);
2542
        }
2543
    }
2544
2545
    /**
2546
     * Obtains DBMS specific SQL code portion needed to set the FOREIGN KEY constraint