Skip to content

Commit fd59fdc

Browse files
committed
Fix spock diff
1 parent 1d863fe commit fd59fdc

File tree

2 files changed

+13
-7
lines changed

2 files changed

+13
-7
lines changed

cli/scripts/ace_cli.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -724,7 +724,7 @@ def run(
724724

725725
ace.schema_diff_checks(sc_task)
726726
ace_db.create_ace_task(task=sc_task)
727-
if ddl_only:
727+
if sc_task.ddl_only:
728728
ace_core.schema_diff_objects(sc_task)
729729
else:
730730
ace_core.multi_table_diff(sc_task)

cli/scripts/ace_core.py

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -604,7 +604,7 @@ def table_diff(td_task: TableDiffTask, skip_all_checks: bool = False):
604604
"mismatch": False,
605605
"errors": [
606606
f"Error during pre-flight checks for table_diff: {str(e_checks)}"
607-
]
607+
],
608608
}
609609
ace.handle_task_exception(td_task, context)
610610
raise
@@ -2791,7 +2791,7 @@ def spock_diff(sd_task: SpockDiffTask) -> None:
27912791

27922792
try:
27932793
for cluster_node in sd_task.fields.cluster_nodes:
2794-
cur = conns[cluster_node["name"]].cursor()
2794+
cur = conns[cluster_node["name"]].cursor(row_factory=dict_row)
27952795

27962796
if (
27972797
sd_task.fields.node_list
@@ -2880,17 +2880,19 @@ def spock_diff(sd_task: SpockDiffTask) -> None:
28802880
if table_info == []:
28812881
hints.append("Hint: No tables in database")
28822882
for table in table_info:
2883-
if table["set_name"] is None:
2883+
if table.get("set_name") is None:
28842884
print(" - Not in a replication set")
28852885
hints.append(
28862886
"Hint: Tables not in replication set might not have"
28872887
" primary keys, or you need to run repset-add-table"
28882888
)
28892889
else:
2890-
print(" - " + table["set_name"])
2890+
print(" - " + table.get("set_name"))
28912891

2892-
diff_spock["rep_set_info"].append({table["set_name"]: table["relname"]})
2893-
print(" - ", table["relname"])
2892+
diff_spock["rep_set_info"].append(
2893+
{table.get("set_name"): table.get("relname")}
2894+
)
2895+
print(" - ", table.get("relname"))
28942896

28952897
diff_spock["hints"] = hints
28962898
compare_spock.append(diff_spock)
@@ -2911,6 +2913,10 @@ def spock_diff(sd_task: SpockDiffTask) -> None:
29112913
print("~~~~~~~~~~~~~~~~~~~~~~~~~")
29122914

29132915
for n in range(1, len(compare_spock)):
2916+
2917+
if compare_spock[n].get("node") is None:
2918+
continue
2919+
29142920
diff_key = compare_spock[0]["node"] + "/" + compare_spock[n]["node"]
29152921
if compare_spock[0]["rep_set_info"] == compare_spock[n]["rep_set_info"]:
29162922
task_context["diffs"][diff_key] = {

0 commit comments

Comments
 (0)