rdbms: support setting PRAGMA for synchronous in DatabaseSqlite
authorAaron Schulz <aschulz@wikimedia.org>
Thu, 14 Mar 2019 07:55:50 +0000 (00:55 -0700)
committerAaron Schulz <aschulz@wikimedia.org>
Thu, 21 Mar 2019 06:30:14 +0000 (06:30 +0000)
Change-Id: I74e2114627ecf3f32827dfe2923a8c0294879e92

includes/libs/rdbms/database/DatabaseSqlite.php

index 7049df5..f2bc01d 100644 (file)
@@ -216,6 +216,11 @@ class DatabaseSqlite extends Database {
                        # Enforce LIKE to be case sensitive, just like MySQL
                        $this->query( 'PRAGMA case_sensitive_like = 1' );
 
+                       $sync = $this->sessionVars['synchronous'] ?? null;
+                       if ( in_array( $sync, [ 'EXTRA', 'FULL', 'NORMAL' ], true ) ) {
+                               $this->query( "PRAGMA synchronous = $sync" );
+                       }
+
                        return $this->conn;
                }