Tom Lane <[email protected]> 于2025年9月20日周六 00:16写道:
> Tender Wang <[email protected]> writes: > > While working on another issue, I stepped into > match_orclause_to_indexcol(). > > I found below codes: > > > /* Only the operator returning a boolean suit the transformation. */ > > if (get_op_rettype(opno) != BOOLOID) > > break; > > I don't understand what purpose this check serves at all. > We are looking at an arm of an OR clause, so it had better > yield boolean. > Yeah, this check doesn't need any more. I removed this check in the attached patch. In match_index_to_operand(), the indexExpr has been ignored, so I removed below check, too. - if (IsA(indexExpr, RelabelType)) - indexExpr = (Node *) ((RelabelType *) indexExpr)->arg; > If anything, this is actively wrong, because for example it'd > reject a polymorphic operator that yields boolean in-context. > > In general, this code looks like a mess. There are a lot of > Asserts that might be okay in development but probably should > not have got committed, and the comments need work. > These assertions were removed by me, too. I didn’t modify these code comments since English isn’t my native language, and I’d appreciate your help with them. -- Thanks, Tender Wang
0001-Remove-some-asserts.patch
Description: Binary data
