示例#1
0
QueryData TablePlugin::getCache() const {
  VLOG(1) << "Retrieving results from cache for table: " << getName();
  // Lookup results from database and deserialize.
  std::string content;
  getDatabaseValue(kQueries, "cache." + getName(), content);
  QueryData results;
  deserializeQueryDataJSON(content, results);
  return results;
}
示例#2
0
TEST_F(ResultsTests, test_deserialize_query_data_json) {
  auto results = getSerializedQueryDataJSON();

  // Pull the serialized JSON back into a QueryData output container.
  QueryData output;
  auto s = deserializeQueryDataJSON(results.first, output);
  EXPECT_TRUE(s.ok());
  // The output container should match the input query data.
  EXPECT_EQ(output, results.second);
}
示例#3
0
文件: query.cpp 项目: FritzX6/osquery
Status Query::getPreviousQueryResults(QueryDataSet& results) const {
  std::string raw;
  auto status = getDatabaseValue(kQueries, name_, raw);
  if (!status.ok()) {
    return status;
  }

  status = deserializeQueryDataJSON(raw, results);
  if (!status.ok()) {
    return status;
  }
  return Status(0, "OK");
}
示例#4
0
Status Query::getPreviousQueryResults(QueryData& results, DBHandleRef db) {
    if (!isQueryNameInDatabase()) {
        return Status(0, "Query name not found in database");
    }

    std::string raw;
    auto status = db->Get(kQueries, name_, raw);
    if (!status.ok()) {
        return status;
    }

    status = deserializeQueryDataJSON(raw, results);
    if (!status.ok()) {
        return status;
    }
    return Status(0, "OK");
}