OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/search_engines/keyword_table.h" | 5 #include "components/search_engines/keyword_table.h" |
6 | 6 |
7 #include <set> | 7 #include <set> |
8 | 8 |
9 #include "base/json/json_reader.h" | 9 #include "base/json/json_reader.h" |
10 #include "base/json/json_writer.h" | 10 #include "base/json/json_writer.h" |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
93 int id_column, | 93 int id_column, |
94 int starting_column) { | 94 int starting_column) { |
95 // Serialize |alternate_urls| to JSON. | 95 // Serialize |alternate_urls| to JSON. |
96 // TODO(beaudoin): Check what it would take to use a new table to store | 96 // TODO(beaudoin): Check what it would take to use a new table to store |
97 // alternate_urls while keeping backups and table signature in a good state. | 97 // alternate_urls while keeping backups and table signature in a good state. |
98 // See: crbug.com/153520 | 98 // See: crbug.com/153520 |
99 base::ListValue alternate_urls_value; | 99 base::ListValue alternate_urls_value; |
100 for (size_t i = 0; i < data.alternate_urls.size(); ++i) | 100 for (size_t i = 0; i < data.alternate_urls.size(); ++i) |
101 alternate_urls_value.AppendString(data.alternate_urls[i]); | 101 alternate_urls_value.AppendString(data.alternate_urls[i]); |
102 std::string alternate_urls; | 102 std::string alternate_urls; |
103 base::JSONWriter::Write(&alternate_urls_value, &alternate_urls); | 103 base::JSONWriter::Write(alternate_urls_value, &alternate_urls); |
104 | 104 |
105 s->BindInt64(id_column, data.id); | 105 s->BindInt64(id_column, data.id); |
106 s->BindString16(starting_column, data.short_name()); | 106 s->BindString16(starting_column, data.short_name()); |
107 s->BindString16(starting_column + 1, data.keyword()); | 107 s->BindString16(starting_column + 1, data.keyword()); |
108 s->BindString(starting_column + 2, data.favicon_url.is_valid() ? | 108 s->BindString(starting_column + 2, data.favicon_url.is_valid() ? |
109 history::URLDatabase::GURLToDatabaseURL(data.favicon_url) : | 109 history::URLDatabase::GURLToDatabaseURL(data.favicon_url) : |
110 std::string()); | 110 std::string()); |
111 s->BindString(starting_column + 3, data.url()); | 111 s->BindString(starting_column + 3, data.url()); |
112 s->BindBool(starting_column + 4, data.safe_for_autoreplace); | 112 s->BindBool(starting_column + 4, data.safe_for_autoreplace); |
113 s->BindString(starting_column + 5, data.originating_url.is_valid() ? | 113 s->BindString(starting_column + 5, data.originating_url.is_valid() ? |
(...skipping 359 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
473 } | 473 } |
474 } | 474 } |
475 | 475 |
476 // Replace the old table with the new one. | 476 // Replace the old table with the new one. |
477 sql = "DROP TABLE " + name; | 477 sql = "DROP TABLE " + name; |
478 if (!db_->Execute(sql.c_str())) | 478 if (!db_->Execute(sql.c_str())) |
479 return false; | 479 return false; |
480 sql = "ALTER TABLE keywords_temp RENAME TO " + name; | 480 sql = "ALTER TABLE keywords_temp RENAME TO " + name; |
481 return db_->Execute(sql.c_str()); | 481 return db_->Execute(sql.c_str()); |
482 } | 482 } |
OLD | NEW |