X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=Repair%2FRepairCompiler%2FMCC%2FIR%2FImplicitSchema.java;h=4e34613b6feb95d3ca510c2c704ec631910ac048;hb=229b87c0fc246ff47b913673d33631a578dd5c3b;hp=8d619470d1ed42d8cfb6981be9f103f03341027c;hpb=30816378d0198b3cdeac43ad5bf80df3b7646406;p=repair.git diff --git a/Repair/RepairCompiler/MCC/IR/ImplicitSchema.java b/Repair/RepairCompiler/MCC/IR/ImplicitSchema.java index 8d61947..4e34613 100755 --- a/Repair/RepairCompiler/MCC/IR/ImplicitSchema.java +++ b/Repair/RepairCompiler/MCC/IR/ImplicitSchema.java @@ -1,5 +1,7 @@ package MCC.IR; import MCC.State; +import MCC.Compiler; + import java.util.*; public class ImplicitSchema { @@ -11,38 +13,233 @@ public class ImplicitSchema { } public void update() { - updaterules(); + if (Compiler.REPAIR) { + updaterules(); + } updateconstraints(); updaterelationconstraints(); } + boolean needDomain(RelationDescriptor rd) { + return needDR(rd, true); + } + + boolean needDR(RelationDescriptor rd,boolean isdomain) { + Vector rules=state.vRules; + SetDescriptor sd=isdomain?rd.getDomain():rd.getRange(); + if (sd instanceof ReservedSetDescriptor) + return false; + for(int i=0;i