Public Methods | |
TLob () | |
TLob (OCIEnv *env, OCISvcCtx *svcctx, OCIError *err, int lob_type, int cache_mode) | |
void | init (OCIEnv *envhp, OCISvcCtx *svcctx, OCIError *err, int lob_type, int cache_mode) |
~TLob () | |
void | drop () |
void | seek (unsigned offset, int dir) |
unsigned | tell () |
unsigned | read (void *buff, int blen) |
unsigned | write (const void *buff, int blen) |
void | trunc (unsigned) |
void | loadFromBFile (BFile &bfile, unsigned int amount, unsigned int dst_offset, unsigned int src_offset) |
void | setCacheMode (int mode) |
unsigned | getLen () const |
void | copyFrom (Lob &src_lob, unsigned amount, unsigned dst_off, unsigned src_off) |
void | copyFrom (TLob &src_lob, unsigned amount, unsigned dst_off, unsigned src_off) |
void | copyFrom (BFile &src_file, unsigned amount, unsigned dst_off, unsigned src_off) |
Friends | |
class | Lob |
Temporary LOBs within Oracle are almost like normal (persistent) LOBs, with the exception that they only exist during the current session. In constrast to LOBs, TLOBs are not stored within 'normal' tablespace(s), but exist only within the temporary tablespace(s).
|
Default-Constructor for a temporary LOB. A TLOB may be initialized by calling void Connection::createTLob()
|
|
At the end of a duration (e.g. the current session or an explicitly specified duration), all temporary LOBs associated to this duration are freed. However, the descriptor associated with the temporary LOB must be freed explicitly.
|
|
Copies data from a BFile src_file
|
|
Copies data from a temporary Lob src_lob
|
|
Copies data from Lob src_lob Both locators must be of the same type (they are both must be BLOB or CLOB) Lob cache must not be enabled for either locator. The amount parameter indicates the maximum amount to copy. If the end of the source LOB is reached before the specified amount is copied, the operation terminates without error.
|
|
Drop (free) a temporary LOB.
|
|
Retreive the total amount of data stored within this temporary lob.
|
|
Read a sequence of buf_len bytes from the temporary lob into the buffer buf. The amount of bytes actually transfered is being returned.
|
|
Seek a position within the temporary LOB.
|
|
|
|
Retuns the current position from the start of the temporary lob. For this position, the inequation 0 <= tell() < getLen() holds.
|
|
Truncates the temporary lob to a specified to a length of new_len bytes. The function throws an exception if new_len is greater than the current temporary LOB's length.
|
|
Write a sequence of buf_len bytes into the temporary lob from the buffer buf. The amount of bytes actually transfered is being returned.
|