diff --git a/src/Query/MysqlQueryBuilder.php b/src/Query/MysqlQueryBuilder.php index 2d93d25ba..35cca93a0 100644 --- a/src/Query/MysqlQueryBuilder.php +++ b/src/Query/MysqlQueryBuilder.php @@ -220,6 +220,11 @@ public function findInSet($value, $set) */ public function selectRowNumber($orderBy, $orderColumnAlias) { + // Use parent method with ROW_NUMBER() window function on MariaDB 11.0.0 and newer. + if ($this->db->isMariaDb() && version_compare($this->db->getVersion(), '11.0.0', '>=')) { + return parent::selectRowNumber($orderBy, $orderColumnAlias); + } + $this->validateRowNumber($orderBy, $orderColumnAlias); return $this->select("(SELECT @rownum := @rownum + 1 FROM (SELECT @rownum := 0) AS r) AS $orderColumnAlias");