public string ToQueryPlan() { var writer = new StringWriter(); writer.Write(IsUnique ? "unique " : "non-unique "); writer.Write("hash={"); IndexedPropDesc.ToQueryPlan(writer, HashIndexedProps); writer.Write("} btree={"); IndexedPropDesc.ToQueryPlan(writer, RangeIndexedProps); writer.Write("} advanced={"); writer.Write(AdvancedIndexDesc == null ? "" : AdvancedIndexDesc.ToQueryPlan()); writer.Write("}"); return writer.ToString(); }
public CodegenExpression Make( CodegenMethodScope parent, CodegenClassScope classScope) { var method = parent.MakeChild(typeof(IndexMultiKey), GetType(), classScope); var hashes = IndexedPropDesc.MakeArray(HashIndexedProps); var ranges = IndexedPropDesc.MakeArray(RangeIndexedProps); var advanced = AdvancedIndexDesc == null ? ConstantNull() : AdvancedIndexDesc.CodegenMake(parent, classScope); method.Block.MethodReturn(NewInstance<IndexMultiKey>(Constant(IsUnique), hashes, ranges, advanced)); return LocalMethod(method); }