I noticed that << and >> are not marked as commutator operators, though a naive view of their semantics suggests they should be. However, I realized that there might be edge cases I wasn't thinking about, so I went looking in the patch to try to confirm this. And I found neither a single line of documentation about it, nor a single comment in that hairy little nest of unobvious tests that calls itself range_cmp_bounds. I am of the opinion that that routine not only requires a comment, but very possibly a comment longer than the routine itself. What's more, if it's this complicated to code, surely it would be a good idea for the user-facing documentation to explain exactly what we think before/after mean?
In general, the level of commenting in the rangetypes code seems far short of what I'd consider acceptable for Postgres code. I plan to fix some of that myself, but I do not wish to reverse-engineer what the heck range_cmp_bounds thinks it's doing. regards, tom lane -- Sent via pgsql-hackers mailing list (email@example.com) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers