Commit Graph

3999 Commits

Author SHA1 Message Date
Hugh A. Miles II 9573fe338e
added docs on proper function call for db mutator (#6826) 2019-02-06 13:17:15 -08:00
agrawaldevesh ff9506fec2 Adding support for Pinot (#6719)
Summary: Added limited support for visualizations with Pinot via
Sqlalchemy.

Pinot QL (PQL) is a bit weird and limited, and this patch hacks superset to
deal with that weirdness:

1. Pinot's grouping by time is best done as a long epoch. Grouping by a
time string is really slow and times out.

2. Pinot's response does not respect column aliases. So columns are not
named what they are expected to. So we remember the given column aliases
and then stamp them back onto the dataframe

3. Pinot's Json rest call does not return the output types. Instead
everything is cast to string. So when grouping by time, the group key
is integral and has to be treated specially when casting back to the
dataframe __timestamp column.

4. Finally, pinot does support grouping by on expressions. But those
expressions cannot then appear on the select clause. They are returned
regardless in the response. ie, 'select foo, count(*) from bar group by
foo' is okay, but 'select expr(foo), count(*) from bar group by
expr(foo)' ain't. One must use 'select count(*) from bar group by
expr(foo)'.

I also fixed a couple of things that looked like bugs to me: for
example, the row-ordering-limit should come at the end always.

Test Plan: Tested with the modified pinotdb sqlalchemy driver and an
internal pinot cluster. The pinotdb driver changes are in
https://github.com/agrawaldevesh/pinot-dbapi.

Pinot does not support orderby-limit for aggregated queries. To annotate
a query as an aggregate query, this patch adds a hint to the prepared
select statement that the pinotdb sqlalchemy driver then heeds.
2019-02-05 17:04:19 -08:00
Raphaël Merx 6e9130550d Add .standalone class to <body> when in standalone mode (#6811)
* Add .standalone class to <body> when in standalone mode

* Add test for .standalone class on <body>
2019-02-04 16:44:17 -08:00
Maxime Beauchemin 5a40f71710
[sql lab] improve table name detection in free form SQL (#6793)
* [sql lab] improve table name detection in free form SQL

* flake

* Addressing comments
2019-02-04 16:03:23 -08:00
agrawaldevesh fc4042a28b SelectControl hackery: Fixing freeform select and allowing group by and non group-by column selectors to take in arbitrary expressions including select-all semantics. (#6722)
Summary: We want to allow grouping by on expressions, including the
ability to select expressions (without group-by). The UI ain't good yet
.. it is not at the feature parity of say adhoc filters/metrics that
come with a nice text-box to edit the SQL. But
this suffices for my usecase for now.

(The UI would have to be redone ... but that would require some refactoring
to merge the AdhocFilter/Metric/Popover stuff such that it can be used
for this use case too.)

Also fixed a bug in the SelectControl freeForm selection.

Allow selecting all columns easily: Added a new Select-All special item
that users can select to make all the options in the selectable show
up.

The ability to group by arbitrary expressions is useful because now two
users don't need to create custom computed-fields for this.
2019-02-04 12:34:24 -08:00
John Bodley e1b907783a
[wtforms] Using wtforms-json which supports None (#5445) 2019-02-04 09:35:40 -08:00
Wonjin Kim b7b51ecc37 Add Korean translations (#6809)
* fix #6760

* start adding Korean translation

* Add Korean translation

* Add Korean translation (#6790)
2019-02-03 11:15:52 -08:00
Hugh A. Miles II 4f3d2bce4d
Omnibar (#6745)
* add starter workspace

* move code into omni container

* 🚢

* add logger

* removed jquert

* remove example ref

* moved all the code into Fragments

* adressed comments

* 🚢

* remove ref

* remove unneeded code

* added featureflag

* change prompt text

* fix omni location

* cleanup comment
2019-02-02 13:02:08 -08:00
agrawaldevesh cecbba3fe6 Summary: Introduce configs for default relative end time and the epoch-tz (#6721)
Introduce a config DEFAULT_RELATIVE_END_TIME which is used when
computing the "Last X days". The default behavior (as currently) is to
let that be 'today', which actually means the 0th second of today. We
can also let it be 'now' which means the data as of now (ie at query
time).

Secondly, also introduce another config IS_EPOCH_S_TRULY_UTC, which
means that the logged time in epoch_s format is actually in UTC.
Currently (as the default) is that it it is in the local (superset
webserver) timezone.

** There is no backward incompatibility with thes config features since
the default behavior hasn't changed. **
2019-02-01 16:34:13 -08:00
Christine Chambers 11bace3808
Merge pull request #6805 from lyft/xtinec--fix-sticky-tooltip
Fix sticky tooltips on nvd3 vizzes
2019-02-01 15:07:06 -08:00
Maxime Beauchemin ba64ae6974
Add missing license (#6801) 2019-02-01 14:42:37 -08:00
Christine Chambers 7846bae8e0
Merge pull request #6781 from lyft/xtinec--merge-feature-flags
Merge default feature flags and user defined feature flags
2019-02-01 14:36:25 -08:00
Christine Chambers 501340b5db Fix sticky tooltips on nvd3 vizzes
Currently, we attempt to hide the nvd3 tooltips (if any were on screen) before we draw a new viz after rerunning a query. The hiding is done by selecting the first nvtooltip element and setting the opacity to 0.

This somtimes leave behind a trail of old tooltips if a tooltip is left behind by this nvd3 bug https://github.com/novus/nvd3/issues/1262. This PR modifies the behavior of how we clean up tooltips between rerun of queries by selecting all nvd3 tooltips and removing them all from the DOM before redrawing nvd3 vizzes.
2019-02-01 14:30:13 -08:00
Christine Chambers 19b3753d2c Move feature flag utility function into superset/__init__.py 2019-02-01 13:35:50 -08:00
AlexRRR 416534add5 fix: don't remove leading new line (#6800) 2019-02-01 12:03:34 -08:00
Maxime Beauchemin 713b0ae4f4
[cosmetic] TableSelector use <i> instead of <Button> for refresh (#6783)
* [cosmetic] TableSelector use <i> instead of <Button> for refresh

* Add ASF licenses

* css hover

* missing license

* remove license header
2019-02-01 12:01:30 -08:00
Christine Chambers 5669a82350
Merge pull request #6797 from lyft/VIZ-187
Fix play slider in deck.gl visualizations
2019-01-31 22:02:56 -08:00
Beto Dealmeida a09348d0ec Fix playslider 2019-01-31 17:23:59 -08:00
Wonjin Kim adc9a6b495 Add Korean Translation (#6790)
* fix #6760

* start adding Korean translation

* Add Korean translation
2019-01-31 14:13:43 -08:00
John Bodley 2631558ac4
Revert "Removing uniqueness constraints on tables table" (#6777)
* Revert "creating new circular-json safe stringify and replacing one call (#6772)"

This reverts commit 11a7ad00b7.

* Revert "Improve Unicode support for MSSQL (#6690)"

This reverts commit c44ae612df.

* Revert "Fix uniqueness constraints on tables table (#6718)"

This reverts commit c4fb7a0a87.
2019-01-31 09:57:51 -08:00
Christine Chambers b70a9ae524 Merge default feature flags and user defined feature flags
- Rename the default feature flags key in `config.py` to DEFAULT_FEATURE_FLAGS
- Merge default feature flags with user defined ones allowing the latter to overwrite the former
- Expose feature_flags for both server and client to use
- Add a utility method for checking whether a feature flag is on on server side
2019-01-30 22:23:27 -08:00
agrawaldevesh 817783f466 Allow any column to be filterable or groupable (#6764)
This is not configurable and will be the default (and only !) behavior
going forward !
2019-01-30 11:18:49 -08:00
Maxime Beauchemin 36176f3e20
[sql lab] fix stuck offline (#6782) 2019-01-30 11:12:31 -08:00
Michael McDuffee 11a7ad00b7 creating new circular-json safe stringify and replacing one call (#6772) 2019-01-29 10:59:42 -08:00
Ville Brofeldt c44ae612df Improve Unicode support for MSSQL (#6690)
* Implement unicode where cluases for mssql queries

* Add comment about unicode support on sqla 1.3+
2019-01-28 22:56:46 -08:00
agrawaldevesh c4fb7a0a87 Fix uniqueness constraints on tables table (#6718)
Summary: Superset code enforces (in Table crud view pre_add) that the
table is unique within <database, schema, table_name). Indeed in commit
15b67b2c6c (in 2016), the model was
updated to reflect that. However, it was never ported over to a
migration.

I am fixing that in this diff. I am choosing to make this be a new
migration instead of fixing an existing one since I want to fix existing
installations also cleanly.

I also considered removing the uniqueness constraint, but that won't
work: First because anyway there are other places where the <database,
schema, table> uniqueness is enforced in code. But also, the .sql field
isn't a first citizen yet: The schema of the table is picked up from the
table-name and the sql part is only used when creating the explore
query. So indeed we want this uniqueness constraint. (Also it breaks the
unit tests in dict_import_export_tests.py)
[Perhaps it can be removed when we have true .sql support, but for now
the user would have to create a database view and he can use that as the
'table name'. That way he gets schema inference also]

Also added INFO logging to the alembic migration.
2019-01-28 22:49:31 -08:00
Wonjin Kim 5938ac30d6 fix #6760 (#6762) 2019-01-28 22:45:16 -08:00
Maxime Beauchemin 7c02587924
[docs] improve upgrading instructions (#6766) 2019-01-28 22:14:02 -08:00
Grace Guo 744135c7fe
[fix] Add action for update chart id (#6769) 2019-01-28 17:42:35 -08:00
ziheng 83ee917832 [fix] `pandas`>=0.24.0 datetimelike API changes (#6765) 2019-01-27 17:29:56 -08:00
Maxime Beauchemin a62a8d3d98
[docs] bump cryptography lib version in docs (#6755) 2019-01-25 14:26:08 -08:00
Maxime Beauchemin a93219f291
[cosmetic] Align table sort icons to the left (#6754) 2019-01-25 14:25:41 -08:00
michellethomas 8100a8fa97
Fixing sort issue with area chart and adding tests (#6358) 2019-01-25 10:30:31 -08:00
Hugh A. Miles II 6b0ab2100d fix dashboard links in welcome page (#6756) 2019-01-25 08:20:00 -08:00
davidkohcw f38cea3ee3 Update User List in README.md (#6758)
Added a new company into the company list
2019-01-25 08:19:19 -08:00
Marcus 01689c38ea bump PyHive version for prod requirements.txt (#6751) 2019-01-24 23:11:22 -08:00
Grace Guo 879c553b0a
[fix] JS error out when rename a new chart (#6752) 2019-01-24 21:31:21 -08:00
michellethomas 97cb10dbc8
Make it easier to select dropdown options in control tests (#6546) 2019-01-24 10:10:22 -08:00
agrawaldevesh 594cd70960 A few fixes for Presto connection (#6720)
* Preserve existing configuration when modifying it in case of user impersonation

* Add logging when a table cannot be added due to some schema issues
2019-01-23 21:12:27 -08:00
Maxime Beauchemin 1ffee8b236
[cosmetic] remove 'List' prefix from list headers (#6725)
* [cosmetic] remove 'List' prefix from list headers

* Same change to connectors
2019-01-23 21:06:56 -08:00
Krist Wongsuphasawat 3ae7d32caa
Add iframe and markup legacy plugin (#6741)
* Add iframe plugin

* Use lazy load and add description

* remove unintended files

* Add markup

* minor adjustment
2019-01-23 10:21:57 -08:00
Krist Wongsuphasawat 954e42bafe
Update gitignore (#6742)
internal: update gitignore
2019-01-23 10:21:41 -08:00
michellethomas bab7ee7ecf Adding a note about 0.30 to updating (#6730) 2019-01-22 14:38:01 -08:00
Beto Dealmeida bbd781b66e
Remove test URL (#6740) 2019-01-22 14:27:51 -08:00
Beto Dealmeida cf1a35b94b
Allow specifying custom width for logo (#6739) 2019-01-22 14:25:49 -08:00
bolkedebruin d65059b06a Add disclaimer and remove counter (#6738) 2019-01-22 14:18:16 -08:00
bolkedebruin 1fece0d2fa Add licenses to translations (#6732)
* Add licenses

* More licenses

* Ignore messages.json as they are generated

* More licenses

* Also typescript

* Fix alignment

* Add to svg

* Many more licenses

* more licenses

* Better excludes

* Add licenses to docs and md files

* Pre-finalize licenses

* Fix newlines

* Finalize all sourde licenses

* Fix lint
2019-01-22 08:21:13 -08:00
Hugh A. Miles II d628907be3
Hotkeys in Explore View (#6526)
* working .... hotkeys in example of hotkeys in explore

* added save functionality

* Added proper overwrite functions

* cleanup

* cleanup

* cleanu

* fixe linting

* add global

* move match to utils

* linting

* change some stuff

* Delete example_filter_immune_slice_fields.json

* hide annoying blue bar

* switch hotkeys to reference s

* remove console.log

* have hotkey generate help

* 🚢

* move functions out of component

* refactor

* Delete yarn.lock

* addressed comments

* remove comments

* remove Hotkeys component from ChartView

* Add hotkeys button next to save&run

* moved keyboard

* cleanup

* checkout package.json

* checkout chart panel

* reference apache

* remove style change

* whitespace

* clean up on hotkey popup

* fds

* linting

* fix all linting errors
2019-01-21 02:10:46 -08:00
bolkedebruin 88283dc2cb Add cc-by 4.0 for geojson files (#6731) 2019-01-19 14:28:40 -08:00
Maxime Beauchemin f742b9876b
Making thrift, pyhive and tableschema as extra_requires (#6696)
* Making thrift, pyhive and tableschema as extra_requires

Looking at the dependency tree for license related questions, I noticed
that tableschema had a huge tree, and only people running Hive really
need it. Making this as well as pyhive and thrift optional.

Also bumping some python dependencies

* Run pip-compile

* Removing refs to past.builtins (from future lib)

* Add thrift
2019-01-19 14:27:18 -08:00