1#line 2 "src/Dbo/SessionGnuCashew.cpp"
5#include <Wt/Dbo/backend/Sqlite3.h>
20open(
const std::string & _path )
40 m_users = std::make_unique< GCW::Dbo::Users::UserDatabase >( *
this );
48 auto connection = std::make_unique< Wt::Dbo::backend::Sqlite3 >(
_path );
60 catch( std::exception &
e )
82 using ResultRow = std::tuple< std::string, std::string, std::string, int, std::string >;
91 "select type,name,tbl_name,rootpage,sql from sqlite_master"
99 for(
auto result : results )
103 std::string tbl_name;
107 std::tie( _type, _name, tbl_name, rootpage, _text ) = result;
109 if( _type !=
"table" )
119 std::cout << __FILE__ <<
":" << __LINE__
139 if( hasGnuCashewExtensions() )
148 for(
int i=0; i< 5; i++ )
151 auto sql =
TR( key ).toUTF8();
162 item.modify()-> setVar(
"gcwVersion", 1 );
auto isOpen() const -> bool
auto open(const std::string &_path) -> bool
Open a database.
bool addGnuCashewExtensions()
Add GnuCashew Extensions.
bool open(const std::string &_path)
Open a database.
std::unique_ptr< GCW::Dbo::Users::UserDatabase > m_users
bool hasGnuCashewExtensions()
Check GnuCashew Extensions.
ptr< T > addNew(Args &&...args)
void setConnection(std::unique_ptr< SqlConnection > connection)
static WDateTime currentDateTime()
std::string toUTF8() const
WString & arg(const std::wstring &value)
auto mapClasses(Wt::Dbo::Session &session) -> void
auto get(const std::string &_keyValue, const std::string &_cfyValue="*", bool _add=true) -> GCW::Dbo::Vars::Item::Ptr