From 173e7fd8392afa98696dc736d0620013c7d5a0a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Fri, 5 Apr 2019 09:56:47 +0200 Subject: [PATCH] Fix: Graphite query rendering fix (#16390) Only interpolate string parameters Fixes #16367 --- public/app/plugins/datasource/graphite/gfunc.ts | 3 ++- public/app/plugins/datasource/graphite/specs/gfunc.test.ts | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/public/app/plugins/datasource/graphite/gfunc.ts b/public/app/plugins/datasource/graphite/gfunc.ts index 15cb79f00b5..3fe341deaaf 100644 --- a/public/app/plugins/datasource/graphite/gfunc.ts +++ b/public/app/plugins/datasource/graphite/gfunc.ts @@ -966,7 +966,6 @@ export class FuncInstance { const str = this.def.name + '('; const parameters = _.map(this.params, (value, index) => { - const valueInterpolated = replaceVariables(value); let paramType; if (index < this.def.params.length) { @@ -980,6 +979,8 @@ export class FuncInstance { return value; } + const valueInterpolated = _.isString(value) ? replaceVariables(value) : value; + // param types that might be quoted // To quote variables correctly we need to interpolate it to check if it contains a numeric or string value if (_.includes(['int_or_interval', 'node_or_tag'], paramType) && _.isFinite(+valueInterpolated)) { diff --git a/public/app/plugins/datasource/graphite/specs/gfunc.test.ts b/public/app/plugins/datasource/graphite/specs/gfunc.test.ts index a1d888cea33..25461ad98d7 100644 --- a/public/app/plugins/datasource/graphite/specs/gfunc.test.ts +++ b/public/app/plugins/datasource/graphite/specs/gfunc.test.ts @@ -31,7 +31,8 @@ describe('when creating func instance from func names', () => { }); function replaceVariablesDummy(str: string) { - return str; + // important that this does replace + return str.replace('asdasdas', 'asdsad'); } describe('when rendering func instance', () => {