Simplify logic to prevent writes on replica DB connections
[lhc/web/wiklou.git] / includes / libs / rdbms / database / Database.php
index 7f0718c..15e02ad 100644 (file)
@@ -908,6 +908,12 @@ abstract class Database implements IDatabase, IMaintainableDatabase, LoggerAware
                }
 
                if ( $isWrite ) {
+                       if ( $this->getLBInfo( 'replica' ) === true ) {
+                               throw new DBError(
+                                       $this,
+                                       'Write operations are not allowed on replica database connections.'
+                               );
+                       }
                        # In theory, non-persistent writes are allowed in read-only mode, but due to things
                        # like https://bugs.mysql.com/bug.php?id=33669 that might not work anyway...
                        $reason = $this->getReadOnlyReason();