Yaron Koren has submitted this change and it was merged. Change subject: Fix for when Cargo and main MW DBs use different DBMS ......................................................................
Fix for when Cargo and main MW DBs use different DBMS Change-Id: I1d61e8ef1781cc074914cef0a3e0dfb860d6b478 --- M CargoUtils.php 1 file changed, 8 insertions(+), 10 deletions(-) Approvals: Yaron Koren: Checked; Looks good to me, approved diff --git a/CargoUtils.php b/CargoUtils.php index c9a9ee5..d74e04c 100644 --- a/CargoUtils.php +++ b/CargoUtils.php @@ -282,14 +282,11 @@ * Why "tables"? Because every field that holds a list of values gets * its own helper table. * - * @global string $wgDBtype * @param int $templatePageID * @return boolean * @throws MWException */ public static function recreateDBTablesForTemplate( $templatePageID ) { - global $wgDBtype; - $tableSchemaString = self::getPageProp( $templatePageID, 'CargoFields' ); // First, see if there even is DB storage for this template - // if not, exit. @@ -318,8 +315,9 @@ $tableName = self::getPageProp( $templatePageID, 'CargoTableName' ); // Unfortunately, there is not yet a 'CREATE TABLE' wrapper // in the MediaWiki DB API, so we have to call SQL directly. - $intTypeString = self::fieldTypeToSQLType( 'Integer', $wgDBtype ); - $textTypeString = self::fieldTypeToSQLType( 'Text', $wgDBtype ); + $dbType = $cdb->getType(); + $intTypeString = self::fieldTypeToSQLType( 'Integer', $dbType ); + $textTypeString = self::fieldTypeToSQLType( 'Text', $dbType ); $createSQL = "CREATE TABLE " . $cdb->tableName( $tableName ) . ' ( ' . @@ -345,17 +343,17 @@ $createSQL .= $textTypeString; } else { $createSQL .= ", $fieldName "; - $createSQL .= self::fieldTypeToSQLType( $fieldType, $wgDBtype, $size ); + $createSQL .= self::fieldTypeToSQLType( $fieldType, $dbType, $size ); } if ( !$isList && $fieldType == 'Coordinates' ) { - $floatTypeString = self::fieldTypeToSQLType( 'Float', $wgDBtype ); + $floatTypeString = self::fieldTypeToSQLType( 'Float', $dbType ); $createSQL .= ', ' . $fieldName . '__lat '; $createSQL .= $floatTypeString; $createSQL .= ', ' . $fieldName . '__lon '; $createSQL .= $floatTypeString; } elseif ( $fieldType == 'Date' || $fieldType == 'Datetime' ) { - $integerTypeString = self::fieldTypeToSQLType( 'Integer', $wgDBtype ); + $integerTypeString = self::fieldTypeToSQLType( 'Integer', $dbType ); $createSQL .= ', ' . $fieldName . '__precision '; $createSQL .= $integerTypeString; } @@ -399,12 +397,12 @@ $cdb->tableName( $fieldTableName ) . ' ( ' . "_rowID $intTypeString, "; if ( $fieldType == 'Coordinates' ) { - $floatTypeString = self::fieldTypeToSQLType( 'Float', $wgDBtype ); + $floatTypeString = self::fieldTypeToSQLType( 'Float', $dbType ); $createSQL .= '_value ' . $floatTypeString . ', '; $createSQL .= '_lat ' . $floatTypeString . ', '; $createSQL .= '_lon ' . $floatTypeString; } else { - $createSQL .= '_value ' . self::fieldTypeToSQLType( $fieldType, $wgDBtype, $size ); + $createSQL .= '_value ' . self::fieldTypeToSQLType( $fieldType, $dbType, $size ); } $createSQL .= ' )'; $cdb->query( $createSQL ); -- To view, visit https://gerrit.wikimedia.org/r/223341 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I1d61e8ef1781cc074914cef0a3e0dfb860d6b478 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/Cargo Gerrit-Branch: master Gerrit-Owner: Yaron Koren <yaro...@gmail.com> Gerrit-Reviewer: Yaron Koren <yaro...@gmail.com> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits