[Developer] #567 show recent SQL cursor candidates

This commit is contained in:
devmrko
2026-07-01 15:11:25 +09:00
parent d301e4dad1
commit b39968d43f
8 changed files with 127 additions and 15 deletions

View File

@@ -18,7 +18,8 @@ public record ProbeResult(
String vpdPredicate,
String effectiveSql,
SqlExecutionEvidence executionEvidence,
String executionEvidenceMessage
String executionEvidenceMessage,
List<SqlExecutionCandidate> executionCandidates
) {
public ProbeResult(
@@ -49,7 +50,8 @@ public record ProbeResult(
null,
null,
null,
null
null,
List.of()
);
}
@@ -83,7 +85,8 @@ public record ProbeResult(
vpdPredicate,
effectiveSql,
null,
null
null,
List.of()
);
}
@@ -139,7 +142,8 @@ public record ProbeResult(
predicate,
sql,
executionEvidence,
executionEvidenceMessage
executionEvidenceMessage,
executionCandidates
);
}
@@ -151,6 +155,14 @@ public record ProbeResult(
public ProbeResult withExecutionEvidence(
SqlExecutionEvidence evidence,
String unavailableMessage
) {
return withExecutionEvidence(evidence, unavailableMessage, List.of());
}
public ProbeResult withExecutionEvidence(
SqlExecutionEvidence evidence,
String unavailableMessage,
List<SqlExecutionCandidate> candidates
) {
return new ProbeResult(
status,
@@ -167,10 +179,15 @@ public record ProbeResult(
vpdPredicate,
effectiveSql,
evidence,
unavailableMessage
unavailableMessage,
candidates == null ? List.of() : List.copyOf(candidates)
);
}
public boolean hasExecutionCandidates() {
return executionCandidates != null && !executionCandidates.isEmpty();
}
public String title() {
return switch (status) {
case SUCCESS -> "권한에 따라 데이터를 볼 수 있습니다.";