Browse Source

fix datatype query

Sven Klemm 7 years ago
parent
commit
1dd8192d51
1 changed files with 7 additions and 4 deletions
  1. 7 4
      public/app/plugins/datasource/postgres/meta_query.ts

+ 7 - 4
public/app/plugins/datasource/postgres/meta_query.ts

@@ -133,14 +133,17 @@ table_schema IN (
 
   buildDatatypeQuery(column: string) {
     let query = `
-SELECT data_type
+SELECT udt_name
 FROM information_schema.columns
 WHERE
   table_schema IN (
-		SELECT CASE WHEN trim(unnest) = \'"$user"\' THEN user ELSE trim(unnest) END
-    FROM unnest(string_to_array(current_setting(\'search_path\'),\',\'))
-    LIMIT 1
+  SELECT schema FROM (
+		  SELECT CASE WHEN trim(unnest) = \'"$user"\' THEN user ELSE trim(unnest) END as schema
+      FROM unnest(string_to_array(current_setting(\'search_path\'),\',\'))
+    ) s
+    WHERE EXISTS (SELECT 1 FROM information_schema.schemata WHERE schema_name = s.schema)
   )
+LIMIT 1
 `;
     query += ' AND table_name = ' + this.quoteIdentAsLiteral(this.target.table);
     query += ' AND column_name = ' + this.quoteIdentAsLiteral(column);