logoalt Hacker News

zabzonktoday at 10:39 AM1 replyview on HN

Well, you can do it efficiently as you like, but if the data is to be historically accurate on a writeable table then if we are recording

    SELECT * FROM foobar
it is likely to require a copy of foobar at the time of the query, or doing amazing things with the transaction log. I agree this would be a programming tour de force, but I question its utility.

Replies

rbanffytoday at 10:56 AM

Punishing someone for returning all rows in a large table is a feature, not a bug. ;-)

Having all state preserved at any given point in time is also useful in itself. It costs almost nothing if the table doesn’t change, and continuous point-in-time query capability can be extremely useful.

Access audits, when important, are very important. I’d be fine with the system blocking access after someone tries to return all lines in a table, even if only for the reason it might be someone trying to export data without a good reason.