Oracle can not return statements but only values
So evaluate the condition directly and return 1 or 0
This commit is contained in:
parent
b9faba8857
commit
623d34972d
|
@ -379,6 +379,7 @@ class Activity implements IExtension {
|
|||
*/
|
||||
$parameters = $fileQueryList = [];
|
||||
$parameters[] = self::APP_FILES;
|
||||
$parameters[] = self::APP_FILES;
|
||||
|
||||
$fileQueryList[] = '(`type` <> ? AND `type` <> ?)';
|
||||
$parameters[] = self::TYPE_SHARE_CREATED;
|
||||
|
@ -393,10 +394,12 @@ class Activity implements IExtension {
|
|||
$parameters[] = $favorite . '/%';
|
||||
}
|
||||
|
||||
$parameters[] = self::APP_FILES;
|
||||
|
||||
return [
|
||||
' CASE WHEN `app` = ? THEN (' . implode(' OR ', $fileQueryList) . ') ELSE `app` <> ? END ',
|
||||
' CASE '
|
||||
. 'WHEN `app` <> ? THEN 1 '
|
||||
. 'WHEN `app` = ? AND (' . implode(' OR ', $fileQueryList) . ') THEN 1 '
|
||||
. 'ELSE 0 '
|
||||
. 'END = 1 ',
|
||||
$parameters,
|
||||
];
|
||||
}
|
||||
|
|
|
@ -290,16 +290,16 @@ class ActivityTest extends TestCase {
|
|||
'items' => [],
|
||||
'folders' => [],
|
||||
],
|
||||
' CASE WHEN `app` = ? THEN ((`type` <> ? AND `type` <> ?)) ELSE `app` <> ? END ',
|
||||
['files', Activity::TYPE_SHARE_CREATED, Activity::TYPE_SHARE_CHANGED, 'files']
|
||||
' CASE WHEN `app` <> ? THEN 1 WHEN `app` = ? AND ((`type` <> ? AND `type` <> ?)) THEN 1 ELSE 0 END = 1 ',
|
||||
['files', 'files', Activity::TYPE_SHARE_CREATED, Activity::TYPE_SHARE_CHANGED]
|
||||
],
|
||||
[
|
||||
[
|
||||
'items' => ['file.txt', 'folder'],
|
||||
'folders' => ['folder'],
|
||||
],
|
||||
' CASE WHEN `app` = ? THEN ((`type` <> ? AND `type` <> ?) OR `file` = ? OR `file` = ? OR `file` LIKE ?) ELSE `app` <> ? END ',
|
||||
['files', Activity::TYPE_SHARE_CREATED, Activity::TYPE_SHARE_CHANGED, 'file.txt', 'folder', 'folder/%', 'files']
|
||||
' CASE WHEN `app` <> ? THEN 1 WHEN `app` = ? AND ((`type` <> ? AND `type` <> ?) OR `file` = ? OR `file` = ? OR `file` LIKE ?) THEN 1 ELSE 0 END = 1 ',
|
||||
['files', 'files', Activity::TYPE_SHARE_CREATED, Activity::TYPE_SHARE_CHANGED, 'file.txt', 'folder', 'folder/%']
|
||||
],
|
||||
];
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue