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 +4 -4
- data/lib/pinot/connection.rb +5 -5
- data/lib/pinot/prepared_statement.rb +4 -4
- data/lib/pinot/transport.rb +2 -1
- data/lib/pinot/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0752e62700790e556388c588d9a305049a5935fc4da0afdefeecab830a9dde0c
|
|
4
|
+
data.tar.gz: 4f5b1e86e84817febf245ec13498ec300ac68688c691eda58a2f4aafa79d219c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 684b1e6b39e4e1f5f84bed527de2b50f056d101b81ba7621549454d81cc08f49dd044ce2d3dfa5cbb8084075339c0b4c45a89f32c7cf185f1aa73e6c9e40ec95
|
|
7
|
+
data.tar.gz: 4ea1edf2abac766c358f0e99ed073a05e500d19fb77101475c96f6b82fa4d308a0025565bc1d8d55103da7c7af470654343f9b2b5b57366838e257853e493223
|
data/lib/pinot/connection.rb
CHANGED
|
@@ -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
|
data/lib/pinot/transport.rb
CHANGED
|
@@ -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