3 @author: Sudheer K. <scifi1947 at gmail.com>
4 @license: GNU General Public License
7 function getDatabase() {
8 logMessage("Opening MarketsToday database..");
9 return openDatabaseSync("MarketsToday", "1.0", "StorageDatabase", 100);
12 function logMessage(strMessage){
14 logUtility.logMessage(strMessage);
17 console.log(strMessage);
22 function initialize() {
23 var db = getDatabase();
26 // Create the settings table if it doesn't already exist
27 // If the table exists, this is skipped
28 tx.executeSql('CREATE TABLE IF NOT EXISTS settings(setting TEXT UNIQUE, value TEXT)');
29 tx.executeSql('CREATE TABLE IF NOT EXISTS tickers(symbol TEXT UNIQUE)');
32 logMessage("Error ["+error.code +"] - " + error.DOMString+" occurred.");
36 function getSetting(setting) {
37 var db = getDatabase();
41 var rs = tx.executeSql('SELECT value FROM settings WHERE setting=?;', [setting]);
42 if (rs.rows.length > 0) {
43 res = rs.rows.item(0).value;
44 logMessage(setting+" is "+res);
50 logMessage("Error ["+error.code +"] - " + error.DOMString+" occurred.");
57 function setSetting(setting, value) {
58 var db = getDatabase();
62 var rs = tx.executeSql('INSERT OR REPLACE INTO settings VALUES (?,?);', [setting,value]);
63 if (rs.rowsAffected > 0) {
65 logMessage("Updated "+setting+" to "+value);
71 logMessage("Error ["+error.code +"] - " + error.DOMString+" occurred.");
77 function addSymbol(symbol){
78 logMessage('SQL> INSERT OR REPLACE INTO tickers VALUES ('+[symbol]+')');
79 var db = getDatabase();
81 logMessage("Opened MarketsToday database..");
83 db.transaction(function(tx) {
84 var rs = tx.executeSql('INSERT OR REPLACE INTO tickers VALUES (?);', [symbol]);
85 logMessage("Inserted/replaced "+rs.rowsAffected+" rows");
86 if (rs.rowsAffected > 0) {
93 logMessage("Error ["+error.code +"] - " + error.DOMString+" occurred.");
99 function removeSymbol(symbol){
100 logMessage('SQL> DELETE FROM tickers WHERE symbol = '+[symbol]);
101 var db = getDatabase();
103 db.transaction(function(tx) {
104 var rs = tx.executeSql('DELETE FROM tickers WHERE symbol = ?;', [symbol]);
105 logMessage("Deleted "+rs.rowsAffected+" rows");
106 if (rs.rowsAffected > 0) {
113 logMessage("Error ["+error.code +"] - " + error.DOMString+" occurred.");
119 function getAllSymbols(){
120 var db = getDatabase();
121 var symbolsArray = new Array();
122 db.transaction(function(tx) {
123 var rs = tx.executeSql('SELECT symbol FROM tickers');
124 logMessage("Fetched "+rs.rows.length+" rows");
126 for (i = 0; i < rs.rows.length; i++){
127 symbolsArray[i] = rs.rows.item(i).symbol;
131 logMessage("Error ["+error.code +"] - " + error.DOMString+" occurred.");