Commit Graph

4241 Commits

Author SHA1 Message Date
Ville Brofeldt
e112659173 Remove redundant UTC casts (#6786) 2019-02-23 10:33:21 -08:00
agrawaldevesh
b5d03c85c5 Do label name mutation before anything else on the dataframe (#6831)
This problem especially happens with pinot when you select two metrics
with different aliases but same function. For example, effectively the
sql like 'select type, count(*) as one, count(*) as two from bar group
by type'. In such a case, pinot will return two columns, both named
count_star.

So when we try to do a df['count_star'], the result is a Dataframe and
not a Series. This causes a KeyError in the get_df method.

So we push the DB specific label mutation inside get_df before we do any
other mutation.
2019-02-22 20:32:46 -08:00
Ignacio Pérez Vergara
5c484e78a2 [fix] fix for css not loading on docker dev mode (#6934) 2019-02-22 20:03:17 -08:00
Ville Brofeldt
ea9d22b2ec Force quotes on non-expression time grains on Postgres (#6897)
* Force quotes on non-expression time grains on postgres

* Change to or semantics

* Return lower case column name as unmutated

* Add testcases for postgres time grains

* Make expression MixedCase
2019-02-21 13:16:28 -08:00
Ville Brofeldt
f5277fe684 Refactor dataframe and column name mutation logic (#6847)
* Merge dataframe and column name mutation logic, add flag for disabling column aliases and add column name length checking

* Remove custome mutate_label from oracle spec

* Move hashing from mutate_label() to make_label_compatible()

* Remove empty line

* Make label mutating and truncating more robust

* Rename variables and make proposed changes from review

* Always execute labels_expected codepath

* Fix linting error

* Add comments and fix subquery errors

* Refine column compatibility

* Simplify label assignment

* Add unit tests for BQ and Oracle

* Linting
2019-02-20 23:05:35 -08:00
不知是哪个号
1cac31dcce Update CHANGELOG.md (#6920)
Update CHANGELOG.md
2019-02-20 22:16:18 -08:00
Grace Guo
16f4721a92
[fix] minor fix for Superset logger (#6922) 2019-02-20 15:38:45 -08:00
michellethomas
ba9523c7c4 Adding dropdown to DatasourceControl and ability to change datasource (#6816)
* Adding dropdown to DatasourceControl and ability to change datasource

* Style fixes

* Adding unit tests for datasource/get endpoint

* Fixing issue with dropdown overflow and style changes

* Fixing issues rebasing metadata button and fixing sort for datasource with no name
2019-02-20 14:32:33 -08:00
Christine Chambers
c04c0cd8f0
Add a safety check before getting clientHeight (#6923)
Seeing an intermittent repro of the `current` nodes of the sql editor and south pane refs returning null. Adding a safety check for both nodes.
2019-02-20 14:31:28 -08:00
Beto Dealmeida
25ec00b3c6 Fix database typeahead in SQL Lab (#6917)
* Fix database typeahead in SQL Lab

* Fix lint

* Use string interpolation
2019-02-19 16:10:17 -08:00
Beto Dealmeida
3f96b0c5c4 Fix tooltip (#6895) 2019-02-19 10:32:14 -08:00
Maxime Beauchemin
f715f36ed3
[box plot] add X tick layout control (#6903) 2019-02-19 09:47:04 -08:00
Christine Chambers
f8cf0fb7f3
Add show metadata button back to the explore view (#6911)
* Add show metadata button back to the explore view

- Add the show metadta button, accidentally removed from PR #6046, back to the explore view
- Remove dead code that is no longer reachable from DataSourceModal.jsx.

* Adding additional code back to make the button function and remove more dead code.
2019-02-19 09:44:35 -08:00
Ville Brofeldt
30cd0e3836 Raise exception if long or lat not set in mapbox viz (#6867) 2019-02-18 09:20:59 -08:00
Marcus
3956bd20c2 add Filters copy change (#6885) 2019-02-17 20:42:38 -08:00
Krist Wongsuphasawat
dce853d450 Fix npm warning by bumping @superset-ui version (#6894)
* Fix npm warning by bumping @superset-ui version

* bump one more time
2019-02-17 20:16:56 -08:00
Daniel Vaz Gaspar
a97f3b639e [fix] Typo on config comments for SILENCE_FAB (#6901) 2019-02-17 14:03:04 -08:00
Grace Guo
47f42ed351
Improve Superset logger (#6879)
* enable beacon

* add middleware

* add unit tests
2019-02-15 23:10:05 -08:00
Krist Wongsuphasawat
bd9a2c15e7
remove dead code (#6884) 2019-02-15 11:51:49 -08:00
John Bodley
5728946270
[sqla] Fixing order-by for non-inner-joins (#6862) 2019-02-15 11:23:02 -08:00
michellethomas
b0f7f51ab7
Adding template_params to datasource editor for sqla tables (#6869) 2019-02-15 11:16:04 -08:00
Maxime Beauchemin
49868748e6
[ci] take #2, improve build times by saving TerserPlugin cache (#6882)
The problem with the previous solution was that the `npm ci` command
nuke the `node_modules` folder, including the `.cache` that was used by
default. By moving the cache out of `node_modules`  we get to both run
`npm ci` and accelerate `TerserPlugin`
2019-02-15 08:53:06 -08:00
Christine Chambers
ec6657ab2d
Relayout SQL Editor (#6872)
* Relayout SQL Editor

- Refactor SQL editor to remove usage of bootstrap col, row and collapse to simplify the layout
- Replace the react-split-pane libraray with react-split to allow custom styling of the gutter area without sacrifice correctness of the ace editor height calculation
- Rewrite the left pane animation via plain css transition and animate it to slide in and out
- General code and css clean up

* Smooth out the visual transition during dragging

(cherry picked from commit 19f82b729c7a939f12b1c5da6022c0fd76fa3ec9)

* Adjust how the height of the south pane is computed, fixing cypress tests
2019-02-14 18:03:43 -08:00
Krist Wongsuphasawat
8302b9a276
Update webpack config to facilitate debugging charts via npm link (#6880)
* Update webpack config to facilitate debugging charts via symlink and update babel plugin version

* update @superset-ui-legacy version

* update packages
2019-02-14 17:57:34 -08:00
Maxime Beauchemin
16ae747da1
Speed up CI by caching TerserPlugin cache (#6874)
* Speed up CI by caching TersetPlugin cache

This should accelerate the `npm run build` part of the build by ~5
minutes or so I believe.

* targeting terser-webpack-plugin/
2019-02-14 12:14:07 -08:00
Krist Wongsuphasawat
75e1045da4
Use chart plugins and remove code under visualizations (#6838)
* add dependencies

* add the basic charts

* use plugins except tables

* remove old vis code

* Clean dependencies

* remove paired-t-test code and a few more dependencies

* remove tests

* remove unused packages

* integrate nvd3

* bump version

* update ref

* fix issue with table and pivottable

* delete table, pivot table and dependency

* Resolve bubble chart issue by using lib instead of esm

* add comments

* delete nvd3

* add mapbox
2019-02-14 11:28:39 -08:00
agrawaldevesh
2132522fbb Update docs for pinot support (#6865) 2019-02-14 10:56:36 -08:00
John Bodley
60d5f89faa
[main] Disable resetting main DB attributes (#6845) 2019-02-13 16:41:16 -08:00
Patrick Tyler Haas
103a97f87d Docs: update user list in README (#6870) 2019-02-13 15:28:12 -08:00
Karri Niemelä
3f47c61dff Adding chart-id to chartrenderer (#6832)
* Adding chart-id to chatrenderer

* Update ChartRenderer.jsx
2019-02-12 14:41:22 -08:00
Pablo
044f660f48 Adding BigQuery to the list of supported DBs. (#6848) 2019-02-11 23:01:03 -08:00
Maxime Beauchemin
de403de6fe
Bump FAB to 1.12.3 (#6854)
Related CHANGELOG:
https://github.com/dpgaspar/Flask-AppBuilder/blob/master/docs/versions.rst#improvements-and-bug-fixes-on-1123
2019-02-11 22:36:18 -08:00
michellethomas
4638618545
Fixing issue where tooltip gets hidden on dashboard for all charts (#6852) 2019-02-11 15:15:47 -08:00
Maxime Beauchemin
73e119a84e [config] clarifications around SUPERSET_WEBSERVER_TIMEOUT (#6840) 2019-02-11 10:32:11 -08:00
Krist Wongsuphasawat
0b1fbf8299
fix dist-bar overflow css (#6844) 2019-02-08 16:30:38 -08:00
Krist Wongsuphasawat
1c090df4a5
Add check for invalid color scheme (#6828)
* add check for invalid scheme

* revert package-lock.json

* revert again
2019-02-08 10:47:57 -08:00
Krist Wongsuphasawat
e14c0cf9a3
Use SuperChart from package and remove one in apache (#6839)
* use SuperChart from package and remove one in apache

* revert package-lock
2019-02-07 16:52:47 -08:00
Krist Wongsuphasawat
5f0b5f63c6
update @superset-ui/packages (#6830) 2019-02-07 09:58:10 -08:00
Krist Wongsuphasawat
823555e07d
Fix line chart overflowing the right side (#6829)
* Fix line chart overflowing the right side

* revert package-lock.json

* revert again
2019-02-06 21:28:30 -08:00
Christine Chambers
231d826757
Make the target path of the superset logo configuable (#6815)
* Make the target path of the superset logo configuable

There is a need to have the target path of the logo go to different places in different installations of superset. The PR makes the target path (after `/superset`) configurable via the LOGO_TARGET_PATH configuration key and sets the default to the existing `/profile/{{ current_user.username }}/`

* addressing pr comments
2019-02-06 15:41:19 -08:00
Beto Dealmeida
8041b63af6 Backend only tagging system (#6823)
This PR introduces the backend changes for a tagging system for Superset, allowing dashboards, charts and queries to be tagged. It also allows searching for a given tag, and will be the basis for a new landing page (see #5327).

# Implicit tags
Dashboard, chart and (saved) queries have implicit tags related to their owners, types and favorites. For example, all objects owned by the admin have the tag `owner:1`. All charts have the tag `type:chart`. Objects favorited by the admin have the tag `favorited_by:1`.

These tags are automatically added by a migration script, and kept in sync through SQLAlchemy event listeners. They are currently not surfaced to the user, but can be searched for. For example, it's possible to search for `owner:1` in the welcome page to see all objects owned by the admin, or even search for `owner:{{ current_user_id() }}`.
2019-02-06 13:42:42 -08:00
Michael McDuffee
16a8e314a1 Removing additional unguarded calls to JSON.stringify (#6802)
* removing further calls to unguarded stringify when input data is unknown or to be displayed

* updating one more react component

* fixing lint errors
2019-02-06 13:27:21 -08:00
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