jdbc-helper 0.7.0 → 0.7.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -425,7 +425,9 @@ class Connection
425
425
  end
426
426
 
427
427
  def inspect
428
- InsensitiveHash[@args].merge({ :closed? => closed? }).delete(:password).inspect
428
+ InsensitiveHash[@args].merge({ :closed? => closed? }).tap { |c|
429
+ c.delete(:password)
430
+ }.inspect
429
431
  end
430
432
 
431
433
  # Statistics
@@ -433,10 +435,10 @@ class Connection
433
435
  attr_accessor :type, :elapsed, :success_count, :fail_count
434
436
 
435
437
  def initialize(t, e, s, f)
436
- self.type = t
437
- self.elapsed = e
438
+ self.type = t
439
+ self.elapsed = e
438
440
  self.success_count = s
439
- self.fail_count = f
441
+ self.fail_count = f
440
442
  end
441
443
  end
442
444
 
@@ -494,21 +496,21 @@ private
494
496
  end
495
497
 
496
498
  def update_stat(type, elapsed, success_count, fail_count) # :nodoc:
497
- @prev_stat.type = type
498
- @prev_stat.elapsed = elapsed
499
+ @prev_stat.type = type
500
+ @prev_stat.elapsed = elapsed
499
501
  @prev_stat.success_count = success_count
500
- @prev_stat.fail_count = fail_count
502
+ @prev_stat.fail_count = fail_count
501
503
 
502
- accum = @stats[type]
503
- accum.elapsed += elapsed
504
+ accum = @stats[type]
505
+ accum.elapsed += elapsed
504
506
  accum.success_count += success_count
505
- accum.fail_count += fail_count
507
+ accum.fail_count += fail_count
506
508
  end
507
509
 
508
510
  def measure_exec(type)
509
511
  begin
510
- st = Time.now
511
- ret = yield
512
+ st = Time.now
513
+ ret = yield
512
514
  elapsed = Time.now - st
513
515
  update_stat(type, elapsed, 1, 0)
514
516
  rescue Exception
@@ -19,8 +19,8 @@ class CallableStatement < ParameterizedStatement
19
19
 
20
20
  result = {}
21
21
  out_params.each do |idx, jtype|
22
- getter = JDBCHelper::Connection::GETTER_MAP.fetch(jtype, :get_string)
23
- value = @java_obj.send(getter, idx.is_a?(Symbol) ? idx.to_s : idx)
22
+ getter = JDBCHelper::Connection::GETTER_MAP.fetch(jtype, :get_string)
23
+ value = @java_obj.send(getter, idx.is_a?(Symbol) ? idx.to_s : idx)
24
24
  result[idx] = @java_obj.was_null ? nil : value
25
25
  end
26
26
  result
@@ -16,8 +16,8 @@ class ParameterizedStatement
16
16
  # @param [JDBCHelper::Connection] conn
17
17
  # @param [String] cstmt_str
18
18
  def initialize(conn, sql, obj)
19
- @conn = conn
20
- @sql = sql
19
+ @conn = conn
20
+ @sql = sql
21
21
  @java_obj = obj
22
22
  end
23
23
 
@@ -72,12 +72,12 @@ private
72
72
  end
73
73
 
74
74
  @close_callback = close_callback
75
- @rset = rset
76
- @rsmd = @rset.get_meta_data
77
- @num_col = @rsmd.get_column_count
78
- @getters = []
79
- @col_labels = []
80
- @col_labels_d = []
75
+ @rset = rset
76
+ @rsmd = @rset.get_meta_data
77
+ @num_col = @rsmd.get_column_count
78
+ @getters = []
79
+ @col_labels = []
80
+ @col_labels_d = []
81
81
  (1..@num_col).each do | i |
82
82
  type = @rsmd.get_column_type(i)
83
83
 
@@ -101,10 +101,10 @@ class Row
101
101
 
102
102
  private
103
103
  def initialize(col_labels, col_labels_d, values, rownum) # :nodoc:
104
- @labels = col_labels
104
+ @labels = col_labels
105
105
  @labels_d = col_labels_d
106
- @values = values
107
- @rownum = rownum
106
+ @values = values
107
+ @rownum = rownum
108
108
 
109
109
  # @labels_d.each do | l |
