=== Changes since 1.19 beta 2 ===
* Special:Watchlist no longer sets links to feed when the user is anonymous
+* (bug 35565) Special:Log/patrol doesn't indicate whether patrolling was
+ automatic
=== Changes since 1.19 beta 1 ===
* (bug 35014) Including a special page no longer sets the page's title to the
usages of -s and -n parameters depending on compression type
* (bug 13896) Rendering of devanagari numbers in automatic '#' number lists
* (bug 18704) Add an unique CSS class or ID to the tagfilter table row at RecentChanges
+* (bug 33689) Upgrade to 1.19 on Postgres fails due to incomplete query when
+ trying to defer foreign key for externallinks
=== API changes in 1.20 ===
* (bug 34316) Add ability to retrieve maximum upload size from MediaWiki API.
if ( $this->method == 'POST' ) {
// Required for HTTP 1.0 POSTs
$this->reqHeaders['Content-Length'] = strlen( $this->postData );
- $this->reqHeaders['Content-type'] = "application/x-www-form-urlencoded";
+ if( !isset( $this->reqHeaders['Content-Type'] ) ) {
+ $this->reqHeaders['Content-Type'] = "application/x-www-form-urlencoded";
+ }
}
$options = array();
static function fromText( $db, $table, $field ) {
$q = <<<SQL
SELECT
- attnotnull, attlen, COALESCE(conname, '') AS conname,
+ attnotnull, attlen, conname AS conname,
COALESCE(condeferred, 'f') AS deferred,
COALESCE(condeferrable, 'f') AS deferrable,
CASE WHEN typname = 'int2' THEN 'smallint'
$debugInfo = array(
'mwVersion' => $wgVersion,
'phpVersion' => PHP_VERSION,
+ 'gitRevision' => GitInfo::headSHA1(),
+ 'gitBranch' => GitInfo::currentBranch(),
'time' => microtime( true ) - $wgRequestTime,
'log' => self::$log,
'debugLog' => self::$debug,
}
$this->output( "Altering column '$table.$field' to be DEFERRABLE INITIALLY DEFERRED\n" );
$conname = $fi->conname();
- $command = "ALTER TABLE $table DROP CONSTRAINT $conname";
- $this->db->query( $command );
- $command = "ALTER TABLE $table ADD CONSTRAINT $conname FOREIGN KEY ($field) REFERENCES $clause DEFERRABLE INITIALLY DEFERRED";
+ if ( $fi->conname() ) {
+ $conclause = "CONSTRAINT \"$conname\"";
+ $command = "ALTER TABLE $table DROP CONSTRAINT $conname";
+ $this->db->query( $command );
+ } else {
+ $this->output( "Column '$table.$field' does not have a foreign key constraint, will be added\n" );
+ $conclause = "";
+ }
+ $command = "ALTER TABLE $table ADD $conclause FOREIGN KEY ($field) REFERENCES $clause DEFERRABLE INITIALLY DEFERRED";
$this->db->query( $command );
}
protected function getMessageParameters() {
$params = parent::getMessageParameters();
- $newParams = array_slice( $params, 0, 3 );
$target = $this->entry->getTarget();
$oldid = $params[3];
$revlink = htmlspecialchars( $revision );
}
- $newParams[3] = Message::rawParam( $revlink );
- return $newParams;
+ $params[3] = Message::rawParam( $revlink );
+ return $params;
}
}
paneTriggerBitDiv( 'includes', 'PHP includes', this.data.includes.length );
+ var gitInfo = '';
+ if ( this.data.gitRevision != false ) {
+ gitInfo = ' (' + this.data.gitRevision.substring( 0, 7 ) + ')';
+ }
+
bitDiv( 'mwversion' )
.append( $( '<a href="//www.mediawiki.org/"></a>' ).text( 'MediaWiki' ) )
- .append( ': ' + this.data.mwVersion );
+ .append( ': ' + this.data.mwVersion + gitInfo );
+
+ if ( this.data.gitBranch != false ) {
+ bitDiv( 'gitbranch' ).text( 'Git branch: ' + this.data.gitBranch );
+ }
bitDiv( 'phpversion' )
.append( $( '<a href="//www.php.net/"></a>' ).text( 'PHP' ) )