浏览代码

dont quote variables for mysql and postgres datasource (#9611)

Sven Klemm 8 年之前
父节点
当前提交
56e53b8343

+ 1 - 1
public/app/plugins/datasource/mysql/datasource.ts

@@ -17,7 +17,7 @@ export class MysqlDatasource {
 
   interpolateVariable(value) {
     if (typeof value === 'string') {
-      return '\'' + value + '\'';
+      return value;
     }
 
     if (typeof value === 'number') {

+ 2 - 2
public/app/plugins/datasource/mysql/specs/datasource_specs.ts

@@ -196,8 +196,8 @@ describe('MySQLDatasource', function() {
 
   describe('When interpolating variables', () => {
     describe('and value is a string', () => {
-      it('should return a quoted value', () => {
-        expect(ctx.ds.interpolateVariable('abc')).to.eql('\'abc\'');
+      it('should return an unquoted value', () => {
+        expect(ctx.ds.interpolateVariable('abc')).to.eql('abc');
       });
     });
 

+ 2 - 2
public/app/plugins/datasource/postgres/datasource.ts

@@ -17,11 +17,11 @@ export class PostgresDatasource {
 
   interpolateVariable(value) {
     if (typeof value === 'string') {
-      return '\'' + value + '\'';
+      return value;
     }
 
     if (typeof value === 'number') {
-      return value.toString();
+      return value;
     }
 
     var quotedValues = _.map(value, function(val) {

+ 20 - 0
public/app/plugins/datasource/postgres/specs/datasource_specs.ts

@@ -193,4 +193,24 @@ describe('PostgreSQLDatasource', function() {
       expect(results[0].value).to.be('same');
     });
   });
+
+  describe('When interpolating variables', () => {
+    describe('and value is a string', () => {
+      it('should return an unquoted value', () => {
+        expect(ctx.ds.interpolateVariable('abc')).to.eql('abc');
+      });
+    });
+
+    describe('and value is a number', () => {
+      it('should return an unquoted value', () => {
+        expect(ctx.ds.interpolateVariable(1000)).to.eql(1000);
+      });
+    });
+
+    describe('and value is an array of strings', () => {
+      it('should return comma separated quoted values', () => {
+        expect(ctx.ds.interpolateVariable(['a', 'b', 'c'])).to.eql('\'a\',\'b\',\'c\'');
+      });
+    });
+  });
 });