110
110
  # (class << self; self; end).instance_eval do
@@ -8,9 +8,9 @@ class Connection
8
8
  # @private
9
9
  class StatementPool
10
10
  def initialize(conn, max_size = JDBCHelper::Constants::MAX_STATEMENT_NESTING_LEVEL)
11
- @conn = conn
11
+ @conn = conn
12
12
  @max_size = max_size # TODO
13
- @free = []
13
+ @free = []
14
14
  @occupied = []
15
15
  end
16
16
 
@@ -49,8 +49,8 @@ class StatementPool
49
49
  (@free + @occupied).each do | stmt |
50
50
  stmt.close
51
51
  end
52
- @conn = nil
53
- @free = []
52
+ @conn = nil
53
+ @free = []
54
54
  @occupied = []
55
55
  end
56
56
 
@@ -13,36 +13,36 @@ class Connection
13
13
 
14
14
  GETTER_MAP =
15
15
  {
16
- java.sql.Types::TINYINT => :getInt,
17
- java.sql.Types::SMALLINT => :getInt,
18
- java.sql.Types::INTEGER => :getInt,
19
- java.sql.Types::BIGINT => :getLong,
20
-
21
- java.sql.Types::CHAR => :getString,
22
- java.sql.Types::VARCHAR => :getString,
23
- java.sql.Types::LONGVARCHAR => :getString,
16
+ java.sql.Types::TINYINT => :getInt,
17
+ java.sql.Types::SMALLINT => :getInt,
18
+ java.sql.Types::INTEGER => :getInt,
19
+ java.sql.Types::BIGINT => :getLong,
20
+
21
+ java.sql.Types::CHAR => :getString,
22
+ java.sql.Types::VARCHAR => :getString,
23
+ java.sql.Types::LONGVARCHAR => :getString,
24
24
  (java.sql.Types::NCHAR rescue nil) => :getString,
25
25
  (java.sql.Types::NVARCHAR rescue nil) => :getString,
26
26
  (java.sql.Types::LONGNVARCHAR rescue nil) => :getString,
27
27
 
28
28
  # !! MySQL function returns VARBINARY type
29
- java.sql.Types::BINARY => :getBinaryStream,
30
- java.sql.Types::VARBINARY => :getBinaryStream,
31
- java.sql.Types::LONGVARBINARY => :getBinaryStream,
29
+ java.sql.Types::BINARY => :getBinaryStream,
30
+ java.sql.Types::VARBINARY => :getBinaryStream,
31
+ java.sql.Types::LONGVARBINARY => :getBinaryStream,
32
32
 
33
- java.sql.Types::REAL => :getDouble,
34
- java.sql.Types::FLOAT => :getFloat,
35
- java.sql.Types::DOUBLE => :getDouble,
33
+ java.sql.Types::REAL => :getDouble,
34
+ java.sql.Types::FLOAT => :getFloat,
35
+ java.sql.Types::DOUBLE => :getDouble,
36
36
 
37
- java.sql.Types::DATE => :getDate,
38
- java.sql.Types::TIME => :getTime,
39
- java.sql.Types::TIMESTAMP => :getTimestamp,
37
+ java.sql.Types::DATE => :getDate,
38
+ java.sql.Types::TIME => :getTime,
39
+ java.sql.Types::TIMESTAMP => :getTimestamp,
40
40
 
41
- java.sql.Types::BLOB => :getBlob,
42
- java.sql.Types::CLOB => :getString,
41
+ java.sql.Types::BLOB => :getBlob,
42
+ java.sql.Types::CLOB => :getString,
43
43
  (java.sql.Types::NCLOB rescue nil) => :getString,
44
44
 
45
- java.sql.Types::BOOLEAN => :getBoolean
45
+ java.sql.Types::BOOLEAN => :getBoolean
46
46
  } # :nodoc:
47
47
  end#Connection
48
48
  end#JDBCHelper
@@ -12,19 +12,20 @@ module Constants
12
12
  # Constants only for Connectors
13
13
  module Connector
