Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | Add a pre-packaged CONFIG table query to the administrator SQL interface. |
|---|---|
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
6a679311bba2a26e01b1500ac5f4f673 |
| User & Date: | drh 2017-07-03 20:04:27.646 |
Context
|
2017-07-03
| ||
| 23:18 | Do not show checkouts with the "info -v" command or in the /urllist webpage if the checkout does not appear to exist any more. check-in: c666579cf5 user: drh tags: trunk | |
| 20:04 | Add a pre-packaged CONFIG table query to the administrator SQL interface. check-in: 6a679311bb user: drh tags: trunk | |
| 19:07 | On the text descriptions of the various administrator settings, identify the property in the CONFIG table that is being modified. check-in: 3ca935ef55 user: drh tags: trunk | |
Changes
Changes to src/setup.c.
| ︙ | ︙ | |||
1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 |
add_content_sql_commands(g.db);
db_begin_transaction();
style_header("Raw SQL Commands");
@ <p><b>Caution:</b> There are no restrictions on the SQL that can be
@ run by this page. You can do serious and irrepairable damage to the
@ repository. Proceed with extreme caution.</p>
@
@ <p>Only the first statement in the entry box will be run.
@ Any subsequent statements will be silently ignored.</p>
@
@ <p>Database names:<ul><li>repository
if( g.zConfigDbName ){
@ <li>configdb
}
if( g.localOpen ){
@ <li>localdb
}
@ </ul></p>
@
@ <form method="post" action="%s(g.zTop)/admin_sql">
login_insert_csrf_secret();
@ SQL:<br />
| > > > > > > > > > > > > > > > | > | | 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 |
add_content_sql_commands(g.db);
db_begin_transaction();
style_header("Raw SQL Commands");
@ <p><b>Caution:</b> There are no restrictions on the SQL that can be
@ run by this page. You can do serious and irrepairable damage to the
@ repository. Proceed with extreme caution.</p>
@
#if 0
@ <p>Only the first statement in the entry box will be run.
@ Any subsequent statements will be silently ignored.</p>
@
@ <p>Database names:<ul><li>repository
if( g.zConfigDbName ){
@ <li>configdb
}
if( g.localOpen ){
@ <li>localdb
}
@ </ul></p>
#endif
if( P("configtab") ){
/* If the user presses the "CONFIG Table Query" button, populate the
** query text with a pre-packaged query against the CONFIG table */
zQ = "SELECT\n"
" CASE WHEN length(name)<50 THEN name ELSE printf('%.50s...',name) END AS name,\n"
" CASE WHEN typeof(value)<>'blob' AND length(value)<80 THEN value\n"
" ELSE '...' END AS value,\n"
" datetime(mtime, 'unixepoch') AS mtime\n"
"FROM config\n"
"-- ORDER BY mtime DESC; -- optional";
go = 1;
}
@
@ <form method="post" action="%s(g.zTop)/admin_sql">
login_insert_csrf_secret();
@ SQL:<br />
@ <textarea name="q" rows="8" cols="80">%h(zQ)</textarea><br />
@ <input type="submit" name="go" value="Run SQL">
@ <input type="submit" name="schema" value="Show Schema">
@ <input type="submit" name="tablelist" value="List Tables">
@ <input type="submit" name="configtab" value="CONFIG Table Query">
@ </form>
if( P("schema") ){
zQ = sqlite3_mprintf(
"SELECT sql FROM repository.sqlite_master WHERE sql IS NOT NULL ORDER BY name");
go = 1;
}else if( P("tablelist") ){
zQ = sqlite3_mprintf(
"SELECT name FROM repository.sqlite_master WHERE type='table'"
" ORDER BY name");
go = 1;
}
|
| ︙ | ︙ |