From c1adf8c0621370bd13b79bd453fd9a65c946b8e1 Mon Sep 17 00:00:00 2001
From: Lucas Fernandes de Oliveira <lfo14@inf.ufpr.br>
Date: Wed, 13 Sep 2017 10:23:57 -0300
Subject: [PATCH] Issue #45: Fix config parser key reading and view ids

Signed-off-by: Lucas Fernandes de Oliveira <lfo14@inf.ufpr.br>
---
 src/adapter/postgres.ts  | 12 ++++++++++--
 src/util/configParser.ts |  2 +-
 2 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/src/adapter/postgres.ts b/src/adapter/postgres.ts
index b1e44806..4b8d63fc 100644
--- a/src/adapter/postgres.ts
+++ b/src/adapter/postgres.ts
@@ -465,11 +465,19 @@ export class PostgresAdapter extends Adapter {
                         clauses: partial0.clauses.concat(partial1.clauses),
                         materialized: false
                     });
+                    const id = new View({
+                        metrics: mets.concat(dimMetrics),
+                        dimensions: dims,
+                        keys: keys,
+                        origin: false,
+                        clauses: partial0.clauses.concat(partial1.clauses),
+                        materialized: false
+                    }).id;
                     const viewFrom  = "(" +
                             this.buildQuery(partial, [partial0, partial1]) +
-                            ") AS view_" + partial0.id + partial1.id + "\n";
+                            ") AS view_" + id + "\n";
                     partialJoin.push({
-                        id: partial0.id + partial1.id,
+                        id: id,
                         from: viewFrom,
                         dimMetrics: dimMetrics,
                         metrics: mets,
diff --git a/src/util/configParser.ts b/src/util/configParser.ts
index 76bffe2a..ea7133f9 100644
--- a/src/util/configParser.ts
+++ b/src/util/configParser.ts
@@ -185,7 +185,7 @@ export class ConfigParser {
 
         for (let i = 0; i < keys.length; ++i) {
             if (dimMap[keys[i]]) {
-                viewOpt.keys.push(dimMap[opts.dimensions[i]]);
+                viewOpt.keys.push(dimMap[opts.keys[i]]);
             }
 
             else {
-- 
GitLab