public DBAdapter() { try{ m_dbStorage = RhoClassFactory.createDBStorage(); }catch(Exception exc){ LOG.ERROR("createDBStorage failed.", exc); } }
public DBAdapter() { try{ m_dbStorage = RhoClassFactory.createDBStorage(); }catch (Exception exc) { LOG.ERROR("createDBStorage failed.", exc); } }
public void close() { try{ m_dbStorage.close(); m_dbStorage = null; }catch(Exception exc) { LOG.ERROR("DB close failed.", exc); } }
public void close() { try{ m_dbStorage.close(); m_dbStorage = null; }catch (Exception exc) { LOG.ERROR("DB close failed.", exc); } }
static void Main(string[] args) { s_db = new MySQLStorage(Settings.DBHost, Settings.DBUsername, Settings.DBPassword, Settings.DBDatabaseName, Settings.DBPort); Logger.Info(string.Format("Starting facebook stream monitor with access token {0} and poll interval {1}", Settings.FBAccessToken, Settings.FBPollInterval)); FacebookStreamMonitor feedMonitor = new FacebookStreamMonitor(Settings.FBAccessToken, Settings.FBPollInterval); feedMonitor.NewStreamEntry += NewStreamEntry; while (true) { feedMonitor.Update(); Thread.Sleep(10); } }
private void copyTable(String tableName, IDBStorage dbFrom, IDBStorage dbTo) { IDBResult res = dbFrom.executeSQL("SELECT * from " + tableName, null, false, false); String strInsert = ""; for ( ; !res.isEnd(); res.next()) { if (strInsert.length() == 0) { strInsert = createInsertStatement(res, tableName); } dbTo.executeSQL(strInsert, res.getCurData(), false, false); } }
public void rb_destroy_tables(Vector <String> vecIncludes, Vector <String> vecExcludes) { if (!m_bIsOpen) { return; } IDBStorage db = null; try{ String dbNewName = CFilePath.changeBaseName(m_strDBPath, "resetdbtemp.sqlite"); CRhoFile.deleteFile(dbNewName); CRhoFile.deleteFile(dbNewName + "-journal"); CRhoFile.deleteFile(dbNewName + ".version"); db = RhoClassFactory.createDBStorage(); db.open(dbNewName, getSqlScript(), getEncryptionInfo()); String[] vecTables = m_dbStorage.getAllTableNames(); //IDBResult res; db.startTransaction(); for (int i = 0; i < vecTables.Length; i++) { String tableName = vecTables[i]; if (destroyTableName(tableName, vecIncludes, vecExcludes)) { continue; } copyTable(tableName, this.m_dbStorage, db); } db.commit(); db.close(); String dbOldName = m_strDBPath; m_dbStorage.close(); m_dbStorage = null; m_bIsOpen = false; CRhoFile.deleteFilesInFolder(RHODESAPP().getBlobsDirPath()); string[] ar1 = CRhoFile.enumDirectory("db"); CRhoFile.deleteFile(dbOldName); CRhoFile.deleteFile(dbOldName + "-journal"); CRhoFile.renameFile(dbNewName, dbOldName); CRhoFile.renameFile(dbNewName + "-journal", dbOldName + "-journal"); string[] ar2 = CRhoFile.enumDirectory("db"); m_dbStorage = RhoClassFactory.createDBStorage(); m_dbStorage.open(m_strDBPath, getSqlScript(), getEncryptionInfo()); m_bIsOpen = true; string[] ar3 = CRhoFile.enumDirectory("db"); m_dbStorage.setDbCallback(new DBCallback(this)); }catch (Exception e) { LOG.ERROR("destroy_table failed.", e); if (!m_bIsOpen) { LOG.ERROR("destroy_table error.Try to open old DB."); try{ m_dbStorage.open(m_strDBPath, getSqlScript(), getEncryptionInfo()); m_bIsOpen = true; }catch (Exception exc) { LOG.ERROR("destroy_table open old table failed.", exc); } } try { if (db != null) { db.close(); } } catch (DBException e1) { LOG.ERROR("closing of DB caused exception: " + e1.Message); } throw e; } }
void checkDBVersion() { DBVersion dbNewVer = new DBVersion(); dbNewVer.m_strRhoVer = RhoRuby.getRhoDBVersion(); dbNewVer.m_strAppVer = RhoConf.getInstance().getString("app_db_version"); String strEncryptionInfo = getEncryptionInfo(); dbNewVer.m_bEncrypted = strEncryptionInfo != null && strEncryptionInfo.length() > 0; dbNewVer.m_bSqlite = true; DBVersion dbVer = new DBVersion(); dbVer.fromFile(m_strDbVerPath); if (dbVer.m_strRhoVer.length() == 0) { dbNewVer.toFile(m_strDbVerPath); return; } boolean bRhoReset = dbVer.isRhoVerChanged(dbNewVer); boolean bAppReset = dbVer.isAppVerChanged(dbNewVer); boolean bDbFormatChanged = dbVer.isDbFormatChanged(dbNewVer); if (!bDbFormatChanged && dbVer.m_bEncrypted) { //TODO: check encryption key //if (!com.rho.RhoCrypto.isKeyExist(strEncryptionInfo) ) // bDbFormatChanged = true; } if (bDbFormatChanged) { LOG.INFO("Reset Database( format changed ):" + m_strDBPath); } if (bRhoReset && !bAppReset && !bDbFormatChanged) { bRhoReset = !migrateDB(dbVer, dbNewVer); } if (bRhoReset || bAppReset || bDbFormatChanged) { if (!bDbFormatChanged) { IDBStorage db = null; try { db = RhoClassFactory.createDBStorage(); if (db.isDbFileExists(m_strDBPath)) { db.open(m_strDBPath, "", strEncryptionInfo); IDBResult res = db.executeSQL("SELECT * FROM client_info", null, false, false); if (!res.isEnd()) { m_strClientInfoInsert = createInsertStatement(res, "client_info"); m_dataClientInfo = res.getCurData(); } } }catch (Exception exc) { LOG.ERROR("Copy client_info table failed.", exc); }finally { if (db != null) { try { db.close(); } catch (Exception) { } } } } m_dbStorage.deleteAllFiles(m_strDBPath); if (this.m_strDbPartition.compareTo("user") == 0) //do it only once { String fName = makeBlobFolderName(); CRhoFile.deleteDirectory(fName); makeBlobFolderName(); //Create folder back } dbNewVer.toFile(m_strDbVerPath); if (RhoConf.getInstance().isExist("bulksync_state") && RhoConf.getInstance().getInt("bulksync_state") != 0) { RhoConf.getInstance().setInt("bulksync_state", 0, true); } } }
private void copyTable(String tableName, IDBStorage dbFrom, IDBStorage dbTo) { IDBResult res = dbFrom.executeSQL("SELECT * from " + tableName, null, false, false); String strInsert = ""; for ( ; !res.isEnd(); res.next() ) { if ( strInsert.length() == 0 ) strInsert = createInsertStatement(res, tableName); dbTo.executeSQL(strInsert, res.getCurData(), false, false ); } }
public void rb_destroy_tables(Vector<String> vecIncludes, Vector<String> vecExcludes) { if ( !m_bIsOpen ) return; IDBStorage db = null; try{ String dbNewName = CFilePath.changeBaseName(m_strDBPath, "resetdbtemp.sqlite"); CRhoFile.deleteFile(dbNewName); CRhoFile.deleteFile(dbNewName+"-journal"); CRhoFile.deleteFile(dbNewName+".version"); db = RhoClassFactory.createDBStorage(); db.open( dbNewName, getSqlScript(), getEncryptionInfo() ); String[] vecTables = m_dbStorage.getAllTableNames(); //IDBResult res; db.startTransaction(); for ( int i = 0; i< vecTables.Length; i++ ) { String tableName = vecTables[i]; if ( destroyTableName( tableName, vecIncludes, vecExcludes ) ) continue; copyTable(tableName, this.m_dbStorage, db ); } db.commit(); db.close(); String dbOldName = m_strDBPath; m_dbStorage.close(); m_dbStorage = null; m_bIsOpen = false; CRhoFile.deleteFilesInFolder(RHODESAPP().getBlobsDirPath()); string[] ar1 = CRhoFile.enumDirectory("db"); CRhoFile.deleteFile(dbOldName); CRhoFile.deleteFile(dbOldName + "-journal"); CRhoFile.renameFile(dbNewName,dbOldName); CRhoFile.renameFile(dbNewName + "-journal", dbOldName + "-journal"); string[] ar2 = CRhoFile.enumDirectory("db"); m_dbStorage = RhoClassFactory.createDBStorage(); m_dbStorage.open(m_strDBPath, getSqlScript(), getEncryptionInfo() ); m_bIsOpen = true; string[] ar3 = CRhoFile.enumDirectory("db"); m_dbStorage.setDbCallback(new DBCallback(this)); }catch(Exception e) { LOG.ERROR("destroy_table failed.", e); if ( !m_bIsOpen ) { LOG.ERROR("destroy_table error.Try to open old DB."); try{ m_dbStorage.open(m_strDBPath, getSqlScript(), getEncryptionInfo() ); m_bIsOpen = true; }catch(Exception exc) { LOG.ERROR("destroy_table open old table failed.", exc); } } try { if ( db != null) db.close(); } catch (DBException e1) { LOG.ERROR("closing of DB caused exception: " + e1.Message); } throw e; } }