ruby-postgres 0.7.1.2005.11.23

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,35 @@
1
+ require 'rubygems'
2
+ require 'date'
3
+
4
+ SPEC = Gem::Specification.new do |s|
5
+ s.name = 'ruby-postgres'
6
+ s.rubyforge_project = 'ruby-postgres'
7
+ s.version = "0.7.1.#{Date.today}".tr('-', '.')
8
+ s.summary = 'Ruby extension for PostgreSQL database coordination'
9
+ s.author = 'Yukihiro Matsumoto, Eiji Matsumoto, Noboru Saitou, Dave Lee'
10
+ s.email = 'davelee.com@gmail.com'
11
+ s.homepage = 'http://ruby.scripting.ca/postgres/'
12
+ s.requirements = 'PostgreSQL libpq library and headers'
13
+ s.has_rdoc = true
14
+ s.require_path = '.'
15
+ s.autorequire = 'postgres'
16
+
17
+ if File.exists? 'postgres.so' and PLATFORM =~ /mingw/
18
+ s.platform = Gem::Platform::WIN32
19
+ else
20
+ s.platform = Gem::Platform::RUBY
21
+ s.extensions = 'extconf.rb'
22
+ end
23
+
24
+ if File.exists? '_darcs'
25
+ s.files = Dir.chdir('_darcs/current') { Dir['**/*'] }
26
+ else
27
+ s.files = Dir['**/*']
28
+ end
29
+
30
+ end
31
+
32
+ if $0 == __FILE__
33
+ Gem::manage_gems
34
+ Gem::Builder.new(SPEC).build
35
+ end
@@ -0,0 +1,47 @@
1
+ require "postgres"
2
+
3
+ def main
4
+ conn = PGconn.connect("localhost",5432,"","")
5
+ puts("dbname: " + conn.db + "\thost: " + conn.host + "\tuser: " + conn.user)
6
+
7
+ # Transaction
8
+ conn.exec("BEGIN")
9
+ lobj = conn.loimport("losample.rb")
10
+ lobjnum = lobj.oid
11
+ puts("loimport ok! oid=" + lobj.oid.to_s)
12
+ lobj.open
13
+ lobj.seek(0,PGlarge::SEEK_SET) # SEEK_SET or SEEK_CUR or SEEK_END
14
+ buff = lobj.read(18)
15
+ puts buff
16
+ if 'require "postgres"' == buff
17
+ puts "read ok!"
18
+ end
19
+ lobj.seek(0,PGlarge::SEEK_END)
20
+ buff = lobj.write("write test ok?\n")
21
+ puts lobj.tell
22
+ puts 'export test .file:lowrite.losample add "write test of?"...'
23
+ lobj.export("lowrite.txt")
24
+ lobj.close
25
+ conn.exec("COMMIT")
26
+ begin
27
+ lobj.read(1)
28
+ puts "boo!"
29
+ return
30
+ rescue
31
+ puts "ok! Large Object is closed"
32
+ end
33
+ conn.exec("BEGIN")
34
+ puts lobjnum.to_s
35
+ lobj = conn.loopen(lobjnum)
36
+ puts "large object reopen ok!"
37
+ lobj.seek(0,PGlarge::SEEK_SET) # SEEK_SET or SEEK_CUR or SEEK_END
38
+ buff = lobj.read(18)
39
+ puts buff
40
+ puts "reread ok!"
41
+ conn.exec("COMMIT")
42
+ lobj.unlink
43
+ puts "large object unlink"
44
+ end
45
+
46
+ main
47
+