#ifndef XML_INDEX_H
#define XML_INDEX_H
/*
#include <db.h>

//#define PG_PORT_H  
#include "postgres.h"
#undef open(a,b,c)

#include "fmgr.h"
*/

//important, or the open() function in bdb will violate with the one in port.h
#define PG_PORT_H 
#include "postgres.h"
#include "fmgr.h"
#include "executor/spi.h"
#include "funcapi.h"
#include "miscadmin.h"
#include "lib/stringinfo.h"

#include <db.h>

#define GET_STR(textp) DatumGetCString(DirectFunctionCall1(textout, PointerGetDatum(textp)))

int		open_env(DB_ENV *env,int envflags,char *data_dir,char *env_home);
int		open_db(DB *db,DB_ENV *env,int dbflags,char *relation_name);

Datum	create_xml_value_index(PG_FUNCTION_ARGS);
//Datum	search_xml_value_index(PG_FUNCTION_ARGS);

#endif