jdbc-helper 0.7.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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