rb_snowflake_client 1.1.5 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d3fe7c88a471538362f7f852e9e0f0e1cc65413cecc9f308b21781325d4f8e99
4
- data.tar.gz: 251bdb1fdb3b86919e2aac8714899fd69711813196d1109a6eb8d22e49f150ac
3
+ metadata.gz: ef7c1798270965128711042d7d218668b318356bf6a3fac8efc2144538c5a246
4
+ data.tar.gz: a04c605cfff4659c18deb58ccdca3d49db8a6d85d98825a496ab6d8641030193
5
5
  SHA512:
6
- metadata.gz: dd65b3d146f72a8109f4f7654658e911accc108451dbc15f42dd083e01e7db3499231029fd9e911fcfa76f2bc938f0329fed07ee9fad10523d56f1fb894137e0
7
- data.tar.gz: 4368e68ca241e0563e6c2d2e408315dc0ef7648b66340d7ac137d4504f90f358ddb3d6145adbe1cdda0ed03c75ebd64a5d1d51e589be79c991654fa0608b38da
6
+ metadata.gz: 3633bc26af9b0912735ad82840795ab81c6178c381b11ae7ade7b6fd2272576a7a9d4f65a7cd22a5786ede9f2d153bc7ccb3a5816fe0263e48cb6f5df448297b
7
+ data.tar.gz: 449e2d7140b58c6d629fd17bf4641b3d698a03d10a1fb6df3444fd3bd5bf6fd6da1f146c59d96dcedd3932ddc1f5b4b086524f427385510435e36dc8de052824
data/Gemfile.lock CHANGED
@@ -1,31 +1,31 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rb_snowflake_client (1.1.5)
4
+ rb_snowflake_client (1.3.0)
5
+ bigdecimal (>= 3.0)
5
6
  concurrent-ruby (>= 1.2)
6
7
  connection_pool (>= 2.4)
7
8
  dotenv (>= 2.8)
9
+ json (>= 2.1.0)
8
10
  jwt (>= 2.7)
9
- oj (>= 3.16)
10
11
  retryable (>= 3.0)
11
12
 
12
13
  GEM
13
14
  remote: https://rubygems.org/
14
15
  specs:
15
16
  base64 (0.2.0)
16
- bigdecimal (3.1.8)
17
+ bigdecimal (3.1.9)
17
18
  coderay (1.1.3)
18
- concurrent-ruby (1.3.3)
19
+ concurrent-ruby (1.3.4)
19
20
  connection_pool (2.4.1)
20
21
  diff-lcs (1.5.1)
21
- dotenv (3.1.2)
22
- jwt (2.8.2)
22
+ dotenv (3.1.7)
23
+ json (2.9.1)
24
+ jwt (2.10.1)
23
25
  base64
24
26
  method_source (1.1.0)
25
- oj (3.16.4)
26
- bigdecimal (>= 3.0)
27
- parallel (1.25.1)
28
- pry (0.14.2)
27
+ parallel (1.26.3)
28
+ pry (0.15.2)
29
29
  coderay (~> 1.1)
30
30
  method_source (~> 1.0)
31
31
  rake (13.2.1)
@@ -34,15 +34,15 @@ GEM
34
34
  rspec-core (~> 3.13.0)
35
35
  rspec-expectations (~> 3.13.0)
36
36
  rspec-mocks (~> 3.13.0)
37
- rspec-core (3.13.0)
37
+ rspec-core (3.13.2)
38
38
  rspec-support (~> 3.13.0)
39
- rspec-expectations (3.13.1)
39
+ rspec-expectations (3.13.3)
40
40
  diff-lcs (>= 1.2.0, < 2.0)
41
41
  rspec-support (~> 3.13.0)
42
- rspec-mocks (3.13.1)
42
+ rspec-mocks (3.13.2)
43
43
  diff-lcs (>= 1.2.0, < 2.0)
44
44
  rspec-support (~> 3.13.0)
45
- rspec-support (3.13.1)
45
+ rspec-support (3.13.2)
46
46
 
47
47
  PLATFORMS
48
48
  arm64-darwin-22
data/README.md CHANGED
@@ -197,7 +197,8 @@ ALTER USER EXAMPLE_USER SET RSA_PUBLIC_KEY = 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMI
197
197
  ```
198
198
  5. Verify your auth setup. If you have `snowsql` installed, that has an easy method (CTRL-d to exit)
199
199
  ```bash
200
- snowsql -a <account_identifier>.<region>p -u <user> --private-key-path private_key.pem
200
+ # example: snowsql -a AAAAAAA.BBBBBBBB.us-east-1 -u john --private-key-path private_key.pem
201
+ snowsql -a <account_identifier>.<region> -u <user> --private-key-path private_key.pem
201
202
  ```
202
203
  or alternatively, use the client to verify:
203
204
  ```ruby
@@ -30,8 +30,8 @@ module RubySnowflake
30
30
  private_key = OpenSSL::PKey.read(@private_key_pem)
31
31
 
32
32
  payload = {
33
- :iss => "#{@organization.upcase}-#{@account.upcase}.#{@user}.#{public_key_fingerprint}",
34
- :sub => "#{@organization.upcase}-#{@account.upcase}.#{@user}",
33
+ :iss => "#{@organization.upcase}-#{@account.upcase}.#{@user.upcase}.#{public_key_fingerprint}",
34
+ :sub => "#{@organization.upcase}-#{@account.upcase}.#{@user.upcase}",
35
35
  :iat => now,
36
36
  :exp => @token_expires_at
37
37
  }
