Package com.databend.jdbc

# Interface FileTransferAPI

All Known Implementing Classes:
  `DatabendConnection`

public interface FileTransferAPI

## Method Summary

Modifier and Type
Method
Description
`void`
`copyIntoTable(String database, String tableName, DatabendStage stage, DatabendCopyParams params)`
Copy into the target table from files on the internal stage Documentation: https://databend.rs/doc/sql-commands/dml/dml-copy-into-table
`InputStream`
`downloadStream(String stageName, String sourceFileName, boolean decompress)`
Download a file from the databend internal stage, the data would be downloaded as one file with no split.
`void`
`uploadStream(String stageName, String destPrefix, InputStream inputStream, String destFileName, boolean compressData)`
Upload inputStream to the databend internal stage, the data would be uploaded as one file with no split.

## Method Details

### uploadStream

void uploadStream(String stageName, String destPrefix, InputStream inputStream, String destFileName, boolean compressData) throws SQLException
Upload inputStream to the databend internal stage, the data would be uploaded as one file with no split. Caller should close the input stream after the upload is done.

Parameters:
  `stageName` - the stage which receive uploaded file
  `destPrefix` - the prefix of the file name in the stage
  `inputStream` - the input stream of the file
  `destFileName` - the destination file name in the stage
  `compressData` - whether to compress the data
Throws:
  `SQLException` - failed to upload input stream

### downloadStream

InputStream downloadStream(String stageName, String sourceFileName, boolean decompress) throws SQLException
Download a file from the databend internal stage, the data would be downloaded as one file with no split.

Parameters:
  `stageName` - the stage which contains the file
  `sourceFileName` - the file name in the stage
  `decompress` - whether to decompress the data
Returns:
  the input stream of the file
Throws:
  `SQLException`

### copyIntoTable

void copyIntoTable(String database, String tableName, DatabendStage stage, DatabendCopyParams params) throws SQLException
Copy into the target table from files on the internal stage Documentation: https://databend.rs/doc/sql-commands/dml/dml-copy-into-table

Parameters:
  `database` - the target table's database
  `tableName` - the target table name
  `stage` - the stage which contains the files
  `params` - copy options and file options
Throws:
  `SQLException`