3 ms·
So... Like Datomic? Sometimes the result of function call in Datomic is a copy of the database with the updates applied. It allows you to preview how your tran
by slowmovintarget 3y ago
So... Like Datomic?
Sometimes the result of function call in Datomic is a copy of the database with the updates applied. It allows you to preview how your transaction will affect the data, were that choice to be made. Datalog allows for this kind of return.
Were Postgres to add something like this (and if I'm not inferring too much from the title and commentary here) it wouldn't the first time that the industry took a lesson from Rich Hickey's resurrection of older tech (Datalog).
- shrimpx 3y agoNo. This paper is not about returning a copy of the database with the updates applied. It is about a "normalized join" query type. Edit: clarification.
- deleted 3y ago[deleted]
- erichocean 3y ago> No. It does not return a copy of the database with the updates applied. At first I thought you were talking about Datomic (which does, indeed, "return a copy of the database with updates applied"). But you are talking about the paper, which is about something else apparently. Carry on…
- shrimpx 3y agoThanks I updated to clarify.
- qaq 3y agowell Postgres does not need to do anything you can start a transaction and you have exactly that.
- Fire-Dragon-DoL 3y agoKinda, the transaction works for writes, you would need to set the isolation level to repeatable read or serializable to properly achieve this
- qaq 3y agoSure and Postgres needs no changes for this to work
- Fire-Dragon-DoL 3y agoYes, but there is a performance penalty compared to day to day operations with higher isolation levele
- qaq 3y agoSure and that is the penalty any db returning "a dabase" would pay
- friendzis 3y agoNo, there are performance optimisations when not adhering to "return a database" model
- HelloNurse 3y agoOrdinary "day to day" operations should have the highest possible isolation level, and a few specific operations should run with loose isolation levels after they have been proved to be both necessary for good performance and harmless. Do you prefer to put your data at risk?
- hobofan 3y agoAlso like SPARQL or Cypher or any graph querying language. You may have to squint quite a bit to find table structures in your returned graph, though.