#ifndef DATACUBE_H #define DATACUBE_H #include "nodes/parsenodes.h" #include "lib/stringinfo.h" #include "access/tupdesc.h" extern int nCr (int n, int r); extern int getMaxCombinations(int n); extern void Combination(char **arr ,int n, int x, int r); extern int getIndex(char *str); extern int generateCombinations (void); extern StringInfo generateQuery(int numSelect, char *aggregateAttrsList); extern void executeQuery(StringInfo buf, MemoryContext context); extern char* getTableName(void); extern void constructCube(Query *querytree, MemoryContext context, char *cubeTable); extern void dropCubeTable(char *tableName, MemoryContext context); extern void get_query_def(Query *query, StringInfo buf, List *parentnamespace, TupleDesc resultDesc); extern char *generate_function_name(Oid funcid, int nargs, Oid *argtypes); #endif /* DATACUBE_H */