jfb 0.4.11 → 0.5.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 99d59bd74398a9bbd32fc3bc18410ff58c26b790
4
- data.tar.gz: 0c70c6336827ded3757de11872c58a304f5723d1
3
+ metadata.gz: 3ea104d6054c38a94c66eb26206a27e33fcb74d7
4
+ data.tar.gz: 9b63e3e408d39bbabae9aafa40f03fbcf32fb54b
5
5
  SHA512:
6
- metadata.gz: aab394297b10bd1df8e2b00ef00e2cb6a79c40e06172f94cb9cfdf4e828c387ada87ff62bf40686f04993044b8ac5e4d421eec4d40bbb4111ae9902e2c27105b
7
- data.tar.gz: ade97f1a625b68ad524f7c240b44e7bab660787aa86058cf686cf1885c8940309f986d309bef7401898d5eff642f097bcec6ae9f07213d0603fcafb2e2f8ee3a
6
+ metadata.gz: 8cc68910f37c4b4d536cc9d1169ce472fc517cf3c25507b5eb315ab98b326054a410a61fd8f46328bcdc1fc5b69bab25ad3527a4c78ce566e260d745a10404fb
7
+ data.tar.gz: 152f5fdbb67eb4e8fa856d9d56dfcc629893ce6e71d996c8679ca3e9c0b2152b46bab6b5d56c7e3ccfd6a66091b12daa0851dc295e8453a78e8106ef211470c9
data/lib/jfb/jfb.rb CHANGED
@@ -1,4 +1,3 @@
1
- require_relative 'rs'
2
1
  require_relative 'jaybird-2.2.12.jar'
3
2
  java_import 'java.sql.ResultSet'
4
3
  java_import 'java.sql.SQLRecoverableException'
@@ -8,19 +7,27 @@ class JFB
8
7
 
9
8
  def initialize(db_url, usr, pwd)
10
9
  Java::JavaClass.for_name("org.firebirdsql.jdbc.FBDriver")
11
- fbd = org.firebirdsql.jdbc.FBDriver.new
10
+ @fbd = org.firebirdsql.jdbc.FBDriver.new
11
+ @url = db_url
12
+ @usr = usr
13
+ @pwd = pwd
12
14
  @closed = true
13
15
  @con = nil
16
+ end
17
+
18
+ def connect()
19
+ if @closed then
20
+ @con = nil
14
21
 
15
- if fbd.acceptsURL("jdbc:firebirdsql:#{db_url}") then
22
+ if @fbd.acceptsURL("jdbc:firebirdsql:#{@url}") then
16
23
  Java::JavaClass.for_name("java.util.Properties")
17
24
 
18
25
  props = java.util.Properties.new
19
- props.set_property :user, usr
20
- props.set_property :password, pwd
26
+ props.set_property :user, @usr
27
+ props.set_property :password, @pwd
21
28
 
22
29
  begin
23
- @con = fbd.connect("jdbc:firebirdsql:#{db_url}", props)
30
+ @con = @fbd.connect("jdbc:firebirdsql:#{@url}", props)
24
31
  @con.set_auto_commit false
25
32
  @con.set_holdability ResultSet.HOLD_CURSORS_OVER_COMMIT
26
33
  @closed = false
@@ -33,16 +40,19 @@ class JFB
33
40
  else
34
41
  @con = nil
35
42
  @closed = true
36
- puts "Database URI #{db_url} isn't acceptable.
43
+ puts "Database URI #{@url} isn't acceptable.
37
44
  You don't have to supply the 'jdbc:firebirsql:' part,
38
45
  we already do that. Please check your URI."
39
46
  end
47
+
48
+ @closed = false
49
+ end
40
50
  end
41
51
 
42
52
  def query(cmd)
43
53
  if not @closed then
44
54
  begin
45
- return RS.new(@con.createStatement().executeQuery(cmd))
55
+ return convert_rs_to_array(@con.createStatement().executeQuery(cmd))
46
56
  rescue Exception => erro
47
57
  puts "Error message while querying:\n#{erro}\nQuery: #{cmd}"
48
58
  end
@@ -87,4 +97,21 @@ class JFB
87
97
  @closed = true
88
98
  end
89
99
  end
100
+
101
+ def convert_rs_to_array(rs)
102
+ res = []
103
+ k = 0
104
+
105
+ while rs.next do
106
+ cols = rs.metada_data().get_column.count()
107
+
108
+ (0..cols - 1).each do |i|
109
+ res[k][i] = rs.get_string(i)
110
+ end
111
+
112
+ k = k + 1
113
+ end
114
+
115
+ res
116
+ end
90
117
  end
data/lib/jfb/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module Jfb
2
- VERSION = "0.4.11"
2
+ VERSION = "0.5.0"
3
3
 
4
4
  #What the numbers mean: rr.ff.hh
5
5
  # rr: Major releases and changes in the project;
@@ -56,4 +56,7 @@ module Jfb
56
56
 
57
57
  #Version 0.4.11
58
58
  # Rollback Jaybird version to 2.2.12
59
+
60
+ #Version 0.5.0
61
+ # Implements standard rs to matrix conversion
59
62
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jfb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.11
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - rCamposCruz
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-02-05 00:00:00.000000000 Z
11
+ date: 2018-10-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
@@ -74,7 +74,6 @@ files:
74
74
  - lib/jfb.rb
75
75
  - lib/jfb/jaybird-2.2.12.jar
76
76
  - lib/jfb/jfb.rb
77
- - lib/jfb/rs.rb
78
77
  - lib/jfb/version.rb
79
78
  homepage: https://github.com/rCamposCruz/jfb
80
79
  licenses:
data/lib/jfb/rs.rb DELETED
@@ -1,73 +0,0 @@
1
- require 'java'
2
-
3
- class RS
4
- def initialize(result_set)
5
- @my_rs = result_set
6
- end
7
-
8
- def absolute(row)
9
- @my_rs.absolute(row)
10
- end
11
-
12
- def next
13
- return @my_rs.next()
14
- end
15
-
16
- def previous
17
- return @my_rs.previous()
18
- end
19
-
20
- def close
21
- if not is_closed?
22
- @my_rs.close()
23
- end
24
- end
25
-
26
- def is_closed?
27
- return @my_rs.isClosed()
28
- end
29
-
30
- def is_last?
31
- return @my_rs.isLast()
32
- end
33
-
34
- def is_first?
35
- return @my_rs.isFirst()
36
- end
37
-
38
- def before_first
39
- return @my_rs.beforeFirst()
40
- end
41
-
42
- def after_last
43
- return @my_rs.afterLast()
44
- end
45
-
46
- def first
47
- return @my_rs.first()
48
- end
49
-
50
- def last
51
- return @my_rs.last()
52
- end
53
-
54
- def get_row
55
- return @my_rs.getRow()
56
- end
57
-
58
- def get_int(identifier)
59
- return @my_rs.getInt(identifier)
60
- end
61
-
62
- def get_double(identifier)
63
- return @my_rs.getDouble(identifier)
64
- end
65
-
66
- def get_string(identifier)
67
- return @my_rs.getString(identifier)
68
- end
69
-
70
- def get_date(identifier)
71
- return @my_rs.getDate(identifier)
72
- end
73
- end