diff -cwr mediawiki-1.22.1-patched/includes/db/DatabasePostgres.php mediawiki-1.22.1/includes/db/DatabasePostgres.php *** mediawiki-1.22.1-patched/includes/db/DatabasePostgres.php Tue Jan 28 16:08:55 2014 --- mediawiki-1.22.1/includes/db/DatabasePostgres.php Tue Jan 14 06:50:42 2014 *************** *** 729,743 **** * so causes a DB error. This wrapper checks which tables can be locked and adjusts it accordingly. */ function selectSQLText( $table, $vars, $conds = '', $fname = __METHOD__, $options = array(), $join_conds = array() ) { - if ( is_array($options) ) { $forUpdateKey = array_search( 'FOR UPDATE', $options ); if ( $forUpdateKey !== false && $join_conds ) { unset( $options[$forUpdateKey] ); ! foreach ( $join_conds as $table_cond => $join_cond ) { if ( 0 === preg_match( '/^(?:LEFT|RIGHT|FULL)(?: OUTER)? JOIN$/i', $join_cond[0] ) ) { ! $options['FOR UPDATE'][] = $table_cond; ! } } } } --- 729,741 ---- * so causes a DB error. This wrapper checks which tables can be locked and adjusts it accordingly. */ function selectSQLText( $table, $vars, $conds = '', $fname = __METHOD__, $options = array(), $join_conds = array() ) { $forUpdateKey = array_search( 'FOR UPDATE', $options ); if ( $forUpdateKey !== false && $join_conds ) { unset( $options[$forUpdateKey] ); ! foreach ( $join_conds as $table => $join_cond ) { if ( 0 === preg_match( '/^(?:LEFT|RIGHT|FULL)(?: OUTER)? JOIN$/i', $join_cond[0] ) ) { ! $options['FOR UPDATE'][] = $table; } } }