> Alternatively, you can use the new GENERATED ALWAYS AS (...) STORED to make > it an automatically updated stored field and you do not need triggers at all, > just a version of SQLite3 that does generated columns (version 3.31.0 from > 2020-01-22 or later). > > create table MyData > ( > id integer primary key, > data, > lastupdate real as (julianday()) stored > );
I thought that generated columns could only use deterministic functions? https://www.sqlite.org/gencol.html "2.3. Limitations ... 3. The expression of a generated column may only reference constant literals and columns within the same row, and may only use scalar deterministic functions. The expression may not use subqueries, aggregate functions, window functions, or table-valued functions. ..." https://www.sqlite.org/deterministic.html "3. Special-case Processing For Date/Time Functions The built-in date and time functions of SQLite are a special case. These functions are usually considered deterministic. However, if these functions use the string "now" as the date, or if they use the localtime modifier or the utc modifier, then they are considered non-deterministic. Because the function inputs are not necessarily known until run-time, the date/time functions will throw an exception if they encounter any of the non-deterministic features in a context where only deterministic functions are allowed." So is "julianday('now')" non-deterministic while "julianday()" _is_ deterministic? That seems a little weird considering they're the same thing... right? _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users