{
HeapTuple op_tuple = &catlist->members[i]->tuple;
Form_pg_amop op_form = (Form_pg_amop) GETSTRUCT(op_tuple);
- IndexAmRoutine *amroutine = GetIndexAmRoutineByAmId(op_form->amopmethod, false);
- if (amroutine->amconsistentequality)
+ /*
+ * op_in_opfamily() is cheaper than GetIndexAmRoutineByAmId(), so
+ * check it first
+ */
+ if (op_in_opfamily(opno2, op_form->amopfamily))
{
- if (op_in_opfamily(opno2, op_form->amopfamily))
+ IndexAmRoutine *amroutine = GetIndexAmRoutineByAmId(op_form->amopmethod, false);
+
+ if (amroutine->amconsistentequality)
{
result = true;
break;
{
HeapTuple op_tuple = &catlist->members[i]->tuple;
Form_pg_amop op_form = (Form_pg_amop) GETSTRUCT(op_tuple);
- IndexAmRoutine *amroutine = GetIndexAmRoutineByAmId(op_form->amopmethod, false);
- if (amroutine->amcanorder && amroutine->amconsistentordering)
+ /*
+ * op_in_opfamily() is cheaper than GetIndexAmRoutineByAmId(), so
+ * check it first
+ */
+ if (op_in_opfamily(opno2, op_form->amopfamily))
{
- if (op_in_opfamily(opno2, op_form->amopfamily))
+ IndexAmRoutine *amroutine = GetIndexAmRoutineByAmId(op_form->amopmethod, false);
+
+ if (amroutine->amcanorder && amroutine->amconsistentordering)
{
result = true;
break;