I know that SQLite does not currently implement these things but I'm curious if anyone else wants them and how hard they would be to implement.
I have what you might consider to be a computed column. You might imagine CREATE TABLE readings (timestamp TEXT PRIMARY KEY, a REAL, b REAL, c REAL) and I constantly need to evaluate pressure = 20+(a+b)/(c+c) What I really want from SQLite is to support computed columns. I don't really care which syntax is used but perhaps CREATE TABLE readings (timestamp TEXT PRIMARY KEY, a REAL, b REAL, c REAL, (20+(a+b)/(c+c)) AS pressure) ... or perhaps ... CREATE TABLE readings (timestamp TEXT PRIMARY KEY, a REAL, b REAL, c REAL, pressure = (20+(a+b)/(c+c))) One can then, of course, do CREATE INDEX r_tp ON readings (timestamp,pressure DESC) That's my ideal. Second choice would be to be able to create an index on a VIEW: CREATE TABLE readings (timestamp TEXT PRIMARY KEY, a REAL, b REAL, c REAL); CREATE VIEW r_t_p (timestamp,pressure) AS SELECT timestamp,(20+(a+b)/(c+c)) FROM readings; CREATE INDEX r_tp ON VIEW r_t_p (timestamp, pressure DESC) At the moment I have to simulate the above abilities by creating both the VIEW and an index with a calculated column independently, and even after that I have to do two fetches to get the row of data I need. Surely I'm not alone in thinking that since SQLite now implements expressions in indexes computed columns are a natural addition to SQLite at this time ? Simon.