pub struct PgCopyIn<C>where
C: DerefMut<Target = PgConnection>,{ /* private fields */ }postgres only.Expand description
A connection in streaming COPY FROM STDIN mode.
Created by PgConnection::copy_in_raw or Pool::copy_out_raw.
Note
PgCopyIn::finish or PgCopyIn::abort must be called when finished or the connection will return an error the next time it is used.
Implementations§
§impl<C> PgCopyIn<C>where
C: DerefMut<Target = PgConnection>,
impl<C> PgCopyIn<C>where C: DerefMut<Target = PgConnection>,
pub fn is_textual(&self) -> bool
pub fn is_textual(&self) -> bool
Returns true if Postgres is expecting data in text or CSV format.
pub fn num_columns(&self) -> usize
pub fn num_columns(&self) -> usize
Returns the number of columns expected in the input.
pub fn column_is_textual(&self, column: usize) -> bool
pub fn column_is_textual(&self, column: usize) -> bool
Check if a column is expecting data in text format (true) or binary format (false).
Panics
If column is out of range according to .num_columns().
pub async fn send(
&mut self,
data: impl Deref<Target = [u8]>
) -> Result<&mut PgCopyIn<C>, Error>
pub async fn send( &mut self, data: impl Deref<Target = [u8]> ) -> Result<&mut PgCopyIn<C>, Error>
Send a chunk of COPY data.
If you’re copying data from an AsyncRead, maybe consider Self::read_from instead.
pub async fn read_from(
&mut self,
source: impl AsyncRead + Unpin
) -> Result<&mut PgCopyIn<C>, Error>
pub async fn read_from( &mut self, source: impl AsyncRead + Unpin ) -> Result<&mut PgCopyIn<C>, Error>
Copy data directly from source to the database without requiring an intermediate buffer.
source will be read to the end.
Note: Completion Step Required
You must still call either Self::finish or Self::abort to complete the process.
Note: Runtime Features
This method uses the AsyncRead trait which is re-exported from either Tokio or async-std
depending on which runtime feature is used.
The runtime features used to be mutually exclusive, but are no longer.
If both runtime-async-std and runtime-tokio features are enabled, the Tokio version
takes precedent.
pub async fn abort(self, msg: impl Into<String>) -> Result<(), Error>
pub async fn abort(self, msg: impl Into<String>) -> Result<(), Error>
Signal that the COPY process should be aborted and any data received should be discarded.
The given message can be used for indicating the reason for the abort in the database logs.
The server is expected to respond with an error, so only unexpected errors are returned.