Yaron Koren has uploaded a new change for review.
https://gerrit.wikimedia.org/r/281664
Change subject: Added commas to set of field delims in regexps
......................................................................
Added commas to set of field delims in regexps
Change-Id: I90398aa98fc232c41464782cf67adbe5edc7cd37
---
M CargoUtils.php
1 file changed, 19 insertions(+), 18 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Cargo
refs/changes/64/281664/1
diff --git a/CargoUtils.php b/CargoUtils.php
index 3cc4f7a..a9e5b7a 100644
--- a/CargoUtils.php
+++ b/CargoUtils.php
@@ -287,7 +287,7 @@
*/
public static function getSQLFieldPattern( $fieldName, $closePattern =
true ) {
$fieldName = str_replace( '$', '\$', $fieldName );
- $pattern = '/([^\w$.]|^)'.$fieldName;
+ $pattern = '/([^\w$.,]|^)'.$fieldName;
return $pattern . ( $closePattern ? '([^\w$]|$)/i' : '' );
}
@@ -298,7 +298,7 @@
public static function getSQLTableAndFieldPattern( $tableName,
$fieldName, $closePattern = true ) {
$fieldName = str_replace( '$', '\$', $fieldName );
$tableName = str_replace( '$', '\$', $tableName );
- $pattern = '/([^\w$]|^)'.$tableName.'\.'.$fieldName;
+ $pattern = '/([^\w$,]|^)'.$tableName.'\.'.$fieldName;
return $pattern . ( $closePattern ? '([^\w$]|$)/i' : '' );
}
@@ -536,11 +536,11 @@
$createSQL = "CREATE TABLE " .
$cdb->tableName( $tableName ) . ' ( ' .
- "_ID $intTypeString NOT NULL UNIQUE, " .
- "_pageName $stringTypeString NOT NULL, " .
- "_pageTitle $stringTypeString NOT NULL, " .
- "_pageNamespace $intTypeString NOT NULL, " .
- "_pageID $intTypeString NOT NULL";
+ $cdb->addIdentifierQuotes( '_ID' ) . " $intTypeString
NOT NULL UNIQUE, " .
+ $cdb->addIdentifierQuotes( '_pageName' ) . "
$stringTypeString NOT NULL, " .
+ $cdb->addIdentifierQuotes( '_pageTitle' ) . "
$stringTypeString NOT NULL, " .
+ $cdb->addIdentifierQuotes( '_pageNamespace' ) . "
$intTypeString NOT NULL, " .
+ $cdb->addIdentifierQuotes( '_pageID' ) . "
$intTypeString NOT NULL";
foreach ( $tableSchema->mFieldDescriptions as $fieldName =>
$fieldDescription ) {
$size = $fieldDescription->mSize;
@@ -552,7 +552,7 @@
// instead, we'll have one called
// fieldName + '__full', and a separate table
// for holding each value.
- $createSQL .= ', ' . $fieldName . '__full ';
+ $createSQL .= ', ' . $cdb->addIdentifierQuotes(
$fieldName . '__full' ) . ' ';
// The field holding the full list will always
// just be text
$createSQL .= $stringTypeString;
@@ -563,16 +563,16 @@
if ( !$isList && $fieldType == 'Coordinates' ) {
$floatTypeString = self::fieldTypeToSQLType(
'Float', $dbType );
- $createSQL .= ', ' . $fieldName . '__lat ';
+ $createSQL .= ', ' . $cdb->addIdentifierQuotes(
$fieldName . '__lat' ) . ' ';
$createSQL .= $floatTypeString;
- $createSQL .= ', ' . $fieldName . '__lon ';
+ $createSQL .= ', ' . $cdb->addIdentifierQuotes(
$fieldName . '__lon' ) . ' ';
$createSQL .= $floatTypeString;
} elseif ( $fieldType == 'Date' || $fieldType ==
'Datetime' ) {
$integerTypeString = self::fieldTypeToSQLType(
'Integer', $dbType );
- $createSQL .= ', ' . $fieldName . '__precision
';
+ $createSQL .= ", " . $cdb->addIdentifierQuotes(
$fieldName . '__precision' ) . ' ';
$createSQL .= $integerTypeString;
} elseif ( $fieldType == 'Searchtext' ) {
- $createSQL .= ", FULLTEXT KEY $fieldName
($fieldName)";
+ $createSQL .= ", FULLTEXT KEY $fieldName (" .
$cdb->addIdentifierQuotes( $fieldName ) . ')';
}
}
$createSQL .= ' )';
@@ -582,19 +582,19 @@
//$cdb->ignoreErrors( false );
$createIndexSQL = "CREATE INDEX page_id_$tableName ON " .
$cdb->tableName( $tableName ) .
- " (_pageID)";
+ ' (' . $cdb->addIdentifierQuotes( '_pageID' ) . ')';
$cdb->query( $createIndexSQL );
$createIndexSQL2 = "CREATE INDEX page_name_$tableName ON " .
$cdb->tableName( $tableName ) .
- " (_pageName)";
+ ' (' . $cdb->addIdentifierQuotes( '_pageName' ) . ')';
$cdb->query( $createIndexSQL2 );
$createIndexSQL3 = "CREATE INDEX page_title_$tableName ON " .
$cdb->tableName( $tableName ) .
- " (_pageTitle)";
+ ' (' . $cdb->addIdentifierQuotes( '_pageTitle' ) . ')';
$cdb->query( $createIndexSQL3 );
$createIndexSQL4 = "CREATE INDEX page_namespace_$tableName ON "
. $cdb->tableName( $tableName )
- . " (_pageNamespace)";
+ . ' (' . $cdb->addIdentifierQuotes( '_pageNamespace' )
. ')';
$cdb->query( $createIndexSQL4 );
$createIndexSQL5 = "CREATE UNIQUE INDEX id_$tableName ON " .
$cdb->tableName( $tableName ) .
- " (_ID)";
+ ' (' . $cdb->addIdentifierQuotes( '_ID' ) . ')';
$cdb->query( $createIndexSQL5 );
// Now also create tables for each of the 'list' fields,
@@ -624,7 +624,8 @@
$createSQL .= ' )';
$cdb->query( $createSQL );
$createIndexSQL = "CREATE INDEX row_id_$fieldTableName
ON " .
- $cdb->tableName( $fieldTableName ) . "
(_rowID)";
+ $cdb->tableName( $fieldTableName ) .
+ ' (' . $cdb->addIdentifierQuotes( '_rowID' ) .
')';
$cdb->query( $createIndexSQL );
$fieldTableNames[] = $tableName . '__' . $fieldName;
}
--
To view, visit https://gerrit.wikimedia.org/r/281664
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I90398aa98fc232c41464782cf67adbe5edc7cd37
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Cargo
Gerrit-Branch: master
Gerrit-Owner: Yaron Koren <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits