Fork me on GitHub
#xtdb
<
2021-04-09
>
refset11:04:25

^ I can confirm that Crux will not be switching to use "record time" and "actual time" in the next release 🙂

😅 9
clojure-spin 6
Steven Deobald16:04:54

@ordnungswidrig I'd contend that the argument is "laziness" as much as "performance". 🙂 In my case, the system I'm building is known to require bitemporality at some unspecified point in the future. We're dealing with many layers of facts — contemporary researchers who are researching the literary research of monks from 100s of years ago, who themselves wrote documents known as "sub-commentaries" which are themselves commentaries on commentaries, written by monks 1000s of years ago, which are commentaries on the source material originating ~2000 years ago. Looking at that domain, a person can pretty clearly imagine someone asking the question "who knew what, and when?" but it's not a question anyone is likely to ask for years. I swapped Crux in where I used to have Neo4j (yay property graphs) and I use it in almost the exact same way. But the moment a user needs to attach "as-of" data to one of the records, there is a seamless way to do that, even if a corresponding query hasn't emerged yet. With a bitemp database, I know when that day inevitably comes I won't be scrambling to apply valid-time and tx-time columns to all my tables because the system has happily (but invisibly) recorded them on my behalf the whole way along. It's nice that I can trust Crux to do the efficient thing, but my system is slow and boring — I'm much happier that it's doing the automatic thing.

☝️ 6
ordnungswidrig18:04:58

Which is in violation of the KISS principle. I would do the same, though.

allandaviesza21:04:59

Hi, I'm pretty new to Crux, forgive me if this has been answered many times already. Seeing as I need to transact a whole document to update a field, what is the common practice to query whole documents in the first place? If I do a query and end up with a bunch of document id's, whats the most common way of turning all of those in to complete documents? I see the pull syntax, but I don't want to specify all of the document keys all of the time, I see the entity function, but that only allows me to grab one at a time. How would I convert [:id1 :id2 :id3] to a vector of 3 full documents?

nivekuil22:04:58

you can use [ďżą*ďżą] as the pull key to get all the keys, I believe that's the canonical way to do it

🙏 6
allandaviesza06:04:54

is that in the docs, how could I have missed it? I even checked the EQL docs, anyway, thanks a lot I'll give it a try!

Steven Deobald16:04:20

@U0L5T5DHP It's at the very bottom of the pull docs... Maybe we should move it to the top, since it's probably the first desired case for most people. 🙂

allandaviesza05:04:21

I see it now, so obvious. thanks 🙂