# File lib/dbd_pg/Pg.rb, line 610 def execute # replace DBI::Binary object by oid returned by lo_import @bindvars.collect! do |var| if var.is_a? DBI::Binary then blob = @db.__blob_create(PGlarge::INV_WRITE) blob.open blob.write(var.to_s) oid = blob.oid blob.close oid else var end end boundsql = @prep_sql.bind(@bindvars) if not SQL.query?(boundsql) and not @db['AutoCommit'] then @db.start_transaction unless @db.in_transaction? end pg_result = @db._exec(boundsql) @result = Tuples.new(@db, pg_result) rescue PGError, RuntimeError => err raise DBI::ProgrammingError.new(err.message) end