PG::CopyResult
IO object obtained through PG::Connection.exec_copy.
Constructors
Instance methods
closed?
Returns true if this IO is closed.
IO defines returns false, but including types may override.
Reads at most slice.size bytes from this IO into slice.
Returns the number of bytes read, which is 0 if and only if there is no
more data to read (so checking for 0 is the way to detect end of file).
io = IO::Memory.new "hello"
slice = Bytes.new(4)
io.read(slice) # => 4
slice # => Bytes[104, 101, 108, 108]
io.read(slice) # => 1
slice # => Bytes[111, 101, 108, 108]
io.read(slice) # => 0
remaining_row_size
Returns the number of remaining bytes in the current row. Returns 0 the are no more rows to be read. This can be used to allocate the precise amount of memory to read a complete row.
size = io.remaining_row_size
if size != 0
row = Bytes.new(size)
io.read(row)
# Process the row.
end