Commit Graph

41 Commits

Author SHA1 Message Date
Nicolas Roche f987c27631 python3: encode unicode-objects before hashing (#40570) 2020-03-13 11:56:39 +01:00
Nicolas Roche a6d0bc47a5 python3: replace iteritems by items method (#40570) 2020-03-13 11:56:39 +01:00
Nicolas Roche 8a9769eb4d python3: replace unicode type (#40570) 2020-03-13 11:56:39 +01:00
Benjamin Dauvergne 89f6de1474 engine: ignore empty filters (#40482) 2020-03-06 10:07:10 +01:00
Benjamin Dauvergne 5b72a4be6d engine: force join to right when looking for members (#38913) 2020-01-15 23:42:20 +01:00
Benjamin Dauvergne 126ddfa812 engine: add missing parenthesis around ->> operator (#38932) 2020-01-14 10:52:57 +01:00
Benjamin Dauvergne 16b60621d4 engine: remove use of cross join (#38691)
It prevented reporting of NULL values.
2020-01-06 22:07:37 +01:00
Benjamin Dauvergne 8f204362a4 engine: simplifiy equivalent code (#38691)
The two branches built the same string.
2020-01-06 22:07:36 +01:00
Benjamin Dauvergne 79a965f328 engine: add setting for postgresql init statements (#38462) 2019-12-12 15:41:53 +01:00
Benjamin Dauvergne 10b4405fd1 engine: propagate filters to dimension's members enumeration (#38067) 2019-12-04 19:30:42 +01:00
Benjamin Dauvergne 72e8d4c83e overhaul of query to table transformation (#38067)
* during query obtain dimension id and label if a different projection
is defined
* use object to materialize query results : Cells, DimensionCell,
MeasureCell
* handle stringification in the *Cell classes
* never ignore NULL dimension's values (it's detected in
Visualization.data() and added to the list of dimension members)
* sum of columns is only computed if there are more than one column
* sum of rows is only computed if there are more than one row
* full sum is only computed if there are more thant one column and more
than one row
* 1 dimension table are computed in the same maner as 2 dimensions
tables, no more discrepancies
* JSON web-service now use the same base methods table_2d() and table_1d()
as the native rendering in bijoe
* EngineDimension.members is specialized for bool dimensions (as it's
always True/False)
2019-12-03 21:04:01 +01:00
Benjamin Dauvergne e8e1d573c5 schemas: add an absent_label property to Dimension (#38067)
Also force lazy strings to unicode in to_json().
2019-12-03 16:53:25 +01:00
Benjamin Dauvergne 2422edd733 engine: use LEFT OUTER JOIN to join with inline json join table (#38067) 2019-12-03 16:53:25 +01:00
Benjamin Dauvergne d603f14860 engine: hide NULL values of json dimensions in inline join table (#38067) 2019-12-03 16:53:25 +01:00
Benjamin Dauvergne 4701568437 engine: cache proxy descriptor result on engine's cubes (#38067) 2019-12-03 16:53:25 +01:00
Benjamin Dauvergne 3f7bedf0d3 engine: do not hardcode cube's json field name (#38067) 2019-12-03 16:53:25 +01:00
Benjamin Dauvergne a868f11d42 engine: cache EngineDimension.members (#38067) 2019-12-03 16:53:25 +01:00
Benjamin Dauvergne 6716a7594f engine: quote join's aliases (#37495) 2019-11-07 19:20:41 +01:00
Benjamin Dauvergne 29932ac31c remove all explicit quoting (#36488)
The schemas must contain quoted names for fields and tables when
necessary.
2019-09-28 11:03:37 +02:00
Benjamin Dauvergne f92ae54d47 engine: remove duplicated line (#36488) 2019-09-28 02:56:24 +02:00
Benjamin Dauvergne c289591dd3 visualization: keep None value for dimension cells (#35295) 2019-08-12 20:18:19 +02:00
Benjamin Dauvergne ace7a3407b engine: conserve table name case in SQL queries (#35130) 2019-08-12 20:18:19 +02:00
Benjamin Dauvergne 6451f27c18 engine: when filtering only use joins if defined (#27407) 2019-01-15 13:00:35 +01:00
Benjamin Dauvergne 0dce40e5e9 engine: make Dimension.order_by a list (fixes #28175) 2018-12-10 11:39:38 +01:00
Benjamin Dauvergne e9a4301542 engine: allow dimensions without joins (fixes #28191) 2018-12-06 17:28:45 +01:00
Benjamin Dauvergne 328a35b8c4 engine: fix typo (#27482) 2018-12-06 17:28:45 +01:00
Benjamin Dauvergne 5628a22dcb engine: close connections after usage (#27482) 2018-12-06 17:28:45 +01:00
Benjamin Dauvergne 6d3f6c7716 add a geojson export of visualization data (fixes #15180) 2017-03-01 18:09:41 +01:00
Benjamin Dauvergne c1e52f05e1 return no JSONDimension if json_field is not defined 2017-02-28 14:07:22 +01:00
Benjamin Dauvergne b6b01da8ee support for json field (fixes #15169) 2017-02-28 00:00:29 +01:00
Benjamin Dauvergne 2634a2ade5 add support for full outer join (fixes #15095) 2017-02-28 00:00:29 +01:00
Benjamin Dauvergne 09fc7cee35 allow many customization for filters (fixes #15171)
- a dimension can provide a custom filter query (%s will be replaced by the value
  or the list of values).
- a dimension can ask for its filter to be done inside the join.
- a diemnsion can tell that filtering does not need the join table.
2017-02-28 00:00:26 +01:00
Benjamin Dauvergne 573012169d allow dimensions to provide custom query for members (fixes #15170) 2017-02-27 23:46:36 +01:00
Benjamin Dauvergne 151337114b fix name collision between Dimension.filter attribute and method 2016-07-26 13:13:50 +02:00
Benjamin Dauvergne 8cc1ae0788 expose measure and dimension type and name in data cells in templates 2016-07-26 12:04:38 +02:00
Benjamin Dauvergne 1e43909507 debian packaging 2016-06-24 15:54:12 +02:00
Benjamin Dauvergne 7b587daeaa bijoe: fix bad indenting in EngineDimension.members() 2016-06-18 09:36:26 +02:00
Benjamin Dauvergne 63dd871697 bijoe: add a count method to EngineCube 2016-06-18 09:36:26 +02:00
Benjamin Dauvergne c99b876e3e bijoe: add a cubes iterator to engine 2016-06-18 09:36:26 +02:00
Benjamin Dauvergne fab899f323 bijoe: make psycopg2 return unicode strings 2016-05-25 10:11:12 +02:00
Benjamin Dauvergne b6df6a2a35 bi-joe: BI engine and frontend for PostgreSQL 2016-05-25 01:24:07 +02:00