int CSqldalImpl::Reopen(const char* p_pkszNewMode ) { if ( ! p_pkszNewMode || 0 == p_pkszNewMode[0] ) return false ; // do not reopen, keep current if ( strModeToInt(p_pkszNewMode) == m_mode && m_pDBConn ) return true ; // not changed, keep current LOG("Try reopen:[%s]",p_pkszNewMode ); // log only when mode changes if ( ! Close() ) { return false ; } return Open(m_pDbFile,p_pkszNewMode); }
int CSqldalImpl::Reopen(const char* p_pkszNewMode ) { LOG("Try reopen:[%s]",p_pkszNewMode ); if ( ! p_pkszNewMode || 0 == p_pkszNewMode[0] ) return false ; if ( strModeToInt(p_pkszNewMode) == m_mode && m_pDBConn ) return true ; if ( ! Close() ) { return false ; } return Open(m_pDbFile,p_pkszNewMode); }
int CSqldalImpl::Open( const char* p_pDbFile, const char* p_pkszMode ) { int srv, mode ; // pre if ( ! p_pDbFile || *p_pDbFile==0 ) { FERR("NULL file name"); Close(); return false ; } if ( ! p_pkszMode || *p_pkszMode==0 ) { FERR("NULL opening mode"); Close(); return false ; } mode = strModeToInt(p_pkszMode); if ( m_pDBConn && mode == m_mode ) return true ; m_mode = mode ; memmove( m_pDbFile, p_pDbFile, strlen(p_pDbFile) ); srv = sqlite3_enable_shared_cache( false ); if (srv != SQLITE_OK) { WARN("FAIL:sqlite3_enable_shared_cache:[%d]:[%s]", sqlite3_errcode(m_pDBConn), sqlite3_errmsg(m_pDBConn) ); } srv = sqlite3_open_v2 ( m_pDbFile, &m_pDBConn, m_mode, NULL ); if (srv != SQLITE_OK) { ERR("sqlite3_open:[%d]:[%s]", sqlite3_errcode(m_pDBConn), sqlite3_errmsg(m_pDBConn) ); Close(); return false ; } LOG("[%s] Openned in [%s] mode", m_pDbFile, p_pkszMode ); return true ; }