File: exec.h
Author: Ramana Yerneni
// File: exec.h // This file contains the prototypes for the main functions of the // execution engine of the Tsimmis mediators and wrappers. #ifndef EXEC_H #define EXEC_H // #include "btable.h" // for {bTable}. class bTable; // instead of including btable.h #include "pdp.h" // for {optype, consobjtype, condlisttype}. #include "tmtypes.h" // for {TM_Object}. /* * Function: PostProcess * Usage: answer = PostProcess(sourceanswer, headtemp, tailtemp, error); * This function does the post processing of the Wrappers. It takes a top * level answer object (the one the Wrapper got from its source) and the * head and tail templates of the Wrapper query. It will extract the bindings * from the answer objects pointed to by sourceanswer using the tailtemp. It * will then use these bindings to construct a new top level object that * points to all the answer objects whose structure is described by headtemp. * The function returns a pointer to this top level object. * If error != 0, there is an error, and the function returns NULL. * For more information on consobjtype and condlisttype, please refer to pdp.h. * For more information on TM_Object, please refer to tmtypes.h. */ TM_Object *PostProcess(TM_Object *sourceanswer, consobjtype *headtemp, condlisttype *tailtemp, int &error); /* * Function: Execute * Usage: answer = Execute(plan, error); * This function executes a given "physical" query plan. It returns a * pointer to the top level object that points to all the answers to the * query plan. The query plan is specified by the parameter "plan". An * error value is set by the function through the reference paramater "error". * For more information on optype, please refer to pdp.h. * For more information on TM_Object, please refer to tmtypes.h. */ TM_Object *Execute(optype *plan, int &error); #endif