#555: Prevent queries with many thousands of results from being punishingly slow. The number of data points in
the chart now matches the number of data points in the preview pane.
Bugfix: Error messages in Query detail view were floating in the wrong spot
5.1.0 (2024-07-30)
Major improvements:
#647: Upload json files as data sources (in addition to CSV and SQLite files). Both 'normal'
json files, and files structured as a list of json objects (one json object per line) are supported.
#643: Addresses #640 (Snowflake support). Additionally, supports an "extras" field on the
userspace DatabaseConnection object, which allows for arbitrary additional connection
params to get added. This allows engine-specific (or just more obscure) settings to
get injected into the connection.
#644: Dockerfile and docker-compose to run the test_project. Replaces the old start.sh script.
Minor improvements:
#647: In the schema explorer, clicking on a field name copies it to the clipboard
#647: Charts are limited to a maximum of 10 series. This significantly speeds up rendering
This document records all notable changes to SQL Explorer <https://github.com/explorerhq/sql-explorer>.
This project adheres to Semantic Versioning <https://semver.org/>.
5.3.0 (beta)_ (2024-08-29)
[#664](https://github.com/explorerhq/sql-explorer/issues/664)_: Improvements to the AI SQL Assistant:
Table Annotations: Write persistent table annotations with descriptive information that will get injected into the
prompt for the assistant. For example, if a table is commonly joined to another table through a non-obvious foreign
key, you can tell the assistant about it in plain english, as an annotation to that table. Every time that table is
deemed 'relevant' to an assistant request, that annotation will be included alongside the schema and sample data.
Few-Shot Examples: Using the small checkbox on the bottom-right of any saved queries, you can designate certain
queries as 'few shot examples". When making an assistant request, any designated few-shot examples that reference
the same tables as your assistant request will get included as 'reference sql' in the prompt for the LLM.
Autocomplete / multiselect when selecting tables info to send to the SQL Assistant. Much easier and more keyboard
focused.
Relevant tables are added client-side visually, in real time, based on what's in the SQL editor and/or any tables
mentioned in the assistant request. The dependency on sql_metadata is therefore removed, as server-side SQL parsing
is no longer necessary.
Ability to view Assistant request/response history.
Improved system prompt that emphasizes the particular SQL dialect being used.
This should be an invisible change, but represents a significant refactor of how connections function. Instead of a
weird blend of DatabaseConnection models and underlying Django models (which were the original Explorer
connections), this migrates all connections to DatabaseConnection models and implements proper foreign keys to them
on the Query and QueryLog models. A data migration creates new DatabaseConnection models based on the configured
settings.EXPLORER_CONNECTIONS. Going forward, admins can create new Django-backed DatabaseConnection models by
registering the connection in EXPLORER_CONNECTIONS, and then creating a DatabaseConnection model using the Django
admin or the user-facing /connections/new/ form, and entering the Django DB alias and setting the connection type
to "Django Connection".
The Query.connection and QueryLog.connection fields are deprecated and will be removed in a future release. They
are kept around in this release in case there is an unforeseen issue with the migration. Preserving the fields for
now ensures there is no data loss in the event that a rollback to an earlier version is required.
Fixed a bug when validating connections to uploaded files. Also added basic locking when downloading files from S3.
Keyboard shortcut for formatting the SQL in the editor.
Cmd+Shift+F (Windows: Ctrl+Shift+F)
The format button has been moved tobe a small icon towards the bottom-right of the SQL editor.
You can trigger a rebase of this PR by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.
Bumps django-sql-explorer[charts] from 4.2 to 5.2.
Release notes
Sourced from django-sql-explorer[charts]'s releases.
... (truncated)
Changelog
Sourced from django-sql-explorer[charts]'s changelog.
... (truncated)
Commits
26c33ac
5.2.05eb509b
prep 5.2b1 (#663)3183d5e
issue 661 - dockerfile permissions (#662)1ddb6e8
automatically expand everything on search (#659)e68c55f
docs updated841549d
Append option for uploads (#651)3546dbf
5.1.1 (#656)f15a171
5.1.1 (#655)5bb7c16
limit chart data by schemac2ac5c6
5.1 final (#652)You can trigger a rebase of this PR by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show