Umherirrender has uploaded a new change for review. https://gerrit.wikimedia.org/r/110991
Change subject: Add sequence support for upsert in DatabaseOracle ...................................................................... Add sequence support for upsert in DatabaseOracle In the same way as in selectInsert Bug: 53710 Change-Id: I26f891da808ecdc932e29eebda71df4c17a29617 --- M includes/db/DatabaseOracle.php 1 file changed, 19 insertions(+), 0 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core refs/changes/91/110991/1 diff --git a/includes/db/DatabaseOracle.php b/includes/db/DatabaseOracle.php index d304444..68a9c61 100644 --- a/includes/db/DatabaseOracle.php +++ b/includes/db/DatabaseOracle.php @@ -773,6 +773,25 @@ return $retval; } + public function upsert( $table, array $rows, array $uniqueIndexes, array $set, + $fname = __METHOD__ + ) { + if ( !count( $rows ) ) { + return true; // nothing to do + } + + if ( !is_array( reset( $rows ) ) ) { + $rows = array( $rows ); + } + + $sequenceData = $this->getSequenceData( $table ) + if ( $sequenceData !== false && !isset( $rows[$sequenceData['column']] ) ) { + $rows[$sequenceData['column']] = 'GET_SEQUENCE_VALUE(\'' . $sequenceData['sequence'] . '\')'; + } + + return parent::upsert( $table, $rows, $uniqueIndexes, $set, $fname ); + } + function tableName( $name, $format = 'quoted' ) { /* Replace reserved words with better ones -- To view, visit https://gerrit.wikimedia.org/r/110991 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I26f891da808ecdc932e29eebda71df4c17a29617 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/core Gerrit-Branch: master Gerrit-Owner: Umherirrender <umherirrender_de...@web.de> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits