The MQLResult class encapsulates the results of an MQL query. It is either a sheaf or a table. If it is a sheaf, the table-part will be empty. If it is a table, getSheaf() will return nil. If it is a sheaf, getSheaf will return a pointer to the sheaf.

C++ interface

#include <mql_result.h>

class MQLResult : public Table {
  Sheaf *getSheaf(void);
  Table *getTable(void);
  FlatSheaf *getFlatSheaf(void);

  bool isSheaf() const;
  bool isFlatSheaf() const;
  bool isTable() const;

  // out prints either XML, JSON or Console output, based on pOut
  void out(EMdFOutput *pOut) const;

  // printDTD prints the MQLResult's contributions to the DTD
  static void printDTD(EMdFOutput* pOut);

  // For all object types in the sheaf
  bool flatten(); 

  // Only for the object types in pObjectTypeNames.
  bool flatten(StringList *pObjectTypeNames, EMdFDB *pDB); 

Up:Part II: APIs