Package org.postgresql.copy

# Interface CopyOperation

All Known Subinterfaces:
  `CopyDual`, `CopyIn`, `CopyOut`

All Known Implementing Classes:
  `CopyDualImpl`, `CopyInImpl`, `CopyOperationImpl`, `CopyOutImpl`, `PGCopyInputStream`, `PGCopyOutputStream`

public interface CopyOperation
Exchange bulk data between client and PostgreSQL database tables. See CopyIn and CopyOut for full interfaces for corresponding copy directions.

## Method Summary

Modifier and Type
Method
Description
`void`
`cancelCopy()`
Cancels this copy operation, discarding any exchanged data.
`int`
`getFieldCount()`
`int`
`getFieldFormat(int field)`
`int`
`getFormat()`
`long`
`getHandledRowCount()`
After successful end of copy, returns the number of database records handled in that operation.
`boolean`
`isActive()`

## Method Details

### getFieldCount

int getFieldCount()

Returns:
  number of fields in each row for this operation

### getFormat

int getFormat()

Returns:
  overall format of each row: 0 = textual, 1 = binary

### getFieldFormat

int getFieldFormat(int field)

Parameters:
  `field` - number of field (0..fieldCount()-1)
Returns:
  format of requested field: 0 = textual, 1 = binary

### isActive

boolean isActive()

Returns:
  is connection reserved for this Copy operation?

### cancelCopy

void cancelCopy() throws SQLException
Cancels this copy operation, discarding any exchanged data.

Throws:
  `SQLException` - if cancelling fails

### getHandledRowCount

long getHandledRowCount()
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.

Returns:
  number of handled rows or -1