Index: trunk/phase3/includes/db/DatabaseOracle.php |
— | — | @@ -419,7 +419,7 @@ |
420 | 420 | if (!is_array($options)) |
421 | 421 | $options = array($options); |
422 | 422 | |
423 | | - if (in_array('IGNORE', $options)) |
| 423 | + if (in_array('IGNORE', $options)) |
424 | 424 | $this->ignore_DUP_VAL_ON_INDEX = true; |
425 | 425 | |
426 | 426 | if (!is_array(reset($a))) { |
— | — | @@ -648,6 +648,8 @@ |
649 | 649 | $rows = array($rows); |
650 | 650 | } |
651 | 651 | |
| 652 | + $sequenceData = $this->getSequenceData($table); |
| 653 | + |
652 | 654 | foreach( $rows as $row ) { |
653 | 655 | # Delete rows which collide |
654 | 656 | if ( $uniqueIndexes ) { |
— | — | @@ -678,6 +680,9 @@ |
679 | 681 | $this->query( $sql, $fname ); |
680 | 682 | } |
681 | 683 | |
| 684 | + if ($sequenceData !== false && !isset($row[$sequenceData['column']])) |
| 685 | + $row[$sequenceData['column']] = $this->nextSequenceValue($sequenceData['sequence']); |
| 686 | + |
682 | 687 | # Now insert the row |
683 | 688 | $this->insert( $table, $row, $fname ); |
684 | 689 | } |