Simon Willison
d6de8e7520
Link to save query from /-/execute-write
2026-05-26 15:52:16 -07:00
Simon Willison
e89ffa0e06
Fixed broken test caused by apply_queries_config() rename
2026-05-26 15:37:21 -07:00
Simon Willison
e2864fc895
test_stored_queries.py
2026-05-26 15:21:09 -07:00
Simon Willison
02a1468f1b
Renamed canned queries to queries / stored queries in docs
...
And a few renames in code and YAML as well.
2026-05-26 15:17:51 -07:00
Simon Willison
b1029acc68
top_canned_query is now top_stored_query, closes #2747
2026-05-26 15:05:41 -07:00
Simon Willison
4bf1c4b065
Rename canned queries to queries/stored queries in docs
2026-05-26 14:54:35 -07:00
Simon Willison
0cadd07187
No need to document QueryCreateAnalyzeView
2026-05-26 14:53:31 -07:00
Simon Willison
24887004cf
Rename insert-query to store-query
...
Also queries/insert to queries/store
Refs https://github.com/simonw/datasette/pull/2741#issuecomment-4549103663
2026-05-26 14:51:59 -07:00
Simon Willison
ac6ee097dd
Disallow update/delete of private queries
...
If a user does not own a private query they cannot update
or delete it either, even if they have global update-query.
https://github.com/simonw/datasette/pull/2741/changes#r3306417463
2026-05-26 14:10:48 -07:00
Simon Willison
f7e9dbc27e
Tweaked design of create query page
2026-05-26 14:02:44 -07:00
Simon Willison
5dca2dc9be
Show query count on database page
2026-05-26 13:54:47 -07:00
Simon Willison
6033bf8e40
Merge branch 'main' into queries
2026-05-26 13:51:51 -07:00
Simon Willison
eb7c25c57c
Major redesign of create saved query UI
...
https://github.com/simonw/datasette/pull/2741#issuecomment-4548707129
2026-05-26 13:48:40 -07:00
Simon Willison
0fcaa5792b
Style query operations on create query
...
Made it consistent with the SQL write page.
2026-05-26 13:12:07 -07:00
Simon Willison
71c76e3853
Better faceting on /-/queries
...
Ref https://github.com/simonw/datasette/pull/2741#issuecomment-4548321815
2026-05-26 13:08:19 -07:00
Simon Willison
1ac4265ffd
Require permissions for untrusted stored query execution, refs #2735
2026-05-26 12:12:59 -07:00
Simon Willison
1cd162e9da
Removed some no-longer-necessary code, simplified
...
view-query is back in the default allow actions now. We have
other mechanisms that work for controlling visibility, and
the fact that queries default to running with the permissions
of the actor makes this safe.
2026-05-26 12:07:30 -07:00
Simon Willison
4a1a4d7807
Query is_trusted and is_private properties
...
Refs https://github.com/simonw/datasette/issues/2735#issuecomment-4547270516
Diff explanation: https://gist.github.com/simonw/1e4de6c4b041a51968eb273ee96dec1f
2026-05-26 11:59:49 -07:00
Simon Willison
f1dd86ebfb
Tweak URL designs of new endpoints
2026-05-25 14:05:26 -07:00
Simon Willison
8ab8999ba9
Big visual improvement to /-/queries pages
...
Including /db/-/queries
Refs https://github.com/simonw/datasette/issues/2735#issuecomment-4536860239
2026-05-25 12:56:59 -07:00
Simon Willison
4208ded249
No execute-write on immutable databases
...
Refs https://github.com/simonw/datasette/issues/2742#issuecomment-4536690161
2026-05-25 12:46:21 -07:00
Simon Willison
1f7c26ffea
Refactor to share JS/HTML between execute and execute-write
...
Refs #2742
2026-05-25 12:45:42 -07:00
Simon Willison
de55a76d40
Fix 500 error when accessing query page without ?sql= parameter ( #2744 )
...
Closes #2743
2026-05-25 12:33:57 -07:00
Simon Willison
e1261442c0
Update parameters/query operations as user edits the write query
...
Refs #2742
2026-05-25 12:09:52 -07:00
Simon Willison
66bbbbc947
Support multi-line parameters on /db/-/execute-write
...
Refs https://github.com/simonw/datasette/issues/2742#issuecomment-4536317049
Each paramater input now has an expand/collapse button toggle to turn into a textarea.
If you paste text that includes at least one newline it toggles automatically.
2026-05-25 11:35:09 -07:00
Simon Willison
1bce34a338
If just a single insert, link to row page
...
Refs #2742
2026-05-25 11:22:24 -07:00
Simon Willison
2b5b4ed66b
Much improved "Write to this database" UI
...
- Start with a template option, letting you pick table and operation
- SQL textarea defaults to 4 empty lines at start
- Query operations table is simpler and looks nicer
Refs #2742
2026-05-25 11:11:11 -07:00
Simon Willison
f0b59971f7
Delete unnecessary test
2026-05-25 10:40:00 -07:00
Simon Willison
6eee6c81e8
Add global query browser
...
Refs #2735
2026-05-25 10:24:42 -07:00
Simon Willison
310c36ae94
Limit database query preview to five
...
Refs #2735
2026-05-25 10:18:36 -07:00
Simon Willison
4a70b89355
Add cursor-paginated query browser
...
Refs #2735
2026-05-25 10:11:46 -07:00
Simon Willison
e62a5ea337
Rename query publication flag
...
Refs #2735
2026-05-25 09:46:39 -07:00
Simon Willison
e0d39ba69f
Store query options as JSON
...
Refs #2735
2026-05-25 09:41:32 -07:00
Simon Willison
b7505a9fc2
Add execute write SQL database action
...
Refs #2735
2026-05-25 08:49:18 -07:00
Simon Willison
ef43c10388
Add arbitrary write SQL execution page
...
Refs #2735
2026-05-25 08:30:49 -07:00
Simon Willison
2d77e3334b
Clean up query management test coverage
...
Refs #2735
2026-05-24 23:06:01 -07:00
Simon Willison
040e42ddca
Enforce query ownership and remove canned query hook
...
Refs #2735
2026-05-24 22:58:50 -07:00
Simon Willison
4b5fac9cf7
Add query management API and create UI
...
Refs #2735
2026-05-24 22:52:06 -07:00
Simon Willison
221be2632e
Add query management actions and write analysis
...
Refs #2735
2026-05-24 22:41:56 -07:00
Simon Willison
b4c63966f8
Load saved queries into permission resources
...
Refs #2735
2026-05-24 22:40:22 -07:00
Simon Willison
7e1abd0da4
Add internal query storage APIs
...
Refs #2735
2026-05-24 22:37:34 -07:00
Simon Willison
a855a1acec
Database.analyze_sql(sql) method
...
Experimental, we may need this for the upcoming canned query
work so that we can tell if a user should be able to save
a writable canned query by confirming they have the right
permissions to update the affected tables.
Refs #2735
2026-05-24 22:29:49 -07:00
wheelman
b013aa1f7f
Add CORS headers to /db?sql= query redirect ( #2730 )
...
Closes #2728
2026-05-23 21:21:13 -07:00
Simon Willison
c980234c41
JumpSQL(database=) parameter
...
Refs https://github.com/simonw/datasette/pull/2732#issuecomment-4527304912
2026-05-23 21:00:04 -07:00
Simon Willison
cef6aa85b6
Remove source and source_key columns from JumpSQL
...
Refs https://github.com/simonw/datasette/pull/2732#issuecomment-4527290391
2026-05-23 20:41:32 -07:00
Simon Willison
c73ed1ee4e
Fixed a test I broke
2026-05-23 20:30:56 -07:00
Simon Willison
21a79b34b8
Improvements to Jump SQL columns
...
- Removed database_name and resource_name
- url can now optionally return JSON to reuse datasette.urls. methods
- description is now used as a truncated text description
2026-05-23 20:28:02 -07:00
Simon Willison
0f7e4410c1
Better test name
2026-05-23 17:07:47 -07:00
Simon Willison
be1b5b2b5c
Move debug links into jump menu
2026-05-23 16:57:09 -07:00
Simon Willison
1590444fa3
Simplify by removing _query_display_names_sql
...
See https://github.com/simonw/datasette/pull/2732/changes#r3293627533
2026-05-23 16:42:38 -07:00