Bug 428422: setItemTitle does not need to do 2 queries, patch by Marco Bonardo <mak77@supereva.it>, r=dietrich, a=beltzner

This commit is contained in:
gavin@gavinsharp.com 2008-04-13 18:10:20 -07:00
parent 98e8ee2699
commit 5563507482

View File

@ -1892,26 +1892,22 @@ NS_IMETHODIMP
nsNavBookmarks::SetItemTitle(PRInt64 aItemId, const nsACString &aTitle)
{
mozIStorageConnection *dbConn = DBConn();
mozStorageTransaction transaction(dbConn, PR_FALSE);
nsCOMPtr<mozIStorageStatement> statement;
nsresult rv = dbConn->CreateStatement(NS_LITERAL_CSTRING("UPDATE moz_bookmarks SET title = ?1 WHERE id = ?2"),
getter_AddRefs(statement));
nsresult rv = dbConn->CreateStatement(NS_LITERAL_CSTRING(
"UPDATE moz_bookmarks SET title = ?1, lastModified = ?2 WHERE id = ?3"),
getter_AddRefs(statement));
NS_ENSURE_SUCCESS(rv, rv);
rv = statement->BindUTF8StringParameter(0, aTitle);
NS_ENSURE_SUCCESS(rv, rv);
rv = statement->BindInt64Parameter(1, aItemId);
rv = statement->BindInt64Parameter(1, PR_Now());
NS_ENSURE_SUCCESS(rv, rv);
rv = statement->BindInt64Parameter(2, aItemId);
NS_ENSURE_SUCCESS(rv, rv);
rv = statement->Execute();
NS_ENSURE_SUCCESS(rv, rv);
rv = SetItemDateInternal(mDBSetItemLastModified, aItemId, PR_Now());
NS_ENSURE_SUCCESS(rv, rv);
rv = transaction.Commit();
NS_ENSURE_SUCCESS(rv, rv);
ENUMERATE_WEAKARRAY(mObservers, nsINavBookmarkObserver,
OnItemChanged(aItemId, NS_LITERAL_CSTRING("title"),
PR_FALSE, aTitle));