public void write_patch_without_designated_owner() { var func = new FunctionBody(new FunctionName("public", "mt_upsert_target"), new string[0], theFunctionBody); var patch = new SchemaPatch(); var options = new StoreOptions { OwnerName = null }; var diff = new FunctionDiff(func, null); diff.WritePatch(options, patch); patch.UpdateDDL.ShouldNotContain("OWNER TO"); }
public void write_patch_with_designated_owner() { var func = new FunctionBody(new FunctionName("public", "mt_upsert_target"), new string[0], theFunctionBody); var patch = new SchemaPatch(); var options = new StoreOptions { OwnerName = "bill" }; var diff = new FunctionDiff(func, null); diff.WritePatch(options, patch); patch.UpdateDDL.ShouldContain("ALTER FUNCTION public.mt_upsert_target(jsonb, character varying, uuid, uuid) OWNER TO \"bill\";"); }
private List <FunctionDiff> getDiffFunctions(List <Function> functions1, List <Function> functions2, string dbname1, string dbname2) { // Logger DateTime start = DateTime.Now; logger.Info("[ getDiffFunctions ] - start time : " + start.ToString()); List <FunctionDiff> rtn = new List <FunctionDiff>(); functions1.Sort((a, b) => a.name.CompareTo(b.name)); functions2.Sort((a, b) => a.name.CompareTo(b.name)); int pos1 = 0, pos2 = 0; while (pos1 < functions1.Count() && pos2 < functions2.Count()) { Function function1 = functions1[pos1]; Function function2 = functions2[pos2]; if (function1.name == function2.name) { if (!function1.compare(function2)) { FunctionDiff funDiff = new FunctionDiff(function1.name, true); funDiff.different.Add(function1); funDiff.different.Add(function2); rtn.Add(funDiff); } pos1++; pos2++; } else if (function1.name.CompareTo(function2.name) < 0) { FunctionDiff funDiff = new FunctionDiff(function1.name, false); funDiff.different.Add(function1); funDiff.different.Add(new Function(dbname2, function1.name, "", false)); rtn.Add(funDiff); pos1++; } else if (function1.name.CompareTo(function2.name) > 0) { FunctionDiff funDiff = new FunctionDiff(function2.name, false); funDiff.different.Add(new Function(dbname1, function2.name, "", false)); funDiff.different.Add(function2); rtn.Add(funDiff); pos2++; } } while (pos1 < functions1.Count()) { Function function1 = functions1[pos1]; FunctionDiff funDiff = new FunctionDiff(function1.name, false); funDiff.different.Add(function1); funDiff.different.Add(new Function(dbname2, function1.name, "", false)); rtn.Add(funDiff); pos1++; } while (pos2 < functions2.Count()) { Function function2 = functions2[pos2]; FunctionDiff funDiff = new FunctionDiff(function2.name, false); funDiff.different.Add(new Function(dbname1, function2.name, "", false)); funDiff.different.Add(function2); rtn.Add(funDiff); pos2++; } // Logger DateTime end = DateTime.Now; logger.Info("[ getDiffFunctions ] - end time : " + end.ToString() + " ; spend time : " + (end - start).ToString() + "\n"); return(rtn); }