Hello people,

why is it that I can look at the ".schema" of a db with the sqlite3
command line tool, but can't drop a table or view? After all, if the
db file weren't open, I couldn't even see the schema.

My problem is that I've written an app that uses views to access data.
After usage, I don't want those views no more. Unfortunately I can't
DROP them, so I create more and more views with different names and
keep littering my db with an increasing number of usesless views that
I can't delete.

CREATE TEMPORARY VIEW produces an "unable to open database file" error as well.

I'm up a bit of a stump here because re-creating the database (which
contains millions of lines but is only about 140M total file size)
takes about a week.

Here's a screenshot that should tell the whole story. I happened to
try to drop a table, but it really doesn't matter what I drop.

$ sqlite3.exe clhist.sqlite
SQLite version 3.5.1
Enter ".help" for instructions
sqlite> .schema
CREATE TABLE Batches (
    Id TEXT PRIMARY KEY,
    Moves_V1 INTEGER,
    Moves_V2 INTEGER,
    Moves_V3 INTEGER,
    Moves_V4 INTEGER,
    Moves_V5 INTEGER,
    Moves_R1 INTEGER,
    Moves_R2 INTEGER,
    Moves_R3 INTEGER,
    Moves_R4 INTEGER,
    Moves_R5 INTEGER
);
CREATE TABLE Logs (
    Shortname TEXT PRIMARY KEY,
    Status INTEGER
);
CREATE TABLE Modules (
    Name TEXT
);
CREATE TABLE Moves (
    Batch TEXT,
    SlotNo INTEGER,
    Tool TEXT,
    Module TEXT,
    TimeStart INTEGER,
    Duration INTEGER,
    ZipDate TEXT
);
CREATE TABLE Tools (
    Name TEXT
);
CREATE VIEW "B470330" AS SELECT * FROM Moves WHERE Batch="470330";
CREATE VIEW BatchMoves AS SELECT * FROM Moves WHERE Batch="P";
CREATE VIEW "R1" AS SELECT * FROM "B470330" WHERE Tool="R1";
CREATE INDEX MovesBatch ON Moves(Batch);
sqlite> DROP TABLE "Batches" ;
SQL error: unable to open database file
sqlite> .quit
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to