OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/history/visit_database.h" | 5 #include "chrome/browser/history/visit_database.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <limits> | 8 #include <limits> |
9 #include <map> | 9 #include <map> |
10 #include <set> | 10 #include <set> |
(...skipping 540 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
551 if (!GetDB().DoesColumnExist("visits", "visit_duration")) { | 551 if (!GetDB().DoesColumnExist("visits", "visit_duration")) { |
552 // Old versions don't have the visit_duration column, we modify the table | 552 // Old versions don't have the visit_duration column, we modify the table |
553 // to add that field. | 553 // to add that field. |
554 if (!GetDB().Execute("ALTER TABLE visits " | 554 if (!GetDB().Execute("ALTER TABLE visits " |
555 "ADD COLUMN visit_duration INTEGER DEFAULT 0 NOT NULL")) | 555 "ADD COLUMN visit_duration INTEGER DEFAULT 0 NOT NULL")) |
556 return false; | 556 return false; |
557 } | 557 } |
558 return true; | 558 return true; |
559 } | 559 } |
560 | 560 |
561 void VisitDatabase::GetBriefVisitInfoOfMostRecentVisits( | |
562 int max_visits, | |
563 std::vector<BriefVisitInfo>* result_vector) { | |
564 result_vector->clear(); | |
565 | |
566 sql::Statement statement(GetDB().GetCachedStatement(SQL_FROM_HERE, | |
brettw
2012/04/20 22:21:50
You're only calling this once, right? Then I'd use
tburkard
2012/04/20 22:56:44
Done.
| |
567 "SELECT url,visit_time,transition FROM visits " | |
568 "ORDER BY id DESC LIMIT ?")); | |
569 | |
570 statement.BindInt64(0, max_visits); | |
571 | |
572 if (!statement.is_valid()) | |
573 return; | |
574 | |
575 while (statement.Step()) { | |
576 BriefVisitInfo info; | |
577 info.url_id = statement.ColumnInt64(0); | |
578 info.time = base::Time::FromInternalValue(statement.ColumnInt64(1)); | |
579 info.transition = content::PageTransitionFromInt(statement.ColumnInt(2)); | |
580 result_vector->push_back(info); | |
581 } | |
582 } | |
583 | |
561 } // namespace history | 584 } // namespace history |
OLD | NEW |