betodealmeida opened a new pull request #14225:
URL: https://github.com/apache/superset/pull/14225


   ### SUMMARY
   <!--- Describe the change below, including rationale and design decisions -->
   
   This PR introduces a new SQLAlchemy dialect, `superset://`, together with a 
corresponding DB engine spec. The SQLAlchemy dialect is built on top of 
[shillelagh](https://github.com/betodealmeida/shillelagh/), a framework for 
building SQLAlchemy dialects and mapping resources to virtual tables so they 
can be queried via SQL.
   
   With this, users can create a new database using the `superset://` 
SQLAlchemy URI, and use it to write queries like this:
   
   ```sql
   SELECT * FROM "superset.examples.birth_names"
   ```
   
   Queries can also join data from multiple databases.
   
   A few comments:
   
   1. The dialect is somewhat efficient, pushing predicates to the 
corresponding databases whenever possible.
   2. The dialect uses Superset's security manager to prevent users from 
accessing unauthorized databases.
   3. DML is supported, as long as DML is enabled in the `superset://` database 
and all the related databases.
   
   ### BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
   <!--- Skip this if not applicable -->
   
   ![Screenshot_2021-04-16 
Superset(1)](https://user-images.githubusercontent.com/1534870/115163758-b8575300-a05f-11eb-9f9b-45c13e0abaec.png)
   
   ### TEST PLAN
   <!--- What steps should be taken to verify the changes -->
   
   Currently writing unit tests.
   
   ### ADDITIONAL INFORMATION
   <!--- Check any relevant boxes with "x" -->
   <!--- HINT: Include "Fixes #nnn" if you are fixing an existing issue -->
   - [ ] Has associated issue:
   - [ ] Changes UI
   - [ ] Includes DB Migration (follow approval process in 
[SIP-59](https://github.com/apache/superset/issues/13351))
     - [ ] Migration is atomic, supports rollback & is backwards-compatible
     - [ ] Confirm DB migration upgrade and downgrade tested
     - [ ] Runtime estimates and downtime expectations provided
   - [ ] Introduces new feature or API
   - [ ] Removes existing feature or API
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to