File: losample.rb

package info (click to toggle)
libpgsql-ruby 0.7.1-3
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 192 kB
  • ctags: 233
  • sloc: ruby: 1,359; ansic: 1,260; makefile: 50
file content (47 lines) | stat: -rw-r--r-- 1,104 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
require "postgres"

def main
  conn = PGconn.connect("localhost",5432,"","")
  puts("dbname: " + conn.db + "\thost: " + conn.host + "\tuser: " + conn.user)

  # Transaction
  conn.exec("BEGIN")
  lobj = conn.loimport("losample.rb")
  lobjnum = lobj.oid
  puts("loimport ok! oid=" + lobj.oid.to_s)
  lobj.open
  lobj.seek(0,PGlarge::SEEK_SET) # SEEK_SET or SEEK_CUR or SEEK_END
  buff =  lobj.read(18)
  puts buff
  if 'require "postgres"' == buff
    puts "read ok!"
  end
  lobj.seek(0,PGlarge::SEEK_END)
  buff = lobj.write("write test ok?\n")
  puts lobj.tell
  puts 'export test .file:lowrite.losample add "write test of?"...'
  lobj.export("lowrite.txt")
  lobj.close
  conn.exec("COMMIT")
  begin
    lobj.read(1)
    puts "boo!"
    return
  rescue
    puts "ok! Large Object is closed"
  end
  conn.exec("BEGIN")
  puts lobjnum.to_s
  lobj = conn.loopen(lobjnum)
  puts "large object reopen ok!"
  lobj.seek(0,PGlarge::SEEK_SET) # SEEK_SET or SEEK_CUR or SEEK_END
  buff =  lobj.read(18)
  puts buff
  puts "reread ok!"
  conn.exec("COMMIT")
  lobj.unlink
  puts "large object unlink"
end

main