X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Flibs%2Frdbms%2Fdatabase%2FDatabasePostgres.php;h=4ae41047b07d900e039cec9226fc41b0d9527d78;hb=4905504faded8f85a9b3d68b27da5c9e2f11bd06;hp=0935d5a135c9d955c775c4737867f0868c234eb2;hpb=893b698e3a03052af49779cc661b297cf27fd6e3;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/libs/rdbms/database/DatabasePostgres.php b/includes/libs/rdbms/database/DatabasePostgres.php index 0935d5a135..4ae41047b0 100644 --- a/includes/libs/rdbms/database/DatabasePostgres.php +++ b/includes/libs/rdbms/database/DatabasePostgres.php @@ -116,7 +116,7 @@ class DatabasePostgres extends Database { $connectVars['port'] = (int)$this->port; } if ( $this->flags & self::DBO_SSL ) { - $connectVars['sslmode'] = 1; + $connectVars['sslmode'] = 'require'; } $this->connectString = $this->makeConnectionString( $connectVars ); @@ -216,6 +216,10 @@ class DatabasePostgres extends Database { !preg_match( '/^SELECT\s+pg_(try_|)advisory_\w+\(/', $sql ); } + /** + * @param string $sql + * @return bool|mixed|resource + */ public function doQuery( $sql ) { $conn = $this->getBindingHandle(); @@ -653,6 +657,18 @@ __INDEXATTR__; return true; } + protected function makeUpdateOptionsArray( $options ) { + if ( !is_array( $options ) ) { + $options = [ $options ]; + } + + // PostgreSQL doesn't support anything like "ignore" for + // UPDATE. + $options = array_diff( $options, [ 'IGNORE' ] ); + + return parent::makeUpdateOptionsArray( $options ); + } + /** * INSERT SELECT wrapper * $varMap must be an associative array of the form [ 'dest1' => 'source1', ... ] @@ -1330,10 +1346,6 @@ SQL; return [ $startOpts, $useIndex, $preLimitTail, $postLimitTail, $ignoreIndex ]; } - public function getServer() { - return $this->server; - } - public function buildConcat( $stringList ) { return implode( ' || ', $stringList ); }