Am I understanding this correctly?
http://docs.datomic.com/transactions.html
You can set :db/txInstant explicitly, overriding the transactor's clock time. When you do, you must choose a :db/txInstant value that is not older than any existing transaction, and not newer than the transactor's clock time. This capability enables initial imports of existing data
Does this mean I can't add facts into datomic that are older than last transaction in a way that the queries as-of will work?
This seems to be a huge restriction. What to do when I interface with other system? For example I may get data about order from yesterday, but clerk only got time to enter it into system today. If somebody entered any facts today I won't be able to add that old data?
Is adding an explicit time attribute and using it in all queries the only option?
Unfortunately, when you have an application-driven notion of time i.e. the "recorded" time at which some event that you are transacting "now" occurred, you also need an application-driven query mechanism. Look at a similar thread in the Datomic google's group.
So the answer is yes, you'll have to explicitly handle that "recorded" time.
Collected from the Internet
Please contact [email protected] to delete if infringement.
Comments