@grishka go to that file and line in the lemmy code (at the right version), and you will see it.
Top-level
7 comments
@felix ah yes it is. I also present comments as a tree and I wanted to be able to select a subtree from any level, so I did a very cursed thing with "reply keys": https://github.com/grishka/Smithereen/blob/master/src/main/java/smithereen/data/Post.java#L73 It's an array of all parent post IDs serialized as int32s that I store in a database column. There's an index on it and I can select all posts with a certain prefix using LIKE BINARY. @grishka i'm not sure what the code does, but storing the parent post for each comment seems totally normal, we are doing the same thing. though @dessalines wants to change that, apparently there is support in postgres for storing tree relations directly or something like that (but quite complicated). @grishka @dessalines seeing that code formatting makes me really happy that Rust has auto-formatting :p We dont send the entire reply chain, only the ID of the parent post and the immediate parent comment, if it exists. Further parent comments are fetched one by one after that. |
@felix it didn't become any clearer 🤔
The fact that I don't know Rust beyond https://fasterthanli.me/articles/a-half-hour-to-learn-rust doesn't help either.