code: function (opts) {
              var queryStream = this.fetchRows(this.selectSql, merge(opts || {}, {stream: true})), rowCb, ret;
              if ((rowCb = this.rowCb)) {
                  ret = new TransformStream({objectMode: true});
                  ret._transform = function (data, encoding, done) {
                      when(rowCb(data)).chain(function (data) {
                          ret.push(data);
                          done();
                      }, done);
                  };
                  pipeAll(queryStream, ret);
              } else {
                  ret = queryStream;
              }
              return ret;
          }
docs: Returns a [Stream](http://nodejs.org/api/stream.html) for streaming data from the database.
  
  ```
  User
  .stream()
  .on("data", function(record){
  console.log(record);
  })
  .on("error", errorHandler)
  .on("end", function(){
  console.log("all done")
  });
  
  //postgres options
  User
  .stream({batchSize: 100, highWaterMark: 1000})
  .on("data", function(record){
  console.log(record);
  })
  .on("error", errorHandler)
  .on("end", function(){
  console.log("all done")
  });
  ```
  @param {Object} opts an object to pass to the adapters connection stream implementation
  @return {Stream}