From 31570df64ce6543de407e7b9d751ba9033d930de Mon Sep 17 00:00:00 2001 From: cweiske Date: Fri, 9 Jul 2010 10:04:35 +0000 Subject: [PATCH] Fix bug getTagsForBookmarks() that fetched all tags, see http://sourceforge.net/projects/semanticscuttle/forums/forum/759510/topic/3752670 for details git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@715 b3834d28-1941-0410-a4f8-b48e95affb8f --- doc/ChangeLog | 5 +++++ src/SemanticScuttle/Service/Bookmark2Tag.php | 7 +------ tests/Bookmark2TagTest.php | 6 ++++++ 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/doc/ChangeLog b/doc/ChangeLog index 5b4e4d3..5e24f07 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,6 +1,11 @@ ChangeLog for SemantiScuttle ============================ +0.9X.X - 2010-XX-XX +------------------- +- Fix bug getTagsForBookmarks() that fetched all tags + + 0.97.0 - 2010-06-09 ------------------- - Many SQL optimizations - SemanticScuttle shows bookmarks 4 times faster now diff --git a/src/SemanticScuttle/Service/Bookmark2Tag.php b/src/SemanticScuttle/Service/Bookmark2Tag.php index d6c0e58..4d2c969 100644 --- a/src/SemanticScuttle/Service/Bookmark2Tag.php +++ b/src/SemanticScuttle/Service/Bookmark2Tag.php @@ -325,13 +325,8 @@ class SemanticScuttle_Service_Bookmark2Tag extends SemanticScuttle_DbService return array(); } - $sql = ''; - foreach ($bookmarkids as $bookmarkid) { - $sql .= ' OR bId = ' . intval($bookmarkid); - } - $query = 'SELECT tag, bId FROM ' . $this->getTableName() - . ' WHERE (1' . $sql . ')' + . ' WHERE bId IN (' . implode(',', $bookmarkids) . ')' . ' AND LEFT(tag, 7) <> "system:"' . ' ORDER BY id, bId ASC'; diff --git a/tests/Bookmark2TagTest.php b/tests/Bookmark2TagTest.php index 0afaaf8..14b71cc 100644 --- a/tests/Bookmark2TagTest.php +++ b/tests/Bookmark2TagTest.php @@ -171,6 +171,12 @@ class Bookmark2TagTest extends TestBase $bid4 = $this->addBookmark(null, null, 0, array()); //no tags + //bookmark that does not get queried + //http://sourceforge.net/projects/semanticscuttle/forums/forum/759510/topic/3752670 + $bid5 = $this->addBookmark(null, null, 0, array()); + $this->b2ts->attachTags($bid5, array('foo', 'bar2', 'fuu5')); + + $alltags = $this->b2ts->getTagsForBookmarks( array($bid1, $bid2, $bid3, $bid4) );