Commit 3f220a19 authored by Benjamin Eberlei's avatar Benjamin Eberlei

Merge branch 'DBAL-431'

parents cb9f1ad7 2dc589c5
......@@ -44,6 +44,24 @@ class MySqlPlatform extends AbstractPlatform
const LENGTH_LIMIT_BLOB = 65535;
const LENGTH_LIMIT_MEDIUMBLOB = 16777215;
/**
* Adds MySQL-specific LIMIT clause to the query
* 18446744073709551615 is 2^64-1 maximum of unsigned BIGINT the biggest limit possible
*/
protected function doModifyLimitQuery($query, $limit, $offset)
{
if ($limit !== null) {
$query .= ' LIMIT ' . $limit;
if ($offset !== null) {
$query .= ' OFFSET ' . $offset;
}
} elseif ($offset !== null) {
$query .= ' LIMIT 18446744073709551615 OFFSET ' . $offset;
}
return $query;
}
/**
* {@inheritDoc}
*/
......
......@@ -17,6 +17,12 @@ class MySqlPlatformTest extends AbstractPlatformTestCase
return new MysqlPlatform;
}
public function testModifyLimitQueryWitoutLimit()
{
$sql = $this->_platform->modifyLimitQuery('SELECT n FROM Foo', null , 10);
$this->assertEquals('SELECT n FROM Foo LIMIT 18446744073709551615 OFFSET 10',$sql);
}
public function testGenerateMixedCaseTableCreate()
{
$table = new Table("Foo");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment