Hello!
The test result is:
ANALYZE
{SELECT idx, stat FROM 'main'.sqlite_stat1}
{SELECT idx,sampleno,sample FROM 'main'.sqlite_stat2}
VACUUM
{ATTACH '' AS vacuum_db;}
{BEGIN EXCLUSIVE;}
{SELECT 'CREATE TABLE vacuum_db.' || substr(sql,14) FROM sqlite_master WHERE
type='table' AND name!='sqlite_sequence' AND rootpage>0}
{CREATE TABLE vacuum_db.events (id INTEGER PRIMARY KEY,value INTEGER)}
{CREATE TABLE vacuum_db.sqlite_stat1(tbl,idx,stat)}
{CREATE TABLE vacuum_db.sqlite_stat2(tbl,idx,sampleno,sample)}
{SELECT 'CREATE INDEX vacuum_db.' || substr(sql,14) FROM sqlite_master WHERE
sql LIKE 'CREATE INDEX %' }
{CREATE INDEX vacuum_db.events_value_idx ON events(value)}
{SELECT 'CREATE UNIQUE INDEX vacuum_db.' || substr(sql,21) FROM sqlite_master
WHERE sql LIKE 'CREATE UNIQUE INDEX %'}
{SELECT 'INSERT INTO vacuum_db.' || quote(name) || ' SELECT * FROM main.' ||
quote(name) || ';'FROM main.sqlite_master WHERE type = 'table' AND
name!='sqlite_sequence' AND rootpage>0}
{INSERT INTO vacuum_db.'events' SELECT * FROM main.'events';}
{INSERT INTO vacuum_db.'sqlite_stat1' SELECT * FROM main.'sqlite_stat1';}
{INSERT INTO vacuum_db.'sqlite_stat2' SELECT * FROM main.'sqlite_stat2';}
{SELECT 'DELETE FROM vacuum_db.' || quote(name) || ';' FROM
vacuum_db.sqlite_master WHERE name='sqlite_sequence' }
{SELECT 'INSERT INTO vacuum_db.' || quote(name) || ' SELECT * FROM main.' ||
quote(name) || ';' FROM vacuum_db.sqlite_master WHERE name=='sqlite_sequence';}
{INSERT INTO vacuum_db.sqlite_master SELECT type, name, tbl_name, rootpage,
sql FROM main.sqlite_master WHERE type='view' OR type='trigger' OR
(type='table' AND rootpage=0)}
As you can see internal system queries are visualized too. It's may be useful
for developers but very bad for users becouse it's impossible to log only
user-applied queries.
The test script:
#!/usr/bin/tclsh8.5
package require sqlite3
sqlite3 db trace.db
proc trace {args} {
puts "$args"
return SQLITE_OK
}
db trace trace
db eval {ANALYZE}
db eval {VACUUM}
db close
Best regards, Alexey Pechnikov.
http://pechnikov.tel/
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users