DataStore DataStore::open(std::string db_path) { sqlite3 *db; if(sqlite3_open(db_path.c_str(), &db) != SQLITE_OK) { std::cout << "Error opening SQLite database" << std::endl; } return DataStore(db); }
DataStore AST_If_Statement::calculate(const Sheeve::intrusive_ptr &context) const { return DataStore(); }
DataStore DatabaseQuery::takeResult() { if (!m_results.isEmpty()) { return m_results.takeFirst(); } return DataStore(); }
void DatabaseQuery::start() { emit resultsReady(DataStore()); while (m_requests.count() > 0) { runQuery(); } }
DataStore AST_Double::calculate(const Sheeve::intrusive_ptr &context) const { return DataStore(SupportedType::stDouble, m_Value); }
DataStore Double_Multiply_Double_Operator_Calculation::doInternalCalculation(const DataStore &left, const DataStore &right) const { double ans = left.doubleValue () * right.doubleValue(); return DataStore(SupportedType::stDouble, ans); }
DataStore Integer_Multiply_Integer_Operator_Calculation::doInternalCalculation(const DataStore &left, const DataStore &right) const { int ans = left.intValue() * right.intValue(); return DataStore(SupportedType::stInteger, ans); }
DataStore String_Plus_String_Operator_Calculation::doInternalCalculation(const DataStore &left, const DataStore &right) const { std::string ans = left.stringValue () + right.stringValue(); return DataStore(SupportedType::stString, ans); }
DataStore Integer_Plus_Double_Operator_Calculation::doInternalCalculation(const DataStore &left, const DataStore &right) const { double ans = left.intValue () + right.doubleValue(); return DataStore(SupportedType::stDouble, ans); }