Skip to content

Commit

Permalink
Adding support for quoted field names
Browse files Browse the repository at this point in the history
  • Loading branch information
mistercrunch committed Dec 22, 2015
1 parent 6a28ad3 commit 4e21fb4
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 18 deletions.
2 changes: 0 additions & 2 deletions TODO.md
@@ -1,8 +1,6 @@
# TODO
List of TODO items for Panoramix

* fix directed

## Improvments
* dashboard controller + filters
* Color hash in JS
Expand Down
22 changes: 11 additions & 11 deletions panoramix/models.py
Expand Up @@ -12,7 +12,7 @@
Column, Integer, String, ForeignKey, Text, Boolean, DateTime,
Table, create_engine, MetaData, desc, select, and_, func)
from sqlalchemy.orm import relationship
from sqlalchemy.sql import table, literal_column, text
from sqlalchemy.sql import table, literal_column, text, column
from sqlalchemy.sql.elements import ColumnClause
from sqlalchemy_utils import EncryptedType

Expand Down Expand Up @@ -420,9 +420,7 @@ def query(
groupby_exprs = []

if groupby:
select_exprs = [literal_column(s) for s in groupby]
select_exprs = []
groupby_exprs = []
inner_select_exprs = []
inner_groupby_exprs = []
for s in groupby:
Expand All @@ -432,8 +430,8 @@ def query(
outer = ColumnClause(expr, is_literal=True).label(s)
inner = ColumnClause(expr, is_literal=True).label('__' + s)
else:
outer = literal_column(s).label(s)
inner = literal_column(s).label('__' + s)
outer = column(s).label(s)
inner = column(s).label('__' + s)

groupby_exprs.append(outer)
select_exprs.append(outer)
Expand Down Expand Up @@ -473,7 +471,7 @@ def query(
cond = ColumnClause(
col_obj.expression, is_literal=True).in_(values)
else:
cond = literal_column(col).in_(values)
cond = column(col).in_(values)
if op == 'not in':
cond = ~cond
where_clause_and.append(cond)
Expand All @@ -497,7 +495,7 @@ def query(
on_clause = []
for i, gb in enumerate(groupby):
on_clause.append(
groupby_exprs[i] == literal_column("__" + gb))
groupby_exprs[i] == column("__" + gb))

from_clause = from_clause.join(subq.alias(), and_(*on_clause))

Expand Down Expand Up @@ -558,33 +556,35 @@ def fetch_metadata(self):
if not any_date_col and 'date' in datatype.lower():
any_date_col = col.name

quoted = unicode(
column(dbcol.column_name).compile(dialect=db.engine.dialect))
if dbcol.sum:
metrics.append(M(
metric_name='sum__' + dbcol.column_name,
verbose_name='sum__' + dbcol.column_name,
metric_type='sum',
expression="SUM({})".format(dbcol.column_name)
expression="SUM({})".format(quoted)
))
if dbcol.max:
metrics.append(M(
metric_name='max__' + dbcol.column_name,
verbose_name='max__' + dbcol.column_name,
metric_type='max',
expression="MAX({})".format(dbcol.column_name)
expression="MAX({})".format(quoted)
))
if dbcol.min:
metrics.append(M(
metric_name='min__' + dbcol.column_name,
verbose_name='min__' + dbcol.column_name,
metric_type='min',
expression="MIN({})".format(dbcol.column_name)
expression="MIN({})".format(quoted)
))
if dbcol.count_distinct:
metrics.append(M(
metric_name='count_distinct__' + dbcol.column_name,
verbose_name='count_distinct__' + dbcol.column_name,
metric_type='count_distinct',
expression="COUNT(DISTINCT {})".format(dbcol.column_name)
expression="COUNT(DISTINCT {})".format(quoted)
))
dbcol.type = datatype
db.session.merge(self)
Expand Down
7 changes: 3 additions & 4 deletions panoramix/static/panoramix.js
@@ -1,6 +1,6 @@
var px = (function() {

var visualizations = [];
var visualizations = {};
var dashboard = undefined;

var Slice = function(data, dashboard){
Expand Down Expand Up @@ -92,7 +92,7 @@ var px = (function() {
delete dashboard.clearFilter(slice_id);
},
};
var viz = visualizations[name](slice);
var viz = visualizations[data.form_data.viz_type](slice);
slice['viz'] = viz;
return slice;
}
Expand All @@ -119,7 +119,6 @@ var px = (function() {
},
getSlice: function(slice_id) {
for(var i=0; i<this.slices.length; i++){
console.log([this.slices[i].data.slice_id, slice_id]);
if (this.slices[i].data.slice_id == slice_id)
return this.slices[i];
}
Expand All @@ -139,6 +138,7 @@ var px = (function() {
}

function registerViz(name, initViz) {

visualizations[name] = initViz;
}

Expand Down Expand Up @@ -285,7 +285,6 @@ var px = (function() {
};
},
}).data('gridster');
console.log(gridster);
$("div.gridster").css('visibility', 'visible');
$("#savedash").click(function() {
var data = {
Expand Down
2 changes: 1 addition & 1 deletion panoramix/static/widgets/viz_world_map.js
Expand Up @@ -36,7 +36,7 @@ function viz_world_map(slice) {
element: slice.container.get(0),
data: json.data,
fills: {
defaultFill: 'grey'
defaultFill: 'white'
},
geographyConfig: {
popupOnHover: true,
Expand Down

0 comments on commit 4e21fb4

Please sign in to comment.