Lng32 ExpLOBoper::dropLOB(void * lobGlob, void * lobHeap, char * lobLoc,Int32 hdfsPort, char *hdfsServer, Int64 uid, Lng32 num) { char buf[101]; char * lobName = ExpGetLOBname(uid, num, buf, 100); if (lobName == NULL) return -1; Lng32 rc = 0; void * lobGlobL = NULL; // Call ExeLOBinterface to create the LOB if (lobGlob == NULL) { rc = initLOBglobal(lobGlobL, lobHeap); if (rc) return -1; } else lobGlobL = lobGlob; // Call ExeLOBinterface to drop the LOB rc = ExpLOBinterfaceDrop(lobGlobL,hdfsServer, hdfsPort, lobName, lobLoc); return rc; }
Lng32 ExpLOBoper::createLOB(void * lobGlob, void * lobHeap, char * lobLoc,Int32 hdfsPort,char *hdfsServer, Int64 uid, Lng32 num, Int64 lobMaxSize ) { char buf[100]; char * lobName = ExpGetLOBname(uid, num, buf, 100); if (lobName == NULL) return -1; Lng32 rc = 0; void * lobGlobL = NULL; // Call ExeLOBinterface to create the LOB if (lobGlob == NULL) { rc = initLOBglobal(lobGlobL, lobHeap); if (rc) return -1; } else lobGlobL = lobGlob; rc = ExpLOBinterfaceCreate(lobGlobL, lobName, lobLoc, Lob_HDFS_File,hdfsServer,lobMaxSize, hdfsPort); return rc; }
Int32 ExpLOBoper::purgeBackupLobDataFile(void *lobGlob,char *lobName, void *lobHeap, char * hdfsServer, Int32 hdfsPort, char *lobLoc) { Int32 rc = 0; void * lobGlobL = NULL; if (lobGlob == NULL) { rc = initLOBglobal(lobGlobL, lobHeap); if (rc) return -1; } else lobGlobL = lobGlob; if (rc) return -1; rc = ExpLOBinterfacePurgeBackupLobDataFile(lobGlobL,(char *)hdfsServer,hdfsPort,lobLoc,lobName); return rc; }
Int32 ExpLOBoper::restoreLobDataFile(void *exLobGlob, char *lobName, void *lobHeap, char *hdfsServer, Int32 hdfsPort, char *lobLoc) { Int32 rc = 0; void * exLobGlobL = NULL; if (exLobGlob == NULL) { rc = initLOBglobal(exLobGlobL, lobHeap); if (rc) return -1; } else exLobGlobL = exLobGlob; if (rc) return -1; rc = ExpLOBinterfaceRestoreLobDataFile(exLobGlobL,hdfsServer,hdfsPort,lobLoc,lobName); return rc; }
Lng32 ExpLOBoper::compactLobDataFile(void *lobGlob,ExLobInMemoryDescChunksEntry *dcArray,Int32 numEntries,char *tgtLobName,Int64 lobMaxChunkMemSize, void *lobHeap, char *hdfsServer, Int32 hdfsPort, char *lobLoc) { Int32 rc = 0; void * lobGlobL = NULL; // Call ExeLOBinterface to create the LOB if (lobGlob == NULL) { rc = initLOBglobal(lobGlobL, lobHeap); if (rc) return -1; } else lobGlobL = lobGlob; if (rc) return -1; rc = ExpLOBinterfacePerformGC(lobGlobL,tgtLobName, (void *)dcArray, numEntries,hdfsServer,hdfsPort,lobLoc,lobMaxChunkMemSize); return rc; }