com.amazon.redshift.copy

## Class CopyManager

- java.lang.Object
- - com.amazon.redshift.copy.CopyManager

    public class CopyManager
    extends Object

API for Redshift COPY bulk data transfer.

### Constructor Summary

Constructors
Constructor and Description
`CopyManager(BaseConnection connection)`

### Method Summary

Methods
`CopyDual` `copyDual(String sql)`
`CopyIn` `copyIn(String sql)`
`long` `copyIn(String sql, ByteStreamWriter from)` Use COPY FROM STDIN for very fast copying from an ByteStreamWriter into a database table.
`long` `copyIn(String sql, InputStream from)` Use COPY FROM STDIN for very fast copying from an InputStream into a database table.
`long` `copyIn(String sql, InputStream from, int bufferSize)` Use COPY FROM STDIN for very fast copying from an InputStream into a database table.
`long` `copyIn(String sql, Reader from)` Use COPY FROM STDIN for very fast copying from a Reader into a database table.
`long` `copyIn(String sql, Reader from, int bufferSize)` Use COPY FROM STDIN for very fast copying from a Reader into a database table.
`CopyOut` `copyOut(String sql)`
`long` `copyOut(String sql, OutputStream to)` Pass results of a COPY TO STDOUT query from database into an OutputStream.
`long` `copyOut(String sql, Writer to)` Pass results of a COPY TO STDOUT query from database into a Writer.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### CopyManager

    public CopyManager(BaseConnection connection)
                throws SQLException

Throws:
  `SQLException`

### Method Detail

#### copyIn

    public CopyIn copyIn(String sql)
                  throws SQLException

Throws:
  `SQLException`

#### copyOut

    public CopyOut copyOut(String sql)
                    throws SQLException

Throws:
  `SQLException`

#### copyDual

    public CopyDual copyDual(String sql)
                      throws SQLException

Throws:
  `SQLException`

#### copyOut

    public long copyOut(String sql,
               Writer to)
                 throws SQLException,
                        IOException

Pass results of a COPY TO STDOUT query from database into a Writer.

Parameters:
  `sql` - COPY TO STDOUT statement
  `to` - the Writer to write the results to (row by row). The Writer is not closed at the end of the Copy Out operation.
Returns:
  number of rows updated for server 8.2 or newer; -1 for older
Throws:
  `SQLException` - on database usage errors
  `IOException` - upon writer or database connection failure

#### copyOut

    public long copyOut(String sql,
               OutputStream to)
                 throws SQLException,
                        IOException

Pass results of a COPY TO STDOUT query from database into an OutputStream.

Parameters:
  `sql` - COPY TO STDOUT statement
  `to` - the stream to write the results to (row by row) The stream is not closed at the end of the operation. This is intentional so the caller can continue to write to the output stream
Returns:
  number of rows updated for server 8.2 or newer; -1 for older
Throws:
  `SQLException` - on database usage errors
  `IOException` - upon output stream or database connection failure

#### copyIn

    public long copyIn(String sql,
              Reader from)
                throws SQLException,
                       IOException

Use COPY FROM STDIN for very fast copying from a Reader into a database table.

Parameters:
  `sql` - COPY FROM STDIN statement
  `from` - a CSV file or such
Returns:
  number of rows updated for server 8.2 or newer; -1 for older
Throws:
  `SQLException` - on database usage issues
  `IOException` - upon reader or database connection failure

#### copyIn

    public long copyIn(String sql,
              Reader from,
              int bufferSize)
                throws SQLException,
                       IOException

Use COPY FROM STDIN for very fast copying from a Reader into a database table.

Parameters:
  `sql` - COPY FROM STDIN statement
  `from` - a CSV file or such
  `bufferSize` - number of characters to buffer and push over network to server at once
Returns:
  number of rows updated for server 8.2 or newer; -1 for older
Throws:
  `SQLException` - on database usage issues
  `IOException` - upon reader or database connection failure

#### copyIn

    public long copyIn(String sql,
              InputStream from)
                throws SQLException,
                       IOException

Use COPY FROM STDIN for very fast copying from an InputStream into a database table.

Parameters:
  `sql` - COPY FROM STDIN statement
  `from` - a CSV file or such
Returns:
  number of rows updated for server 8.2 or newer; -1 for older
Throws:
  `SQLException` - on database usage issues
  `IOException` - upon input stream or database connection failure

#### copyIn

    public long copyIn(String sql,
              InputStream from,
              int bufferSize)
                throws SQLException,
                       IOException

Use COPY FROM STDIN for very fast copying from an InputStream into a database table.

Parameters:
  `sql` - COPY FROM STDIN statement
  `from` - a CSV file or such
  `bufferSize` - number of bytes to buffer and push over network to server at once
Returns:
  number of rows updated for server 8.2 or newer; -1 for older
Throws:
  `SQLException` - on database usage issues
  `IOException` - upon input stream or database connection failure

#### copyIn

    public long copyIn(String sql,
              ByteStreamWriter from)
                throws SQLException,
                       IOException

Use COPY FROM STDIN for very fast copying from an ByteStreamWriter into a database table.

Parameters:
  `sql` - COPY FROM STDIN statement
  `from` - the source of bytes, e.g. a ByteBufferByteStreamWriter
Returns:
  number of rows updated for server 8.2 or newer; -1 for older
Throws:
  `SQLException` - on database usage issues
  `IOException` - upon input stream or database connection failure