Pull-request: #16902 Fixes: #16734 Signed-off-by: William Desportes <williamdes@wdes.fr>
This commit is contained in:
commit
b4d6282376
@ -803,11 +803,6 @@ class Sql
|
||||
$statement = $analyzed_sql_results['statement'];
|
||||
$token_list = $analyzed_sql_results['parser']->list;
|
||||
$replaces = [
|
||||
// Replace select by COUNT
|
||||
[
|
||||
'SELECT',
|
||||
'SELECT COUNT(*)',
|
||||
],
|
||||
// Remove ORDER BY to decrease unnecessary sorting time
|
||||
[
|
||||
'ORDER BY',
|
||||
@ -819,11 +814,11 @@ class Sql
|
||||
'',
|
||||
],
|
||||
];
|
||||
$count_query = Query::replaceClauses(
|
||||
$count_query = 'SELECT COUNT(*) FROM (' . Query::replaceClauses(
|
||||
$statement,
|
||||
$token_list,
|
||||
$replaces
|
||||
);
|
||||
) . ') as cnt';
|
||||
$unlim_num_rows = $this->dbi->fetchValue($count_query);
|
||||
if ($unlim_num_rows === false) {
|
||||
$unlim_num_rows = 0;
|
||||
|
||||
@ -2415,17 +2415,17 @@ class DbiDummy implements DbiExtension
|
||||
],
|
||||
],
|
||||
[
|
||||
'query' => 'SELECT COUNT(*) FROM company_users WHERE not_working_count != 0',
|
||||
'query' => 'SELECT COUNT(*) FROM (SELECT * FROM company_users WHERE not_working_count != 0 ) as cnt',
|
||||
'result' => false,
|
||||
],
|
||||
[
|
||||
'query' => 'SELECT COUNT(*) FROM company_users',
|
||||
'query' => 'SELECT COUNT(*) FROM (SELECT * FROM company_users ) as cnt',
|
||||
'result' => [
|
||||
[4],
|
||||
],
|
||||
],
|
||||
[
|
||||
'query' => 'SELECT COUNT(*) FROM company_users WHERE working_count = 0',
|
||||
'query' => 'SELECT COUNT(*) FROM (SELECT * FROM company_users WHERE working_count = 0 ) as cnt',
|
||||
'result' => [
|
||||
[15],
|
||||
],
|
||||
@ -2437,7 +2437,9 @@ class DbiDummy implements DbiExtension
|
||||
],
|
||||
],
|
||||
[
|
||||
'query' => 'SELECT COUNT(*) FROM company_users WHERE subquery_case = 0',
|
||||
'query' => 'SELECT COUNT(*) FROM ('
|
||||
. 'SELECT *, 1, (SELECT COUNT(*) FROM tbl1) as c1, '
|
||||
. '(SELECT 1 FROM tbl2) as c2 FROM company_users WHERE subquery_case = 0 ) as cnt',
|
||||
'result' => [
|
||||
[42],
|
||||
],
|
||||
|
||||
Loading…
Reference in New Issue
Block a user