SELECT (SELECT COUNT() FROM todos WHERE completed = 0) AS activeCount, (SELECT EXISTS (SELECT 1 FROM todos WHERE completed = 1)) as hasCompleted, (SELECT EXISTS (SELECT 1 FROM todos)) as hasAny
SELECT rowid, title, completed FROM todos
COMMIT
INSERT INTO todos (title, completed) VALUES ('Write notes on fluid dynamics.', 0)
INSERT INTO todos (title, completed) VALUES ('Experiment with new painting techniques.', 0)
INSERT INTO todos (title, completed) VALUES ('Research the mechanics of bird flight.', 1)
INSERT INTO todos (title, completed) VALUES ('Finish sketch of the Last Supper.', 1)
INSERT INTO todos (title, completed) VALUES ('Design a new flying machine concept.', 1)
BEGIN
SELECT EXISTS (SELECT 1 FROM todos)
CREATE TEMPORARY TRIGGER update_completed_trigger AFTER UPDATE OF completed ON todos WHEN old.completed <> new.completed BEGIN SELECT updated_completed_fn(new.rowid, new.completed); END
CREATE TEMPORARY TRIGGER update_title_trigger AFTER UPDATE OF title ON todos WHEN old.title <> new.title BEGIN SELECT updated_title_fn(new.rowid, new.title); END
CREATE TEMPORARY TRIGGER delete_trigger AFTER DELETE ON todos BEGIN SELECT deleted_item_fn(old.rowid); END
CREATE TEMPORARY TRIGGER insert_trigger AFTER INSERT ON todos BEGIN SELECT inserted_item_fn(new.rowid, new.title, new.completed); END
CREATE INDEX IF NOT EXISTS completed_index ON todos (completed);
CREATE TABLE IF NOT EXISTS todos ( title TEXT NOT NULL, completed INTEGER NOT NULL DEFAULT 0, CHECK (title <> ''), CHECK (completed IN (0, 1)) );