X-Git-Url: http://plrg.eecs.uci.edu/git/?p=repair.git;a=blobdiff_plain;f=Repair%2FRepairCompiler%2FMCC%2FIR%2FImplicitSchema.java;h=f229334e87696c791017656abd7e88e21d4ff65a;hp=1be006833b5a50bd199929d0175afd9f8a17e376;hb=fcb08dbb9564da3732dd8b0cbf0088d0f9826541;hpb=0ddd66cf596f161886dc67214f3fb2e19f6f7168 diff --git a/Repair/RepairCompiler/MCC/IR/ImplicitSchema.java b/Repair/RepairCompiler/MCC/IR/ImplicitSchema.java index 1be0068..f229334 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 { @@ -7,11 +9,13 @@ public class ImplicitSchema { SetAnalysis setanalysis; public ImplicitSchema(State state) { this.state=state; - this.setanalysis=new SetAnalysis(state); + this.setanalysis=state.setanalysis; } public void update() { - // updaterules(); + if (Compiler.REPAIR) { + updaterules(); + } updateconstraints(); updaterelationconstraints(); } @@ -23,6 +27,11 @@ public class ImplicitSchema { boolean needDR(RelationDescriptor rd,boolean isdomain) { Vector rules=state.vRules; SetDescriptor sd=isdomain?rd.getDomain():rd.getRange(); + if (sd instanceof ReservedSetDescriptor) + return false; + + /* See if there is a rule that adds the corresponding range or domain + of the relation to the correct set */ for(int i=0;i