pinot-client 1.22.0 → 1.23.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
  SHA256:
3
- metadata.gz: 8fa5d08fb08bee353252e2da56932948941faa5fdbdd4f3410e5ff8887755e04
4
- data.tar.gz: c8bb9cbe06c5d209d8f9f63031776fc604a153730b4be207b7fd6d8a3b69e5f0
3
+ metadata.gz: 0752e62700790e556388c588d9a305049a5935fc4da0afdefeecab830a9dde0c
4
+ data.tar.gz: 4f5b1e86e84817febf245ec13498ec300ac68688c691eda58a2f4aafa79d219c
5
5
  SHA512:
6
- metadata.gz: 6d5c85b83effd2ce352b09c03d350eedd817415a18994ed23ef7be972f80dfb8d72cbbbace9c83bfddedb095b6695af0b8b4538f2f0023ee40844e6b554849a9
7
- data.tar.gz: c450ffb393a8798ae3ea3e608cf2cb976bdf5aeb6f7145121764c41bed33069807fdb3087d02c3963552f79568fb6f2020088794cccf47f97218d10fe7041c99
6
+ metadata.gz: 684b1e6b39e4e1f5f84bed527de2b50f056d101b81ba7621549454d81cc08f49dd044ce2d3dfa5cbb8084075339c0b4c45a89f32c7cf185f1aa73e6c9e40ec95
7
+ data.tar.gz: 4ea1edf2abac766c358f0e99ed073a05e500d19fb77101475c96f6b82fa4d308a0025565bc1d8d55103da7c7af470654343f9b2b5b57366838e257853e493223
@@ -27,13 +27,14 @@ module Pinot
27
27
  @trace = false
28
28
  end
29
29
 
30
- def execute_sql(table, query, query_timeout_ms: nil)
30
+ def execute_sql(table, query, query_timeout_ms: nil, headers: {})
31
31
  Pinot::Instrumentation.instrument(table: table, query: query) do
32
32
  logger.debug "Executing SQL on table=#{table}: #{query}"
33
33
  broker = @broker_selector.select_broker(table)
34
34
  effective_timeout = query_timeout_ms || @query_timeout_ms
35
35
  run_with_circuit_breaker(broker) do
36
- @transport.execute(broker, build_request(query, timeout_ms: effective_timeout))
36
+ @transport.execute(broker, build_request(query, timeout_ms: effective_timeout),
37
+ extra_request_headers: headers)
37
38
  end
38
39
  end
39
40
  end
@@ -42,11 +43,10 @@ module Pinot
42
43
  execute_sql(table, query, query_timeout_ms: timeout_ms)
43
44
  end
44
45
 
45
- def execute_sql_with_params(table, query_pattern, params, query_timeout_ms: nil)
46
+ def execute_sql_with_params(table, query_pattern, params, query_timeout_ms: nil, headers: {})
46
47
  query = format_query(query_pattern, params)
47
- execute_sql(table, query, query_timeout_ms: query_timeout_ms)
48
+ execute_sql(table, query, query_timeout_ms: query_timeout_ms, headers: headers)
48
49
  rescue => e
49
- # Re-raise format errors directly (they already have the right message)
50
50
  raise e
51
51
  end
52
52
 
@@ -60,7 +60,7 @@ module Pinot
60
60
  nil
61
61
  end
62
62
 
63
- def execute
63
+ def execute(headers: {})
64
64
  @mutex.synchronize do
65
65
  raise PreparedStatementClosedError, "prepared statement is closed" if @closed
66
66
  @parameters.each_with_index do |p, i|
@@ -72,10 +72,10 @@ module Pinot
72
72
  rescue => e
73
73
  raise "failed to build query: #{e.message}"
74
74
  end
75
- @connection.execute_sql(@table, query)
75
+ @connection.execute_sql(@table, query, headers: headers)
76
76
  end
77
77
 
78
- def execute_with_params(*params)
78
+ def execute_with_params(*params, headers: {})
79
79
  @mutex.synchronize { raise PreparedStatementClosedError, "prepared statement is closed" if @closed }
80
80
  if params.length != @param_count
81
81
  raise "expected #{@param_count} parameters, got #{params.length}"
@@ -85,7 +85,7 @@ module Pinot
85
85
  rescue => e
86
86
  raise "failed to build query: #{e.message}"
87
87
  end
88
- @connection.execute_sql(@table, query)
88
+ @connection.execute_sql(@table, query, headers: headers)
89
89
  end
90
90
 
91
91
  def clear_parameters
@@ -188,7 +188,7 @@ module Pinot
188
188
  @retry_interval_ms = retry_interval_ms
189
189
  end
190
190
 
191
- def execute(broker_address, request)
191
+ def execute(broker_address, request, extra_request_headers: {})
192
192
  logger.debug "Pinot query to #{broker_address}: #{request.query}"
193
193
 
194
194
  attempts = 0
@@ -202,6 +202,7 @@ module Pinot
202
202
  headers = DEFAULT_HEADERS
203
203
  .merge(@extra_headers)
204
204
  .merge("X-Correlation-Id" => SecureRandom.uuid)
205
+ .merge(extra_request_headers)
205
206
 
206
207
  resp = @http_client.post(url, body: body, headers: headers)
207
208
 
data/lib/pinot/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Pinot
2
- VERSION = "1.22.0"
2
+ VERSION = "1.23.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pinot-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.22.0
4
+ version: 1.23.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Xiang Fu