com.vertica.sdk.FileManager Class Reference

Collaboration diagram for com.vertica.sdk.FileManager:

Public Member Functions
abstract void closeReader (long readerID) throws UdfException, DestroyInvocation
abstract void closeWriter (long writerID) throws UdfException, DestroyInvocation
abstract int deleteIt (String fileName, boolean isRecursively) throws UdfException, DestroyInvocation
abstract void finalize ()
abstract boolean initDFSFile (DFSFile file) throws UdfException, DestroyInvocation
abstract List listFiles (String fileName) throws UdfException, DestroyInvocation
abstract long openForRead (String fileName, DFSFile.DFSRootParentType parentType, String parentName) throws UdfException, DestroyInvocation
abstract long openForWrite (String fileName, DFSFile.DFSScope dfsScope, DFSFile.DFSDistribution dfsDistrib) throws UdfException, DestroyInvocation
abstract int read (long readerID, ByteBuffer buffer, int size) throws UdfException, DestroyInvocation
abstract long seek (long readerID, long offset, int origin) throws UdfException, DestroyInvocation
abstract long size (long readerID) throws UdfException, DestroyInvocation
abstract int write (long writerID, ByteBuffer buffer) throws UdfException, DestroyInvocation

Detailed Description

File Manager is a session level co-ordinator, which will be used by DFSFile, DFSFileReader and DFSFileWriter to interact with Catalog and Storage system of Vertica.

Member Function Documentation

closeReader()

abstract void com.vertica.sdk.FileManager.closeReader(long readerID) throws UdfException, DestroyInvocation

abstract

Closes the file opened for reading, identified by 'readerID'

Parameters

  • readerID: id of the reader to close

Exceptions

  • UdfException: UDF problem
  • DestroyInvocation: vertica canceling – do not catch or handle

Referenced by com.vertica.sdk.DFSFileReader.close().

closeWriter()

abstract void com.vertica.sdk.FileManager.closeWriter(long writerID) throws UdfException, DestroyInvocation

abstract

Closes the file opened for writing, identified by 'writerID'

Parameters

  • writerID: id of the writer to close

Exceptions

  • UdfException: UDF problem
  • DestroyInvocation: vertica canceling – do not catch or handle

Referenced by com.vertica.sdk.DFSFileWriter.close().

deleteIt()

abstract int com.vertica.sdk.FileManager.deleteIt(String fileName, boolean isRecursively) throws UdfException, DestroyInvocation

abstract

Deletes a DFSFile, identified by full path 'fileName'.

Parameters

  • fileName: the file or directory to delete
  • isRecursively: whether to delete recursively

Returns 0 if successful, throw exceptions if there are errors

Exceptions

  • UdfException: UDF problem
  • DestroyInvocation: vertica canceling – do not catch or handle

Referenced by com.vertica.sdk.DFSFile.deleteIt().

finalize()

abstract void com.vertica.sdk.FileManager.finalize()

abstract

Finalizes a plan/query/statement. Should only invoke on the initiator node of a query. Complete file replication and commit metadata into the catalog. returns nothing, throws exceptions if there are errors.

initDFSFile()

abstract boolean com.vertica.sdk.FileManager.initDFSFile(DFSFile file) throws UdfException, DestroyInvocation

abstract

Initialize a DFSFile upon constructing.

Parameters

  • file: the DFS file to initialize

Returns true if file exists in the DFS, false otherwise

Exceptions

  • UdfException: UDF problem
  • DestroyInvocation: vertica canceling – do not catch or handle

listFiles()

abstract List com.vertica.sdk.FileManager.listFiles(String fileName) throws UdfException, DestroyInvocation

abstract

Lists file under the path specified by 'fileName'

Parameters

  • fileName: name of file/directory to list

Returns a list of DFSFile found under the path.

Exceptions

  • UdfException: UDF problem
  • DestroyInvocation: vertica canceling – do not catch or handle

Referenced by com.vertica.sdk.DFSFile.listFiles().

openForRead()

abstract long com.vertica.sdk.FileManager.openForRead(String fileName, DFSFile.DFSRootParentType parentType, String parentName) throws UdfException, DestroyInvocation

abstract

Opens a file for reading

Parameters

  • fileName: the filename
  • parentType: type of the parent
  • parentName: name of the parent

Returns A unique identifier for the file opened. Return value is less than 0 if there are errors

Exceptions

  • UdfException: UDF problem
  • DestroyInvocation: vertica canceling – do not catch or handle

openForWrite()

abstract long com.vertica.sdk.FileManager.openForWrite(String fileName, DFSFile.DFSScope dfsScope, DFSFile.DFSDistribution dfsDistrib) throws UdfException, DestroyInvocation

abstract

Opens a file for writing

Parameters

  • fileName: name of file
  • dfsScope: scope
  • dfsDistrib: distribution

Returns A unique identifier for the file opened. Return value is less tan 0 if there are errors

Exceptions

  • UdfException: UDF problem
  • DestroyInvocation: vertica canceling – do not catch or handle

Referenced by com.vertica.sdk.DFSFileWriter.open().

read()

abstract int com.vertica.sdk.FileManager.read(long readerID, ByteBuffer buffer, int size) throws UdfException, DestroyInvocation

abstract

Reads 'size' of bytes into buffer from the file identified by 'readerID'.

Parameters

  • readerID: id of the file reader
  • buffer: ByteBuffer to read into
  • size: number of bytes to read

Returns number of bytes actually read, 0 if no bytes were read, indicates the EOF.

Exceptions

  • UdfException: UDF problem
  • DestroyInvocation: vertica canceling – do not catch or handle

Referenced by com.vertica.sdk.DFSFileReader.read().

seek()

abstract long com.vertica.sdk.FileManager.seek(long readerID, long offset, int origin) throws UdfException, DestroyInvocation

abstract

Reposition the read file offset

Parameters

  • readerID: id of the file reader
  • offset: offset to seek to
  • origin: origin from which to seek

Returns the new file offset.

Exceptions

  • UdfException: UDF problem
  • DestroyInvocation: vertica canceling – do not catch or handle

Referenced by com.vertica.sdk.DFSFileReader.seek().

size()

abstract long com.vertica.sdk.FileManager.size(long readerID) throws UdfException, DestroyInvocation

abstract

Get size of file identified by 'readerID'

Parameters

  • readerID: id of the file reader

Returns file size

Exceptions

  • UdfException: UDF problem
  • DestroyInvocation: vertica canceling – do not catch or handle

write()

abstract int com.vertica.sdk.FileManager.write(long writerID, ByteBuffer buffer) throws UdfException, DestroyInvocation

abstract

Writes bytes into the file identified by 'writerID' from the buffer.

Bytes are retrieved from buffer starting from the current position till it's limit. Current position will be advanced depending on how many bytes are written.

Parameters

  • writerID: id of the writer
  • buffer: ByteBuffer from which to write

Returns number of bytes actually written, less than 0 if there are any errors.

Exceptions

  • UdfException: UDF problem
  • DestroyInvocation: vertica canceling – do not catch or handle

Referenced by com.vertica.sdk.DFSFileWriter.write().