A SQL console UI Allows the user to run SQL on the client side
As a user with SQL skills, I want to execute SQL queries on tabular data files without downloading them first. The execution of the SQL query should be done in the web browser, so there is no need to install any software to access this feature.
This feature also supports the LLM-driven tabular data analysis feature
Acceptance Criteria
Click any of the "SQL Console" buttons of any distribution (data file) to open the SQL console in the bottom "drawer" area.
User can also open this feature on any page by pressing "ctrl" (or "command" key on mac) + "shift" + "s".
Press again to close the drawer
Users can use function TXT, CSV, TSV/TAB/, XLS, XLSX, HTML or JSON with the full URL of the remote data source in SQL to load the remote data source and use it as the query table (source).
Users can also use the function SOURCE with distribution ID to load a dataset distribution as the remote data source in SQL
The SOURCE function also accepts the following special values:
string "this" or no value: represents the current selected distribution. e.g. SELECT * FROM SOURCE("this") or SELECT * FROM SOURCE()
a number larger or equal to 0: represents nth distribution on the current page. e.g. SELECT * FROM SOURCE(0)
You can write the SOURCE function in lowercase as well. e.g. SELECT * FROM source()
Technical Notes
We will use AlaSQL as the in-browser SQL execution engine.
A SQL console UI Allows the user to run SQL on the client side
As a user with SQL skills, I want to execute SQL queries on tabular data files without downloading them first. The execution of the SQL query should be done in the web browser, so there is no need to install any software to access this feature.
Acceptance Criteria
SOURCE
with distribution ID to load a dataset distribution as the remote data source in SQLSOURCE
function also accepts the following special values:SELECT * FROM SOURCE("this")
orSELECT * FROM SOURCE()
SELECT * FROM SOURCE(0)
SOURCE
function in lowercase as well. e.g.SELECT * FROM source()
Technical Notes
We will use AlaSQL as the in-browser SQL execution engine.