mirror of
https://github.com/postfixadmin/postfixadmin.git
synced 2024-09-19 19:22:14 +02:00
parent
71e7859c91
commit
29d990f5f4
@ -548,9 +548,11 @@ function create_page_browser($idxfield, $querypart, $sql_params = []) {
|
||||
}
|
||||
|
||||
if (db_sqlite()) {
|
||||
$bits = explode('.', $idxfield);
|
||||
$end = $bits[1];
|
||||
$query = "
|
||||
WITH idx AS (SELECT * $querypart)
|
||||
SELECT $idxfield AS label, (SELECT (COUNT(*) - 1) FROM idx t1 WHERE t1.$idxfield <= t2.$idxfield) AS row
|
||||
SELECT $end AS label, (SELECT (COUNT(*) - 1) FROM idx t1 WHERE t1.$end <= t2.$end ) AS row
|
||||
FROM idx t2
|
||||
WHERE (row % $page_size) IN (0,$page_size_zerobase) OR row = $count_results";
|
||||
}
|
||||
|
@ -3,11 +3,11 @@
|
||||
class CreatePageBrowserTest extends \PHPUnit\Framework\TestCase {
|
||||
public function testBasic() {
|
||||
global $CONF;
|
||||
$CONF['page_size'] = 5;
|
||||
$CONF['page_size'] = 10;
|
||||
|
||||
// insert some data.
|
||||
foreach (range(1,10) as $i) {
|
||||
$username = 'pbt' . $i;
|
||||
// insert some data.
|
||||
foreach (range(1,100) as $i) {
|
||||
$username = md5(random_int(0, 999999));
|
||||
|
||||
$this->assertEquals(1,
|
||||
db_insert(
|
||||
@ -25,8 +25,11 @@ class CreatePageBrowserTest extends \PHPUnit\Framework\TestCase {
|
||||
}
|
||||
|
||||
// this breaks on sqlite atm.
|
||||
$b = create_page_browser('mailbox.username FROM mailbox', 'WHERE 1 = 1' );
|
||||
|
||||
$b = create_page_browser('mailbox.username', 'FROM mailbox WHERE 1 = 1');
|
||||
$this->assertEquals(10, sizeof($b));
|
||||
foreach($b as $range) {
|
||||
$this->assertRegExp('/[\w]{2}\-[\w]{2}/', $range);
|
||||
}
|
||||
$this->assertNotEmpty($b);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user