git.cweiske.de
/
grauphel.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
1a5b0cd
)
Let the SQL server filter notes
author
Christian Weiske
<cweiske@cweiske.de>
Fri, 18 Sep 2015 21:14:50 +0000
(23:14 +0200)
committer
Christian Weiske
<cweiske@cweiske.de>
Fri, 18 Sep 2015 21:14:50 +0000
(23:14 +0200)
lib/notestorage.php
patch
|
blob
|
history
diff --git
a/lib/notestorage.php
b/lib/notestorage.php
index 93311e4a4b877f6eadf431e03921c6d90a361f5a..27bb7025770f8327ea1059887978fc286d0a2da2 100644
(file)
--- a/
lib/notestorage.php
+++ b/
lib/notestorage.php
@@
-397,15
+397,18
@@
class NoteStorage
public function loadNotesOverview(
$since = null, $rawtag = null, $includeDate = false
) {
public function loadNotesOverview(
$since = null, $rawtag = null, $includeDate = false
) {
- $
result = \OC_DB::executeAudited(
-
'SELECT `note_guid`, `note_title`
, `note_last_sync_revision`, `note_tags`'
+ $
sql = 'SELECT `note_guid`, `note_title`'
+
. '
, `note_last_sync_revision`, `note_tags`'
. ', `note_last_change_date`'
. ' FROM `*PREFIX*grauphel_notes`'
. ', `note_last_change_date`'
. ' FROM `*PREFIX*grauphel_notes`'
- . ' WHERE note_user = ?',
- array($this->username)
- );
+ . ' WHERE note_user = ?';
+ $sqlData = array($this->username);
+
+ if ($since !== null) {
+ $sqlData[] = $since;
+ $sql .= ' AND note_last_sync_revision > ?';
+ }
- $notes = array();
if ($rawtag == 'grauphel:special:all') {
$rawtag = null;
} else if ($rawtag == 'grauphel:special:untagged') {
if ($rawtag == 'grauphel:special:all') {
$rawtag = null;
} else if ($rawtag == 'grauphel:special:untagged') {
@@
-413,13
+416,14
@@
class NoteStorage
} else {
$jsRawtag = json_encode($rawtag);
}
} else {
$jsRawtag = json_encode($rawtag);
}
+ if ($rawtag !== null) {
+ $sqlData[] = '%' . $jsRawtag . '%';
+ $sql .= ' AND note_tags LIKE ?';
+ }
+
+ $result = \OC_DB::executeAudited($sql, $sqlData);
+ $notes = array();
while ($row = $result->fetchRow()) {
while ($row = $result->fetchRow()) {
- if ($since !== null && $row['note_last_sync_revision'] <= $since) {
- continue;
- }
- if ($rawtag !== null && strpos($row['note_tags'], $jsRawtag) === false) {
- continue;
- }
$note = array(
'guid' => $row['note_guid'],
'ref' => array(
$note = array(
'guid' => $row['note_guid'],
'ref' => array(