http://fossil-scm.org/index.html/timeline?t=andygoth-branch-list
I'm merging the two branch list implementations, but the two baseline SQL queries sometimes disagree over branches being open or closed. For Fossil, the problem branches are: docker experimental mistake pending-review skin-blitz ssl_platform_fixes These branches have both open and closed leaves. The branch ls command shows them as open, as does http://fossil-scm.org/index.html/brlist?open. Yet http://fossil-scm.org/index.html/brlist (no query parameters) shows them as closed. If I understand correctly, the baseline branch ls query defines a closed branch as having no leaves not referenced by closed tags. The baseline "new" /brlist query instead checks whether "the" check-in is referenced by a closed tag. Which check-in? Hard to say. GROUP BY doesn't define which row is used to evaluate the result expressions. Maybe ORDER BY has something to do with it, but I see no written guarantee of this being the case. My interim solution is rewriting the closed expression to be a function of the argument to GROUP BY, not anything that varies within the group. I suppose you could call it quasi-aggregate. This gives consistent results but is also vastly slower, taking 1.8 seconds instead of 33 milliseconds. How to proceed? The other non-aggregate result expressions need attention too. For reference, here are the baseline queries: http://fossil-scm.org/index.html/artifact/3325eb2da843262b57bfebdcedeb5ba6983b4801?txt=1&ln=204-242+312-336 http://fossil-scm.org/index.html/artifact/1057c3a87c455020b6f8df483ca2241e20ea20c7?txt=1&ln=148-156 -- Andy Goth | <andrew.m.goth/at/gmail/dot/com>
signature.asc
Description: OpenPGP digital signature
_______________________________________________ fossil-dev mailing list fossil-dev@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/fossil-dev