| @@ 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} | |
| @@ 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 | |