* @param bindings the optional bindings for the destination, this allows morphing of types during the copy
* @return the count of the total number of rows bulk copied, -1 if the query returned no rows
*/
protected PyObject bcp(String fromTable, String where, PyObject params, PyObject include, PyObject exclude, String toTable, PyObject bindings) {
Pipe pipe = new Pipe();
String _toTable = (toTable == null) ? fromTable : toTable;
DBSource source = new DBSource(this.source, sourceDH, fromTable, where, include, params);
DBSink sink = new DBSink(this.destination, destDH, _toTable, exclude, bindings, this.batchsize);
return pipe.pipe(source, sink).__sub__(Py.newInteger(1));
}