jdbc-wrapper 0.3 → 0.4
Sign up to get free protection for your applications and to get access to all the features.
- data/README +1 -1
- data/Rakefile +1 -1
- data/examples/h2.rb +2 -1
- data/examples/h2_mem.rb +16 -0
- data/lib/jdbc/adapters/h2.rb +6 -2
- data/lib/jdbc/adapters/hsqldb.rb +6 -2
- data/lib/jdbc/db.rb +9 -3
- metadata +3 -2
data/README
CHANGED
@@ -17,7 +17,7 @@
|
|
17
17
|
require 'rubygems'
|
18
18
|
require 'jdbc'
|
19
19
|
|
20
|
-
JDBC::DB.start(:
|
20
|
+
JDBC::DB.start(:h2_mem,nil,nil,nil,nil,'foo') do |db|
|
21
21
|
db.query("CREATE TABLE records (name VARCHAR(80))")
|
22
22
|
|
23
23
|
db.query("INSERT INTO records (name) VALUES ('foo')")
|
data/Rakefile
CHANGED
@@ -17,7 +17,7 @@ require 'rake/gempackagetask'
|
|
17
17
|
|
18
18
|
gemspec = Gem::Specification.new do |s|
|
19
19
|
s.name = "jdbc-wrapper"
|
20
|
-
s.version = "0.
|
20
|
+
s.version = "0.4"
|
21
21
|
s.author = "Larry Myers"
|
22
22
|
s.email = "larry@larrymyers.com"
|
23
23
|
s.homepage = "http://jdbc-wrapper.rubyforge.org/"
|
data/examples/h2.rb
CHANGED
data/examples/h2_mem.rb
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
$:.unshift File.join(File.dirname(__FILE__),'..','lib')
|
2
|
+
|
3
|
+
require 'jdbc'
|
4
|
+
|
5
|
+
JDBC::DB.start(:h2_mem,nil,nil,nil,nil,'foo') do |db|
|
6
|
+
db.query("CREATE TABLE records " +
|
7
|
+
"(name VARCHAR(80), created_on TIMESTAMP)")
|
8
|
+
|
9
|
+
db.query("INSERT INTO records (name, created_on) " +
|
10
|
+
"VALUES ('foo', '#{Time.now.strftime("%Y-%m-%d %H:%M:%S")}')")
|
11
|
+
|
12
|
+
db.query("SELECT * FROM records").each_hash do |row|
|
13
|
+
row.each { |k,v| puts "#{k} = #{v}" }
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
data/lib/jdbc/adapters/h2.rb
CHANGED
@@ -3,16 +3,20 @@ module JDBC
|
|
3
3
|
class H2
|
4
4
|
attr_reader :host, :port, :user, :password, :schema
|
5
5
|
|
6
|
-
def initialize(host, port, user, password, schema)
|
6
|
+
def initialize(host, port, user, password, schema, in_memory = false)
|
7
7
|
@host = host
|
8
8
|
@port = port
|
9
9
|
@user = user
|
10
10
|
@password = password
|
11
11
|
@schema = schema
|
12
|
+
@in_memory = in_memory
|
12
13
|
end
|
13
14
|
|
14
15
|
def connection_string
|
15
|
-
"jdbc:h2:
|
16
|
+
str = "jdbc:h2:"
|
17
|
+
str << "mem:" if @in_memory
|
18
|
+
str << "#{@schema}"
|
19
|
+
str
|
16
20
|
end
|
17
21
|
|
18
22
|
def class_name
|
data/lib/jdbc/adapters/hsqldb.rb
CHANGED
@@ -3,16 +3,20 @@ module JDBC
|
|
3
3
|
class Hsqldb
|
4
4
|
attr_reader :host, :port, :user, :password, :schema
|
5
5
|
|
6
|
-
def initialize(host, port, user, password, schema)
|
6
|
+
def initialize(host, port, user, password, schema, in_memory = false)
|
7
7
|
@host = host
|
8
8
|
@port = port
|
9
9
|
@user = user
|
10
10
|
@password = password
|
11
11
|
@schema = schema
|
12
|
+
@in_memory = in_memory
|
12
13
|
end
|
13
14
|
|
14
15
|
def connection_string
|
15
|
-
"jdbc:hsqldb
|
16
|
+
str = "jdbc:hsqldb"
|
17
|
+
str << ":mem" if @in_memory
|
18
|
+
str << ":#{@schema}"
|
19
|
+
str
|
16
20
|
end
|
17
21
|
|
18
22
|
def class_name
|
data/lib/jdbc/db.rb
CHANGED
@@ -14,8 +14,8 @@ module JDBC
|
|
14
14
|
class DB
|
15
15
|
# Creates a new database connection, you are responsible for
|
16
16
|
# making sure the connection gets closed. The database engine
|
17
|
-
# param should be a symbol. Supported: :h2, :hsqldb,
|
18
|
-
# :mysql, :postgresql
|
17
|
+
# param should be a symbol. Supported: :h2, :h2_mem, :hsqldb,
|
18
|
+
# :hsqldb_mem, :derby, :mysql, :postgresql
|
19
19
|
def initialize(engine, host, port, user, password, schema)
|
20
20
|
adapter = get_adapter(engine, host, port, user, password, schema)
|
21
21
|
|
@@ -24,6 +24,8 @@ module JDBC
|
|
24
24
|
|
25
25
|
@conn = JavaSql::DriverManager.getConnection(
|
26
26
|
adapter.connection_string)
|
27
|
+
rescue java.lang.ClassNotFoundException => e
|
28
|
+
raise RuntimeError.new(e.message)
|
27
29
|
rescue JavaSql::SQLException => e
|
28
30
|
raise RuntimeError.new(e.message)
|
29
31
|
end
|
@@ -98,15 +100,19 @@ module JDBC
|
|
98
100
|
return Adapters::Derby.new(host, port, user, password, schema)
|
99
101
|
when :h2
|
100
102
|
return Adapters::H2.new(host, port, user, password, schema)
|
103
|
+
when :h2_mem
|
104
|
+
return Adapters::H2.new(host, port, user, password, schema, true)
|
101
105
|
when :hsqldb
|
102
106
|
return Adapters::Hsqldb.new(host, port, user, password, schema)
|
107
|
+
when :hsqldb_mem
|
108
|
+
return Adapters::Hsqldb.new(host, port, user, password, schema, true)
|
103
109
|
when :mysql
|
104
110
|
return Adapters::Mysql.new(host, port, user, password, schema)
|
105
111
|
when :postgresql
|
106
112
|
return Adapters::Postgresql.new(host, port, user, password, schema)
|
107
113
|
end
|
108
114
|
|
109
|
-
raise
|
115
|
+
raise RuntimeError.new("#{engine} is not supported.")
|
110
116
|
end
|
111
117
|
end
|
112
118
|
end
|
metadata
CHANGED
@@ -3,12 +3,13 @@ extensions: []
|
|
3
3
|
homepage: http://jdbc-wrapper.rubyforge.org/
|
4
4
|
executables: []
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: !str 0.
|
6
|
+
version: !str 0.4
|
7
7
|
post_install_message:
|
8
|
-
date: 2008-
|
8
|
+
date: 2008-04-04 04:00:00 +00:00
|
9
9
|
files:
|
10
10
|
- examples/derby.rb
|
11
11
|
- examples/h2.rb
|
12
|
+
- examples/h2_mem.rb
|
12
13
|
- examples/mysql.rb
|
13
14
|
- lib/jdbc
|
14
15
|
- lib/jdbc.rb
|