diff --git a/docs/plugin_hooks.rst b/docs/plugin_hooks.rst index 3ada41e251..62062bfded 100644 --- a/docs/plugin_hooks.rst +++ b/docs/plugin_hooks.rst @@ -1561,10 +1561,10 @@ This example adds a new query action linking to a page for explaining a query: return [ { "href": datasette.urls.database(database) - + "/-/explain?" + + "?" + urllib.parse.urlencode( { - "sql": sql, + "sql": "explain " + sql, } ), "label": "Explain this query", diff --git a/tests/plugins/my_plugin.py b/tests/plugins/my_plugin.py index f96441cba2..650cc57db1 100644 --- a/tests/plugins/my_plugin.py +++ b/tests/plugins/my_plugin.py @@ -401,8 +401,12 @@ def query_actions(datasette, database, query_name, sql): return [ { "href": datasette.urls.database(database) - + "/-/explain?" - + urllib.parse.urlencode(args), + + "?" + + urllib.parse.urlencode( + { + "sql": "explain " + sql, + } + ), "label": "Explain this query", }, ] diff --git a/tests/test_plugins.py b/tests/test_plugins.py index 86208371b8..4620af5155 100644 --- a/tests/test_plugins.py +++ b/tests/test_plugins.py @@ -949,10 +949,10 @@ def get_table_actions_links(html): @pytest.mark.parametrize( "path,expected_url", ( - ("/fixtures?sql=select+1", "/fixtures/-/explain?sql=select+1"), + ("/fixtures?sql=select+1", "/fixtures?sql=explain+select+1"), ( "/fixtures/pragma_cache_size", - "/fixtures/-/explain?sql=PRAGMA+cache_size%3B&query_name=pragma_cache_size", + "/fixtures?sql=explain+PRAGMA+cache_size%3B", ), ), )