dynamobi/dynamobi — Issue #804: [FRG-66] VolcanoCost.isLe does not impose a total order
Author: dynamobi-build
Created: 2011-12-30 03:49:53+00:00
State: open
Labels: FRG, Volcano Planner

[reporter="jvs", created="Thu, 9 Mar 2006 16:28:34 -0500 (GMT-05:00)"]
Here's the code:

public boolean isLe(RelOptCost other)

{

VolcanoCost that = (VolcanoCost) other;

return (this == that)

|| ((this.dRows <= that.dRows) && (this.dCpu <= that.dCpu)

&& (this.dIo <= that.dIo));

}

Suppose I have costA(dRows=2,dCpu=3,dIo=4) and costB(dRows=2,dCpu=4,dIo=3).

The result of costA.isLe(costB) is false. But so is the result of costB.isLe(costA).

I expected that Volcano would want a total order instead; is that incorrect?