pub struct Nclob { /* private fields */ }
Expand description
A reference to Oracle data type NCLOB
This struct implements Read
and Write
to read and write
characters. Read::read
fails when buf
is too small
to store one character. Write::write
fails when buf
contains
invalid UTF-8 byte sequence.
This also implements SeekInChars
to seek to a position in characters.
Note that there is no way to seek in bytes.
§Notes
The size of LOBs returned by Lob::size
and positions in
SeekInChars
are inaccurate if a character in the LOB requires
more than one UCS-2 codepoint. That’s becuase Oracle stores CLOBs
and NCLOBs using the UTF-16 encoding and the number of characters
is defined by the number of UCS-2 codepoints.
Implementations§
Trait Implementations§
Source§impl Lob for Nclob
impl Lob for Nclob
Source§fn truncate(&mut self, new_size: u64) -> Result<()>
fn truncate(&mut self, new_size: u64) -> Result<()>
Shortens the data in the LOB so that it only contains the specified amount of
data. Read more
Source§fn chunk_size(&self) -> Result<usize>
fn chunk_size(&self) -> Result<usize>
Returns the chunk size, in bytes, of the internal LOB. Reading and writing
to the LOB in multiples of this size will improve performance.
Source§fn open_resource(&mut self) -> Result<()>
fn open_resource(&mut self) -> Result<()>
Opens the LOB resource for writing. This will improve performance when
writing to the LOB in chunks and there are functional or extensible indexes
associated with the LOB. If this function is not called, the LOB resource
will be opened and closed for each write that is performed. A call to the
close_resource
should be done before performing a
call to the function Connection.commit
.Source§fn close_resource(&mut self) -> Result<()>
fn close_resource(&mut self) -> Result<()>
Closes the LOB resource. This should be done when a batch of writes has
been completed so that the indexes associated with the LOB can be updated.
It should only be performed if a call to function
open_resource
has been performed.Source§fn is_resource_open(&self) -> Result<bool>
fn is_resource_open(&self) -> Result<bool>
Returns a boolean value indicating if the LOB resource has been opened by
making a call to the function
open_resource
.Source§impl Read for Nclob
impl Read for Nclob
Source§fn read(&mut self, buf: &mut [u8]) -> Result<usize>
fn read(&mut self, buf: &mut [u8]) -> Result<usize>
Pull some bytes from this source into the specified buffer, returning
how many bytes were read. Read more
Source§fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize>
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize>
Reads all bytes until EOF in this source, placing them into
buf
. Read more1.36.0 · Source§fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>
fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>
Like
read
, except that it reads into a slice of buffers. Read moreSource§fn is_read_vectored(&self) -> bool
fn is_read_vectored(&self) -> bool
🔬This is a nightly-only experimental API. (
can_vector
)1.0.0 · Source§fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
Reads all bytes until EOF in this source, appending them to
buf
. Read more1.6.0 · Source§fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
Reads the exact number of bytes required to fill
buf
. Read moreSource§fn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>
fn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
read_buf
)Pull some bytes from this source into the specified buffer. Read more
Source§fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>
fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
read_buf
)Reads the exact number of bytes required to fill
cursor
. Read more1.0.0 · Source§fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
Creates a “by reference” adaptor for this instance of
Read
. Read moreSource§impl SeekInChars for Nclob
impl SeekInChars for Nclob
Source§impl ToSqlNull for Nclob
impl ToSqlNull for Nclob
fn oratype_for_null(_conn: &Connection) -> Result<OracleType>
Source§impl Write for Nclob
impl Write for Nclob
Source§fn write(&mut self, buf: &[u8]) -> Result<usize>
fn write(&mut self, buf: &[u8]) -> Result<usize>
Writes a buffer into this writer, returning how many bytes were written. Read more
Source§fn flush(&mut self) -> Result<()>
fn flush(&mut self) -> Result<()>
Flushes this output stream, ensuring that all intermediately buffered
contents reach their destination. Read more
Source§fn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
🔬This is a nightly-only experimental API. (
can_vector
)1.0.0 · Source§fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
Attempts to write an entire buffer into this writer. Read more
Source§fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
write_all_vectored
)Attempts to write multiple buffers into this writer. Read more
Auto Trait Implementations§
impl Freeze for Nclob
impl RefUnwindSafe for Nclob
impl !Send for Nclob
impl !Sync for Nclob
impl Unpin for Nclob
impl UnwindSafe for Nclob
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more