sbMigrate070To08pre1.js
Go to the documentation of this file.
1 /*
2 //
3 // BEGIN SONGBIRD GPL
4 //
5 // This file is part of the Songbird web player.
6 //
7 // Copyright(c) 2005-2008 POTI, Inc.
8 // http://songbirdnest.com
9 //
10 // This file may be licensed under the terms of of the
11 // GNU General Public License Version 2 (the "GPL").
12 //
13 // Software distributed under the License is distributed
14 // on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either
15 // express or implied. See the GPL for the specific language
16 // governing rights and limitations.
17 //
18 // You should have received a copy of the GPL along with this
19 // program. If not, go to http://www.gnu.org/licenses/gpl.html
20 // or write to the Free Software Foundation, Inc.,
21 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
22 //
23 // END SONGBIRD GPL
24 //
25 */
26 
27 Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
28 Components.utils.import("resource://app/jsmodules/ArrayConverter.jsm");
29 Components.utils.import("resource://app/jsmodules/sbLocalDatabaseMigrationUtils.jsm");
30 Components.utils.import("resource://app/jsmodules/SBJobUtils.jsm");
31 
32 const Cc = Components.classes;
33 const Ci = Components.interfaces;
34 const Cr = Components.results;
35 
36 function LOG(s) {
37  dump("----++++----++++\sbLocalDatabaseMigrate070to08pre1 ---> " +
38  s +
39  "\n----++++----++++\n");
40 }
41 
43 {
44  SBLocalDatabaseMigrationUtils.BaseMigrationHandler.call(this);
45 
46  this.fromVersion = 8;
47  this.toVersion = 9;
48 }
49 
50 //-----------------------------------------------------------------------------
51 // sbLocalDatabaseMigration Implementation
52 //-----------------------------------------------------------------------------
53 
55  __proto__: SBLocalDatabaseMigrationUtils.BaseMigrationHandler.prototype,
56 
57  classDescription: 'Songbird Migration Handler for 0.7.0 to 0.8.0 pre with no content hash',
58  classID: Components.ID("{b080f650-7ef2-11dd-ad8b-a0800200c9a6}"),
59  contractID: SBLocalDatabaseMigrationUtils.baseHandlerContractID + "0.7.0 to 0.8.0 pre1",
60 
61  _databaseLocation: null,
62  _databaseGUID: null,
63 
64  _mediaItems: null,
65 
66  migrate: function sbLDBM070to08pre1_migrate(aLibrary) {
67  this._databaseGUID = aLibrary.databaseGuid;
68  this._databaseLocation = aLibrary.databaseLocation;
69 
70  var query = this._createQuery();
71  query.addQuery("begin");
72 
73  // We aren't filtering with URL and hash anymore, so we don't need the index
74  query.addQuery("drop index idx_media_items_content_url_content_hash");
75 
76  // We're no longer populating the signature property, so clear out any data in case
77  // we use it in the future
78  query.addQuery("update media_items set content_hash=null");
79 
80  // Finally, we update the schema version to the destination version.
81  query.addQuery("update library_metadata set value = '9' where name = 'version'");
82 
83  // Our queries are all generated. Time to execute the migration.
84  query.addQuery("commit");
85 
86  var retval;
87  query.setAsyncQuery(true);
88  query.execute(retval);
89 
90  var sip = Cc["@mozilla.org/supports-interface-pointer;1"]
91  .createInstance(Ci.nsISupportsInterfacePointer);
92  sip.data = this;
93 
94  this._titleText = "Library Migration Helper";
95  this._statusText = "Migrating 0.7.0 database to 0.8.0pre1 database...";
96  this.migrationQuery = query;
97 
98  this.startNotificationTimer();
99  SBJobUtils.showProgressDialog(sip.data, null, 0);
100  this.stopNotificationTimer();
101  },
102 
103  _createQuery: function sbLDBM070to08pre1_createQuery() {
104  var query = Cc["@songbirdnest.com/Songbird/DatabaseQuery;1"]
105  .createInstance(Ci.sbIDatabaseQuery);
106  query.databaseLocation = this._databaseLocation;
107  query.setDatabaseGUID(this._databaseGUID);
108 
109  return query;
110  }
111 }
112 
113 
114 //
115 // Module
116 //
117 
118 function NSGetModule(compMgr, fileSpec) {
119  return XPCOMUtils.generateModule([
121  ]);
122 }
const Ci
function LOG(s)
sbDeviceFirmwareAutoCheckForUpdate prototype contractID
sbDeviceFirmwareAutoCheckForUpdate prototype classDescription
return null
Definition: FeedWriter.js:1143
const Cr
function sbLocalDatabaseMigrate070to08pre1()
sbDeviceFirmwareAutoCheckForUpdate prototype classID
const Cc