Properly support FOR UPDATE + LIMIT
authorTim Düsterhus <duesterhus@woltlab.com>
Sun, 14 Jun 2015 13:21:50 +0000 (15:21 +0200)
committerTim Düsterhus <duesterhus@woltlab.com>
Sun, 21 Jun 2015 12:44:06 +0000 (14:44 +0200)
wcfsetup/install/files/lib/system/database/Database.class.php

index bf319f9fb9a506898adf8d32d8aa1618bc83b59e..fba3294d3b7ed85107f22743110b78fad57c7660 100644 (file)
@@ -244,7 +244,7 @@ abstract class Database {
         */
        public function handleLimitParameter($query, $limit = 0, $offset = 0) {
                if ($limit != 0) {
-                       $query .= " LIMIT " . $limit . ($offset ? " OFFSET " . $offset : '');
+                       $query = preg_replace('~(\s+FOR\s+UPDATE\s*)?$~', " LIMIT " . $limit . ($offset ? " OFFSET " . $offset : '') . "\\0", $query, 1);
                }
                
                return $query;