mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-24 02:35:41 +00:00
Bug 341850: Closing trunk extremely slow due to inefficient code in the search service, patch by Regis Caspar <regis.caspar+bz@gmail.com>, r=me/mano
This commit is contained in:
parent
3d51143055
commit
bfd7a0c689
@ -2117,8 +2117,15 @@ SearchService.prototype = {
|
||||
|
||||
_saveSortedEngineList: function SRCH_SVC_saveSortedEngineList() {
|
||||
var engines = this._getSortedEngines(false);
|
||||
for (var i = 0; i < engines.length; ++i)
|
||||
engineMetadataService.setAttr(engines[i], "order", i+1);
|
||||
var values = [];
|
||||
var names = [];
|
||||
|
||||
for (var i = 0; i < engines.length; ++i) {
|
||||
names[i] = "order";
|
||||
values[i] = i + 1;
|
||||
}
|
||||
|
||||
engineMetadataService.setAttrs(engines, names, values);
|
||||
},
|
||||
|
||||
_buildSortedEngineList: function SRCH_SVC_buildSortedEngineList() {
|
||||
@ -2586,6 +2593,30 @@ var engineMetadataService = {
|
||||
|
||||
this.mDB.commitTransaction();
|
||||
},
|
||||
|
||||
setAttrs: function epsSetAttrs(engines, names, values) {
|
||||
this.mDB.beginTransaction();
|
||||
|
||||
for (var i = 0; i < engines.length; i++) {
|
||||
// attr names must be lower case
|
||||
var name = names[i].toLowerCase();
|
||||
|
||||
var pp = this.mDeleteData.params;
|
||||
pp.engineid = engines[i]._id;
|
||||
pp.name = names[i];
|
||||
this.mDeleteData.step();
|
||||
this.mDeleteData.reset();
|
||||
|
||||
pp = this.mInsertData.params;
|
||||
pp.engineid = engines[i]._id;
|
||||
pp.name = names[i];
|
||||
pp.value = values[i];
|
||||
this.mInsertData.step();
|
||||
this.mInsertData.reset();
|
||||
}
|
||||
|
||||
this.mDB.commitTransaction();
|
||||
},
|
||||
|
||||
deleteEngineData: function epsDelData(engine, name) {
|
||||
// attr names must be lower case
|
||||
|
Loading…
Reference in New Issue
Block a user