14
14
  JDBC_DRIVER = {
15
- :oracle => 'oracle.jdbc.driver.OracleDriver',
16
- :mysql => 'com.mysql.jdbc.Driver',
17
- :postgres => 'org.postgresql.Driver',
15
+ :oracle => 'oracle.jdbc.driver.OracleDriver',
16
+ :mysql => 'com.mysql.jdbc.Driver',
17
+ :postgres => 'org.postgresql.Driver',
18
18
  :sqlserver => 'com.microsoft.sqlserver.jdbc.SQLServerDriver'
19
19
  }
20
20
 
21
21
  DEFAULT_PARAMETERS = {
22
22
  :mysql => {
23
23
  'zeroDateTimeBehavior' => 'convertToNull',
24
- # Removed from 0.6.3: This can have a performance hit when batch size is large
24
+ # Removed from 0.6.3:
25
+ # This can have a performance hit when batch size is large
25
26
  # 'rewriteBatchedStatements' => 'true',
26
- 'useServerPrepStmts' => 'true',
27
- 'useCursorFetch' => 'true'
27
+ 'useServerPrepStmts' => 'true',
28
+ 'useCursorFetch' => 'true'
28
29
  },
29
30
  :postgres => {
30
31
  'stringtype' => 'unspecified'
@@ -77,9 +77,8 @@ class SQLPrepared < JDBCHelper::SQL
77
77
 
78
78
  private
79
79
  def self.where_internal conds
80
- conds = [conds] unless conds.is_a? Array
81
-
82
- binds = []
80
+ conds = [conds] unless conds.is_a? Array
81
+ binds = []
83
82
  clauses = []
84
83
  conds.compact.each do |cond|
85
84
  c, b = where_unit cond
@@ -157,7 +156,7 @@ class SQLPrepared < JDBCHelper::SQL
157
156
  end
158
157
 
159
158
  def self.insert_internal cmd, table, data_hash
160
- binds = []
159
+ binds = []
161
160
  values = data_hash.values.map { |v|
162
161
  case v
163
162
  when JDBCHelper::SQL::ScalarExpression
@@ -19,12 +19,12 @@ class SequenceWrapper < ObjectWrapper
19
19
  super conn, name
20
20
 
21
21
  case conn.driver
22
- when /oracle/
23
- @nextval_sql = "select #{name}.nextval from dual"
24
- @currval_sql = "select #{name}.currval from dual"
25
- else
22
+ when /postgres/
26
23
  @nextval_sql = "select nextval('#{name}')"
27
24
  @currval_sql = "select currval('#{name}')"
25
+ else
26
+ @nextval_sql = "select #{name}.nextval from dual"
27
+ @currval_sql = "select #{name}.currval from dual"
28
28
  end
29
29
  end
30
30
 
@@ -98,9 +98,9 @@ class TableWrapper < ObjectWrapper
98
98
  # :where element of the given hash can (usually should) point to another Hash representing update filters.
99
99
  # @return [Fixnum] Number of affected records
100
100
  def update data_hash_with_where = {}
101
- where_ext = data_hash_with_where.delete(:where)
102
- where_ext = [where_ext] unless where_ext.is_a? Array
103
- sql, binds = JDBCHelper::SQLPrepared.update(name,
101
+ where_ext = data_hash_with_where.delete(:where)
102
+ where_ext = [where_ext] unless where_ext.is_a? Array
103
+ sql, binds = JDBCHelper::SQLPrepared.update(name,
104
104
  @query_default.merge(data_hash_with_where),
105
105
  @query_where + where_ext.compact)
106
106
  pstmt = prepare :update, sql
@@ -1,28 +1,28 @@
1
1
  ---
2
2
  mysql:
3
- driver: com.mysql.jdbc.Driver
4
- url: jdbc:mysql://localhost/test
5
- database: test
6
- user: root
7
- password:
8
- timeout: 5
9
- useServerPrepStmts: true
3
+ driver: com.mysql.jdbc.Driver
4
+ url: jdbc:mysql://localhost/test
5
+ database: test
6
+ user: root
7
+ password:
8
+ timeout: 5
9
+ useServerPrepStmts: true
10
10
 
11
11
  postgres:
12
- driver: org.postgresql.Driver
13
- url: jdbc:postgresql://localhost/test?stringtype=unspecified
14
- database: test
15
- timeout: 5
12
+ driver: org.postgresql.Driver
13
+ url: jdbc:postgresql://localhost/test?stringtype=unspecified
14
+ database: test
15
+ timeout: 5
16
16
 
17
17
  oracle:
18
- driver: oracle.jdbc.driver.OracleDriver
19
- url: jdbc:oracle:thin:@localhost/svc
20
- database: test
21
- user: testuser
22
- password: testpassword
18
+ driver: oracle.jdbc.driver.OracleDriver
19
+ url: jdbc:oracle:thin:@localhost/svc
20
+ database: test
21
+ user: testuser
22
+ password: testpassword
23
23
 
24
24
  sqlserver:
25
- driver: com.microsoft.sqlserver.jdbc.SQLServerDriver
26
- url: jdbc:sqlserver://localhost;databaseName=test;
27
- user: test
28
- password: test
25
+ driver: com.microsoft.sqlserver.jdbc.SQLServerDriver
26
+ url: jdbc:sqlserver://localhost;databaseName=test;
27
+ user: test
28
+ password: test
@@ -1,31 +1,31 @@
1
1
  ---
2
2
  mysql:
3
- driver: com.mysql.jdbc.Driver
4
- url: jdbc:mysql://localhost/test
5
- database: test
6
- user: root
3
+ driver: com.mysql.jdbc.Driver
4
+ url: jdbc:mysql://localhost/test
5
+ database: test
6
+ user: root
7
7
  password:
8
- timeout: 5
9
- useServerPrepStmts: true
8
+ timeout: 5
9
+ useServerPrepStmts: true
10
10
 
11
11
  oracle:
12
- driver: oracle.jdbc.driver.OracleDriver
13
- url: jdbc:oracle:thin:@10.20.253.105/didev
14
- database: wisefn
15
- user: wisefn
16
- password: wisefndb
17
- timeout: 5
12
+ driver: oracle.jdbc.driver.OracleDriver
13
+ url: jdbc:oracle:thin:@10.20.253.105/didev
14
+ database: wisefn
15
+ user: wisefn
16
+ password: wisefndb
17
+ timeout: 5
18
18
 
19
19
  postgres:
20
- driver: org.postgresql.Driver
21
- url: jdbc:postgresql://localhost/test
22
- database: test
23
- timeout: 5
24
- stringtype: unspecified
20
+ driver: org.postgresql.Driver
21
+ url: jdbc:postgresql://localhost/test
22
+ database: test
23
+ timeout: 5
24
+ stringtype: unspecified
25
25
 
26
26
  sqlserver:
27
- driver: com.microsoft.sqlserver.jdbc.SQLServerDriver
28
- url: jdbc:sqlserver://192.168.60.69;databaseName=gunn_db;
29
- user: gunn
30
- password: gunn
27
+ driver: com.microsoft.sqlserver.jdbc.SQLServerDriver
28
+ url: jdbc:sqlserver://192.168.62.26;databaseName=gunn_db;
29
+ user: gunn
30
+ password: gunn
31
31
 
@@ -72,6 +72,22 @@ class TestConnection < Test::Unit::TestCase
72
72
  }
73
73
  end
74
74
 
75
+ def test_inspect
76
+ config.each do | db, conn_info_org |
77
+ conn_info = conn_info_org.reject { |k,v| k == 'database' }
78
+ conn = JDBCHelper::Connection.new(conn_info)
79
+ insp = InsensitiveHash[ eval( conn.inspect.gsub('=>', ' => ') ) ]
80
+
81
+ conn_info.each do |k, v|
82
+ if k == 'password'
83
+ assert_nil insp[k]
84
+ else
85
+ assert_equal v, insp[k]
86
+ end
87
+ end
88
+ end
89
+ end
90
+
75
91
  def test_connect_clone_and_close
76
92
  config.each do | db, conn_info_org |
77
93
  4.times do | i |
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: jdbc-helper
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.7.0
5
+ version: 0.7.1
6
6
  platform: ruby
7
7
  authors:
8
8
  - Junegunn Choi
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2012-02-01 00:00:00 Z
13
+ date: 2012-02-28 00:00:00 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: insensitive_hash
@@ -19,7 +19,7 @@ dependencies:
19
19
  requirements:
20
20
  - - ~>
21
21
  - !ruby/object:Gem::Version
22
- version: "0.2"
22
+ version: 0.2.3
23
23
  requirement: *id001
24
24
  prerelease: false
25
25
  type: :runtime