Move Sqlites's indexName to Database to have no remapping by default.
This is because MSSQL and Postgresql both don't need remapping, it's
just MySQL that's the problem.
So move the one from Database into MysqlBase to only do the remappings
there.
Also fix up the comments to make them less vague, not mentioning tables
when the function has no table parameter passed, so hence, no context
as to which table said index is wanted to be used
Bug: T154872
Change-Id: I46c575771e6cb36176bcf6cd1a865b703db0275d
}
/**
- * Get the name of an index in a given table.
+ * Allows for index remapping in queries where this is not consistent across DBMS
*
* @param string $index
* @return string
*/
protected function indexName( $index ) {
- // Backwards-compatibility hack
- $renamed = [
- 'ar_usertext_timestamp' => 'usertext_timestamp',
- 'un_user_id' => 'user_id',
- 'un_user_ip' => 'user_ip',
- ];
-
- if ( isset( $renamed[$index] ) ) {
- return $renamed[$index];
- } else {
- return $index;
- }
+ return $index;
}
public function addQuotes( $s ) {
public function isView( $name, $prefix = null ) {
return in_array( $name, $this->listViews( $prefix ) );
}
+
+ /**
+ * Allows for index remapping in queries where this is not consistent across DBMS
+ *
+ * @param string $index
+ * @return string
+ */
+ protected function indexName( $index ) {
+ // Backwards-compatibility hack
+ $renamed = [
+ 'ar_usertext_timestamp' => 'usertext_timestamp',
+ 'un_user_id' => 'user_id',
+ 'un_user_ip' => 'user_ip',
+ ];
+
+ if ( isset( $renamed[$index] ) ) {
+ return $renamed[$index];
+ } else {
+ return $index;
+ }
+ }
}
return str_replace( '"', '', parent::tableName( $name, $format ) );
}
- /**
- * Index names have DB scope
- *
- * @param string $index
- * @return string
- */
- protected function indexName( $index ) {
- return $index;
- }
-
/**
* This must be called after nextSequenceVal
*