@@ -224,11 +224,16 @@ func (ds *SQLDatasource) handleQuery(ctx context.Context, req backend.DataQuery,
224
224
ctx = tctx
225
225
}
226
226
227
+ var args []interface {}
228
+ if argSetter , ok := ds .c .(QueryArgSetter ); ok {
229
+ args = argSetter .SetQueryArgs (ctx , headers )
230
+ }
231
+
227
232
// FIXES:
228
233
// * Some datasources (snowflake) expire connections or have an authentication token that expires if not used in 1 or 4 hours.
229
234
// Because the datasource driver does not include an option for permanent connections, we retry the connection
230
235
// if the query fails. NOTE: this does not include some errors like "ErrNoRows"
231
- res , err := QueryDB (ctx , dbConn .db , ds .c .Converters (), fillMode , q )
236
+ res , err := QueryDB (ctx , dbConn .db , ds .c .Converters (), fillMode , q , args ... )
232
237
if err == nil {
233
238
return res , nil
234
239
}
@@ -252,7 +257,7 @@ func (ds *SQLDatasource) handleQuery(ctx context.Context, req backend.DataQuery,
252
257
if ds .driverSettings .Pause > 0 {
253
258
time .Sleep (time .Duration (ds .driverSettings .Pause * int (time .Second )))
254
259
}
255
- res , err = QueryDB (ctx , db , ds .c .Converters (), fillMode , q )
260
+ res , err = QueryDB (ctx , db , ds .c .Converters (), fillMode , q , args ... )
256
261
if err == nil {
257
262
return res , err
258
263
}
@@ -273,7 +278,7 @@ func (ds *SQLDatasource) handleQuery(ctx context.Context, req backend.DataQuery,
273
278
continue
274
279
}
275
280
276
- res , err = QueryDB (ctx , db , ds .c .Converters (), fillMode , q )
281
+ res , err = QueryDB (ctx , db , ds .c .Converters (), fillMode , q , args ... )
277
282
if err == nil {
278
283
return res , err
279
284
}
0 commit comments