Chromium Code Reviews| 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/url_database.h" | 5 #include "chrome/browser/history/url_database.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <limits> | 8 #include <limits> |
| 9 #include <string> | 9 #include <string> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 340 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 351 statement.BindInt(3, min_typed); | 351 statement.BindInt(3, min_typed); |
| 352 | 352 |
| 353 if (!statement.Step()) | 353 if (!statement.Step()) |
| 354 return false; | 354 return false; |
| 355 | 355 |
| 356 DCHECK(info); | 356 DCHECK(info); |
| 357 FillURLRow(statement, info); | 357 FillURLRow(statement, info); |
| 358 return true; | 358 return true; |
| 359 } | 359 } |
| 360 | 360 |
| 361 bool URLDatabase::GetTextMatches(const string16& query, | |
| 362 URLRows* results) { | |
| 363 ScopedVector<QueryNode> query_nodes; | |
| 364 query_parser_.ParseQueryNodes(query, &query_nodes.get()); | |
| 365 | |
| 366 sql::Statement statement(GetDB().GetCachedStatement(SQL_FROM_HERE, | |
| 367 "SELECT" HISTORY_URL_ROW_FIELDS "FROM urls WHERE hidden = 0")); | |
| 368 | |
| 369 while (statement.Step()) { | |
| 370 std::vector<QueryWord> query_words; | |
| 371 string16 url = base::i18n::ToLower(UTF8ToUTF16(statement.ColumnString(1))); | |
|
Scott Hess - ex-Googler
2013/06/13 19:45:58
Replace UTF8ToUTF16(ColumnString()) with ColumnStr
rmcilroy
2013/06/14 12:45:41
Done.
| |
| 372 query_parser_.ExtractQueryWords(url, &query_words); | |
| 373 string16 title = base::i18n::ToLower(statement.ColumnString16(2)); | |
| 374 query_parser_.ExtractQueryWords(title, &query_words); | |
| 375 | |
| 376 if (query_parser_.DoesQueryMatch(query_words, query_nodes.get())) { | |
| 377 history::URLResult info; | |
| 378 FillURLRow(statement, &info); | |
| 379 if (info.url().is_valid()) | |
| 380 results->push_back(info); | |
| 381 } | |
| 382 } | |
| 383 return !results->empty(); | |
|
Scott Hess - ex-Googler
2013/06/13 19:45:58
If this is your success metric, do you want result
rmcilroy
2013/06/14 12:45:41
Done.
| |
| 384 } | |
| 385 | |
| 361 bool URLDatabase::InitKeywordSearchTermsTable() { | 386 bool URLDatabase::InitKeywordSearchTermsTable() { |
| 362 has_keyword_search_terms_ = true; | 387 has_keyword_search_terms_ = true; |
| 363 if (!GetDB().DoesTableExist("keyword_search_terms")) { | 388 if (!GetDB().DoesTableExist("keyword_search_terms")) { |
| 364 if (!GetDB().Execute("CREATE TABLE keyword_search_terms (" | 389 if (!GetDB().Execute("CREATE TABLE keyword_search_terms (" |
| 365 "keyword_id INTEGER NOT NULL," // ID of the TemplateURL. | 390 "keyword_id INTEGER NOT NULL," // ID of the TemplateURL. |
| 366 "url_id INTEGER NOT NULL," // ID of the url. | 391 "url_id INTEGER NOT NULL," // ID of the url. |
| 367 "lower_term LONGVARCHAR NOT NULL," // The search term, in lower case. | 392 "lower_term LONGVARCHAR NOT NULL," // The search term, in lower case. |
| 368 "term LONGVARCHAR NOT NULL)")) // The actual search term. | 393 "term LONGVARCHAR NOT NULL)")) // The actual search term. |
| 369 return false; | 394 return false; |
| 370 } | 395 } |
| (...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 569 return GetDB().Execute(sql.c_str()); | 594 return GetDB().Execute(sql.c_str()); |
| 570 } | 595 } |
| 571 | 596 |
| 572 bool URLDatabase::CreateMainURLIndex() { | 597 bool URLDatabase::CreateMainURLIndex() { |
| 573 // Index over URLs so we can quickly look up based on URL. | 598 // Index over URLs so we can quickly look up based on URL. |
| 574 return GetDB().Execute( | 599 return GetDB().Execute( |
| 575 "CREATE INDEX IF NOT EXISTS urls_url_index ON urls (url)"); | 600 "CREATE INDEX IF NOT EXISTS urls_url_index ON urls (url)"); |
| 576 } | 601 } |
| 577 | 602 |
| 578 } // namespace history | 603 } // namespace history |
| OLD | NEW |