'LOCK IN SHARE MODE', $platform instanceof PostgreSQLPlatform => 'FOR SHARE', default => $this->getWriteLockSQL($platform), }; } private function getWriteLockSQL(AbstractPlatform $platform): string { return match (true) { $platform instanceof DB2Platform => 'WITH RR USE AND KEEP UPDATE LOCKS', $platform instanceof SQLitePlatform, $platform instanceof SQLServerPlatform => '', default => 'FOR UPDATE', }; } }