Browse Source

persist datatype information

Sven Klemm 7 years ago
parent
commit
e84a1cbcc5

+ 3 - 0
public/app/core/components/sql_part/sql_part.ts

@@ -38,6 +38,7 @@ export class SqlPart {
   params: any[];
   params: any[];
   label: string;
   label: string;
   name: string;
   name: string;
+  datatype: string;
 
 
   constructor(part: any, def: any) {
   constructor(part: any, def: any) {
     this.part = part;
     this.part = part;
@@ -46,6 +47,8 @@ export class SqlPart {
       throw { message: 'Could not find sql part ' + part.type };
       throw { message: 'Could not find sql part ' + part.type };
     }
     }
 
 
+    this.datatype = part.datatype;
+
     if (part.name) {
     if (part.name) {
       this.name = part.name;
       this.name = part.name;
       this.label = def.label + ' ' + part.name;
       this.label = def.label + ' ' + part.name;

+ 3 - 3
public/app/plugins/datasource/postgres/query_ctrl.ts

@@ -87,14 +87,14 @@ export class PostgresQueryCtrl extends QueryCtrl {
   updatePersistedParts() {
   updatePersistedParts() {
     this.target.select = _.map(this.selectParts, function(selectParts) {
     this.target.select = _.map(this.selectParts, function(selectParts) {
       return _.map(selectParts, function(part: any) {
       return _.map(selectParts, function(part: any) {
-        return { type: part.def.type, params: part.params };
+        return { type: part.def.type, datatype: part.datatype, params: part.params };
       });
       });
     });
     });
     this.target.where = _.map(this.whereParts, function(part: any) {
     this.target.where = _.map(this.whereParts, function(part: any) {
-      return { type: part.def.type, name: part.name, params: part.params };
+      return { type: part.def.type, datatype: part.datatype, name: part.name, params: part.params };
     });
     });
     this.target.group = _.map(this.groupParts, function(part: any) {
     this.target.group = _.map(this.groupParts, function(part: any) {
-      return { type: part.def.type, params: part.params };
+      return { type: part.def.type, datatype: part.datatype, params: part.params };
     });
     });
   }
   }