Package org.postgresql.copy
Class PGCopyInputStream
java.lang.Object
java.io.InputStream
org.postgresql.copy.PGCopyInputStream
- All Implemented Interfaces:
Closeable
,AutoCloseable
,CopyOperation
,CopyOut
InputStream for reading from a PostgreSQL COPY TO STDOUT operation.
-
Constructor Summary
ConstructorDescriptionUse given CopyOut operation for reading.PGCopyInputStream
(PGConnection connection, String sql) Uses given connection for specified COPY TO STDOUT operation. -
Method Summary
Modifier and TypeMethodDescriptionint
void
Cancels this copy operation, discarding any exchanged data.void
close()
int
int
getFieldFormat
(int field) int
long
After successful end of copy, returns the number of database records handled in that operation.boolean
isActive()
int
read()
int
read
(byte[] buf) int
read
(byte[] buf, int off, int siz) byte @Nullable []
Blocks wait for a row of data to be received from server on an active copy operation.byte @Nullable []
readFromCopy
(boolean block) Wait for a row of data to be received from server on an active copy operation.Methods inherited from class java.io.InputStream
mark, markSupported, nullInputStream, readAllBytes, readNBytes, readNBytes, reset, skip, skipNBytes, transferTo
-
Constructor Details
-
PGCopyInputStream
Uses given connection for specified COPY TO STDOUT operation.- Parameters:
connection
- database connection to use for copying (protocol version 3 required)sql
- COPY TO STDOUT statement- Throws:
SQLException
- if initializing the operation fails
-
PGCopyInputStream
Use given CopyOut operation for reading.- Parameters:
op
- COPY TO STDOUT operation
-
-
Method Details
-
available
- Overrides:
available
in classInputStream
- Throws:
IOException
-
read
- Specified by:
read
in classInputStream
- Throws:
IOException
-
read
- Overrides:
read
in classInputStream
- Throws:
IOException
-
read
- Overrides:
read
in classInputStream
- Throws:
IOException
-
readFromCopy
Description copied from interface:CopyOut
Blocks wait for a row of data to be received from server on an active copy operation.- Specified by:
readFromCopy
in interfaceCopyOut
- Returns:
- byte array received from server, null if server complete copy operation
- Throws:
SQLException
- if something goes wrong for example socket timeout
-
readFromCopy
Description copied from interface:CopyOut
Wait for a row of data to be received from server on an active copy operation.- Specified by:
readFromCopy
in interfaceCopyOut
- Parameters:
block
-true
if need wait data from server otherwisefalse
and will read pending message from server- Returns:
- byte array received from server, if pending message from server absent and use no blocking mode return null
- Throws:
SQLException
- if something goes wrong for example socket timeout
-
close
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Overrides:
close
in classInputStream
- Throws:
IOException
-
cancelCopy
Description copied from interface:CopyOperation
Cancels this copy operation, discarding any exchanged data.- Specified by:
cancelCopy
in interfaceCopyOperation
- Throws:
SQLException
- if cancelling fails
-
getFormat
public int getFormat()- Specified by:
getFormat
in interfaceCopyOperation
- Returns:
- overall format of each row: 0 = textual, 1 = binary
-
getFieldFormat
public int getFieldFormat(int field) - Specified by:
getFieldFormat
in interfaceCopyOperation
- Parameters:
field
- number of field (0..fieldCount()-1)- Returns:
- format of requested field: 0 = textual, 1 = binary
-
getFieldCount
public int getFieldCount()- Specified by:
getFieldCount
in interfaceCopyOperation
- Returns:
- number of fields in each row for this operation
-
isActive
public boolean isActive()- Specified by:
isActive
in interfaceCopyOperation
- Returns:
- is connection reserved for this Copy operation?
-
getHandledRowCount
public long getHandledRowCount()Description copied from interface:CopyOperation
After successful end of copy, returns the number of database records handled in that operation. Only implemented in PostgreSQL server version 8.2 and up. Otherwise, returns -1.- Specified by:
getHandledRowCount
in interfaceCopyOperation
- Returns:
- number of handled rows or -1
-