Skip to content

Commit 4349037

Browse files
authored
Expose query interpolation util (#59)
1 parent a496aa1 commit 4349037

File tree

3 files changed

+4
-3
lines changed

3 files changed

+4
-3
lines changed

datasource.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ func (ds *sqldatasource) handleQuery(ctx context.Context, req backend.DataQuery,
174174
}
175175

176176
// Apply supported macros to the query
177-
q.RawSQL, err = interpolate(ds.c, q)
177+
q.RawSQL, err = Interpolate(ds.c, q)
178178
if err != nil {
179179
return getErrorFrameFromQuery(q), fmt.Errorf("%s: %w", "Could not apply macros", err)
180180
}

macros.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,8 @@ func getMacroRegex(name string) string {
131131
return fmt.Sprintf("\\$__%s\\b(?:\\((.*?)\\))?", name)
132132
}
133133

134-
func interpolate(driver Driver, query *Query) (string, error) {
134+
// Interpolate returns an interpolated query string given a backend.DataQuery
135+
func Interpolate(driver Driver, query *Query) (string, error) {
135136
macros := driver.Macros()
136137
for key, defaultMacro := range DefaultMacros {
137138
if _, ok := macros[key]; !ok {

macros_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ func TestInterpolate(t *testing.T) {
7373
Table: tableName,
7474
Column: tableColumn,
7575
}
76-
interpolatedQuery, err := interpolate(&driver, query)
76+
interpolatedQuery, err := Interpolate(&driver, query)
7777
require.Nil(t, err)
7878
assert.Equal(t, tc.output, interpolatedQuery)
7979
})

0 commit comments

Comments
 (0)