@@ -2,12 +2,12 @@
2
2
 
3
3
  require "base64"
4
4
  require "benchmark"
5
+ require "bigdecimal"
5
6
  require "concurrent"
6
7
  require "connection_pool"
7
8
  require "json"
8
9
  require "logger"
9
10
  require "net/http"
10
- require "oj"
11
11
  require "retryable"
12
12
  require "securerandom"
13
13
  require "uri"
@@ -68,7 +68,7 @@ module RubySnowflake
68
68
  # how long to wait to allow a query to complete, in seconds
69
69
  DEFAULT_QUERY_TIMEOUT = 600 # 10 minutes
70
70
 
71
- OJ_OPTIONS = { :bigdecimal_load => :bigdecimal }.freeze
71
+ JSON_PARSE_OPTIONS = { decimal_class: BigDecimal }.freeze
72
72
  VALID_RESPONSE_CODES = %w(200 202).freeze
73
73
  POLLING_RESPONSE_CODE = "202"
74
74
  POLLING_INTERVAL = 2 # seconds
@@ -166,7 +166,7 @@ module RubySnowflake
166
166
  connection,
167
167
  Net::HTTP::Post,
168
168
  "/api/v2/statements?requestId=#{SecureRandom.uuid}&async=#{@_enable_polling_queries}",
169
- Oj.dump(request_body)
169
+ request_body.to_json
170
170
  )
171
171
  end
172
172
  retrieve_result_set(query_start_time, query, response, streaming)
@@ -290,12 +290,12 @@ module RubySnowflake
290
290
  end
291
291
 
292
292
  def retrieve_result_set(query_start_time, query, response, streaming)
293
- json_body = Oj.load(response.body, OJ_OPTIONS)
293
+ json_body = JSON.parse(response.body, JSON_PARSE_OPTIONS)
294
294
  statement_handle = json_body["statementHandle"]
295
295
 
296
296
  if response.code == POLLING_RESPONSE_CODE
297
297
  result_response = poll_for_completion_or_timeout(query_start_time, query, statement_handle)
298
- json_body = Oj.load(result_response.body, OJ_OPTIONS)
298
+ json_body = JSON.parse(result_response.body, JSON_PARSE_OPTIONS)
299
299
  end
300
300
 
301
301
  num_threads = number_of_threads_to_use(json_body["resultSetMetaData"]["partitionInfo"].size)
@@ -321,7 +321,7 @@ module RubySnowflake
321
321
  end
322
322
 
323
323
  partition_json = {}
324
- bm = Benchmark.measure { partition_json = Oj.load(partition_response.body, OJ_OPTIONS) }
324
+ bm = Benchmark.measure { partition_json = JSON.parse(partition_response.body, JSON_PARSE_OPTIONS) }
325
325
  logger.debug { "JSON parsing took: #{bm.real}" }
326
326
  partition_data = partition_json["data"]
327
327
 
@@ -1,3 +1,3 @@
1
1
  module RubySnowflake
2
- VERSION = "1.1.5"
2
+ VERSION = "1.3.0"
3
3
  end
@@ -19,10 +19,11 @@ Gem::Specification.new do |s|
19
19
  end
20
20
 
21
21
  s.require_paths = ["lib"]
22
+ s.add_dependency "bigdecimal", ">= 3.0"
22
23
  s.add_dependency "concurrent-ruby", ">= 1.2"
23
24
  s.add_dependency "connection_pool", ">= 2.4"
24
25
  s.add_dependency "dotenv", ">= 2.8"
26
+ s.add_dependency "json", ">= 2.1.0"
25
27
  s.add_dependency "jwt", ">= 2.7"
26
- s.add_dependency "oj", ">= 3.16"
27
28
  s.add_dependency "retryable", ">= 3.0"
28
29
  end
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rb_snowflake_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.5
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rinsed
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-12-19 00:00:00.000000000 Z
11
+ date: 2025-01-03 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bigdecimal
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '3.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '3.0'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: concurrent-ruby
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -53,33 +67,33 @@ dependencies:
53
67
  - !ruby/object:Gem::Version
54
68
  version: '2.8'
55
69
  - !ruby/object:Gem::Dependency
56
- name: jwt
70
+ name: json
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
73
  - - ">="
60
74
  - !ruby/object:Gem::Version
61
- version: '2.7'
75
+ version: 2.1.0
62
76
  type: :runtime
63
77
  prerelease: false
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
80
  - - ">="
67
81
  - !ruby/object:Gem::Version
68
- version: '2.7'
82
+ version: 2.1.0
69
83
  - !ruby/object:Gem::Dependency
70
- name: oj
84
+ name: jwt
71
85
  requirement: !ruby/object:Gem::Requirement
72
86
  requirements:
73
87
  - - ">="
74
88
  - !ruby/object:Gem::Version
75
- version: '3.16'
89
+ version: '2.7'
76
90
  type: :runtime
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
94
  - - ">="
81
95
  - !ruby/object:Gem::Version
82
- version: '3.16'
96
+ version: '2.7'
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: retryable
85
99
  requirement: !ruby/object:Gem::Requirement