[Developer] #567 show recent SQL cursor candidates
This commit is contained in:
@@ -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 -> "권한에 따라 데이터를 볼 수 있습니다.";
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.cloudhandson.vpdbackoffice.domain.probe;
|
||||
|
||||
/**
|
||||
* One of the most recently active database cursors shown verbatim during a
|
||||
* probe. The match flag is calculated in Java, not by SQL text filtering in
|
||||
* the database.
|
||||
*/
|
||||
public record SqlExecutionCandidate(
|
||||
String sqlId,
|
||||
int childNumber,
|
||||
String parsingSchema,
|
||||
String originalSql,
|
||||
String lastActiveAt,
|
||||
boolean matchesProtectedObject
|
||||
) {
|
||||
}
|
||||
Reference in New Issue
Block a user