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 "components/history/core/browser/visit_database.h" | 5 #include "components/history/core/browser/visit_database.h" |
6 | 6 |
| 7 #include <stddef.h> |
| 8 #include <stdint.h> |
| 9 |
7 #include <algorithm> | 10 #include <algorithm> |
8 #include <limits> | 11 #include <limits> |
9 #include <map> | 12 #include <map> |
10 #include <set> | 13 #include <set> |
11 | 14 |
12 #include "base/logging.h" | 15 #include "base/logging.h" |
13 #include "base/strings/string_number_conversions.h" | 16 #include "base/strings/string_number_conversions.h" |
14 #include "base/time/time.h" | 17 #include "base/time/time.h" |
15 #include "components/history/core/browser/url_database.h" | 18 #include "components/history/core/browser/url_database.h" |
16 #include "components/history/core/browser/visit_filter.h" | 19 #include "components/history/core/browser/visit_filter.h" |
(...skipping 287 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
304 int max_results, | 307 int max_results, |
305 VisitVector* visits) { | 308 VisitVector* visits) { |
306 visits->clear(); | 309 visits->clear(); |
307 | 310 |
308 sql::Statement statement(GetDB().GetCachedStatement(SQL_FROM_HERE, | 311 sql::Statement statement(GetDB().GetCachedStatement(SQL_FROM_HERE, |
309 "SELECT" HISTORY_VISIT_ROW_FIELDS "FROM visits " | 312 "SELECT" HISTORY_VISIT_ROW_FIELDS "FROM visits " |
310 "WHERE visit_time >= ? AND visit_time < ?" | 313 "WHERE visit_time >= ? AND visit_time < ?" |
311 "ORDER BY visit_time LIMIT ?")); | 314 "ORDER BY visit_time LIMIT ?")); |
312 | 315 |
313 // See GetVisibleVisitsInRange for more info on how these times are bound. | 316 // See GetVisibleVisitsInRange for more info on how these times are bound. |
314 int64 end = end_time.ToInternalValue(); | 317 int64_t end = end_time.ToInternalValue(); |
315 statement.BindInt64(0, begin_time.ToInternalValue()); | 318 statement.BindInt64(0, begin_time.ToInternalValue()); |
316 statement.BindInt64(1, end ? end : std::numeric_limits<int64>::max()); | 319 statement.BindInt64(1, end ? end : std::numeric_limits<int64_t>::max()); |
317 statement.BindInt64(2, | 320 statement.BindInt64( |
318 max_results ? max_results : std::numeric_limits<int64>::max()); | 321 2, max_results ? max_results : std::numeric_limits<int64_t>::max()); |
319 | 322 |
320 return FillVisitVector(statement, visits); | 323 return FillVisitVector(statement, visits); |
321 } | 324 } |
322 | 325 |
323 bool VisitDatabase::GetVisitsInRangeForTransition( | 326 bool VisitDatabase::GetVisitsInRangeForTransition( |
324 base::Time begin_time, | 327 base::Time begin_time, |
325 base::Time end_time, | 328 base::Time end_time, |
326 int max_results, | 329 int max_results, |
327 ui::PageTransition transition, | 330 ui::PageTransition transition, |
328 VisitVector* visits) { | 331 VisitVector* visits) { |
329 DCHECK(visits); | 332 DCHECK(visits); |
330 visits->clear(); | 333 visits->clear(); |
331 | 334 |
332 sql::Statement statement(GetDB().GetCachedStatement(SQL_FROM_HERE, | 335 sql::Statement statement(GetDB().GetCachedStatement(SQL_FROM_HERE, |
333 "SELECT" HISTORY_VISIT_ROW_FIELDS "FROM visits " | 336 "SELECT" HISTORY_VISIT_ROW_FIELDS "FROM visits " |
334 "WHERE visit_time >= ? AND visit_time < ? " | 337 "WHERE visit_time >= ? AND visit_time < ? " |
335 "AND (transition & ?) == ?" | 338 "AND (transition & ?) == ?" |
336 "ORDER BY visit_time LIMIT ?")); | 339 "ORDER BY visit_time LIMIT ?")); |
337 | 340 |
338 // See GetVisibleVisitsInRange for more info on how these times are bound. | 341 // See GetVisibleVisitsInRange for more info on how these times are bound. |
339 int64 end = end_time.ToInternalValue(); | 342 int64_t end = end_time.ToInternalValue(); |
340 statement.BindInt64(0, begin_time.ToInternalValue()); | 343 statement.BindInt64(0, begin_time.ToInternalValue()); |
341 statement.BindInt64(1, end ? end : std::numeric_limits<int64>::max()); | 344 statement.BindInt64(1, end ? end : std::numeric_limits<int64_t>::max()); |
342 statement.BindInt(2, ui::PAGE_TRANSITION_CORE_MASK); | 345 statement.BindInt(2, ui::PAGE_TRANSITION_CORE_MASK); |
343 statement.BindInt(3, transition); | 346 statement.BindInt(3, transition); |
344 statement.BindInt64(4, | 347 statement.BindInt64( |
345 max_results ? max_results : std::numeric_limits<int64>::max()); | 348 4, max_results ? max_results : std::numeric_limits<int64_t>::max()); |
346 | 349 |
347 return FillVisitVector(statement, visits); | 350 return FillVisitVector(statement, visits); |
348 } | 351 } |
349 | 352 |
350 bool VisitDatabase::GetVisibleVisitsInRange(const QueryOptions& options, | 353 bool VisitDatabase::GetVisibleVisitsInRange(const QueryOptions& options, |
351 VisitVector* visits) { | 354 VisitVector* visits) { |
352 visits->clear(); | 355 visits->clear(); |
353 // The visit_time values can be duplicated in a redirect chain, so we sort | 356 // The visit_time values can be duplicated in a redirect chain, so we sort |
354 // by id too, to ensure a consistent ordering just in case. | 357 // by id too, to ensure a consistent ordering just in case. |
355 sql::Statement statement(GetDB().GetCachedStatement(SQL_FROM_HERE, | 358 sql::Statement statement(GetDB().GetCachedStatement(SQL_FROM_HERE, |
(...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
629 // Old versions don't have the visit_duration column, we modify the table | 632 // Old versions don't have the visit_duration column, we modify the table |
630 // to add that field. | 633 // to add that field. |
631 if (!GetDB().Execute("ALTER TABLE visits " | 634 if (!GetDB().Execute("ALTER TABLE visits " |
632 "ADD COLUMN visit_duration INTEGER DEFAULT 0 NOT NULL")) | 635 "ADD COLUMN visit_duration INTEGER DEFAULT 0 NOT NULL")) |
633 return false; | 636 return false; |
634 } | 637 } |
635 return true; | 638 return true; |
636 } | 639 } |
637 | 640 |
638 } // namespace history | 641 } // namespace history |
OLD | NEW |