예제 #1
0
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;
}
예제 #2
0
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;
}
예제 #3
0
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;
}
예제 #4
0
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;

}
예제 #5
0
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;
}