class Janko::CopyImporter

Public Instance Methods

push(values) click to toggle source
# File lib/janko/copy_importer.rb, line 16
def push(values)
    begin
        line = CSV.generate_line(columns.pack(values))
        connection.put_copy_data(line)
    rescue
        stop
        raise
    end
    self
end
start() click to toggle source
# File lib/janko/copy_importer.rb, line 10
def start
    connection.async_exec(sprintf("COPY %s(%s) FROM STDOUT CSV",
        table, columns.to_list))
    self
end
stop() click to toggle source
# File lib/janko/copy_importer.rb, line 27
def stop
    connection.put_copy_end
    result = connection.get_last_result
    return(self) if (result.result_status == PG::PGRES_COMMAND_OK)
    return(self) if (result.result_status == PG::PGRES_COPY_IN)
    raise(PG::Error, result.error_message)
    self
end