Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[tools] Tool failures #9611

Open
wants to merge 10 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -34,3 +34,4 @@ SQL/Archive/autogenerated/*.sql
VERSION
.DS_Store
.eslintcache
tools/logs
2 changes: 1 addition & 1 deletion php/libraries/NDB_BVL_Feedback.class.inc
Original file line number Diff line number Diff line change
Expand Up @@ -726,7 +726,7 @@ class NDB_BVL_Feedback
$setArray = array_merge(
$setArray,
[
"CommentID" => $this->_feedbackObjectInfo['CommentID'],
"CommentID" => $this->_feedbackObjectInfo['CommentID'] ?? "",
"SessionID" => $feedbackInfo['SessionID'],
"CandidateID" => $candidateID,
"Feedback_level" => "instrument",
Expand Down
2 changes: 1 addition & 1 deletion tools/assign_missing_instruments.php
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ function populateVisitLabel($result, $visit_label)

if (isset($visit_label)) {
$query ="SELECT s.ID, s.cohortID, c.CandID from session
s LEFT JOIN candidate c ON c.ID=s.CandiateID
s LEFT JOIN candidate c ON c.ID=s.CandidateID
WHERE s.Active='Y'
AND c.Active='Y' AND s.visit_label=:vl";
$where = ['vl' => $argv[1]];
Expand Down
191 changes: 134 additions & 57 deletions tools/data_integrity/data_deletion/delete_candidate.php
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ function deleteCandidate($CandID, $PSCID, $confirm, $printToSQL, $DB, &$output)
// Find candidate...
$candidate = new Candidate();
// find the candidate with the given CandID
$candidate->select(new CandID($CandID));
$candidate->select($CandID);

// Passing argument to delete session script
$outputType ="";
Expand All @@ -184,11 +184,19 @@ function deleteCandidate($CandID, $PSCID, $confirm, $printToSQL, $DB, &$output)
$subOutputType = $outputType;
}
foreach ($sessions as $sid) {
$out = shell_exec(
$out = null;
$retVal = null;
exec(
"php ".__DIR__."/delete_timepoint.php delete_timepoint".
" $CandID $PSCID $sid $subOutputType"
" $CandID $PSCID $sid $subOutputType",
$out,
$retVal
);
//echo $out;
if ($retVal != 0) {
echo "Error deleting session $sid for CandID: $CandID\n";
echo "Output: ".implode("\n", $out)."\n";
exit;
}
$match = [];
$nbDelete = preg_match_all("/(DELETE FROM .*;)/", $out, $match);
if ($nbDelete > 0) {
Expand All @@ -200,97 +208,145 @@ function deleteCandidate($CandID, $PSCID, $confirm, $printToSQL, $DB, &$output)
}
}

$candidate = $DB->pselect(
'SELECT * FROM candidate WHERE CandID=:cid',
['cid' => $CandID]
);
$CandidateID = $candidate->getFirstRow()['ID'];

// Print participant_status
echo "\nParticipant Status\n";
echo "--------------------\n";
$result = $DB->pselect(
'SELECT * FROM participant_status ps
JOIN candidate c ON c.ID = ps.CandidateID
WHERE CandID=:cid',
['cid' => $CandID]
'SELECT * FROM participant_status ps WHERE CandidateID=:cid',
['cid' => $CandidateID]
);
print_r($result);
print_r(iterator_to_array($result));

// Print participant_status_history
echo "\nParticipant Status History\n";
echo "----------------------------\n";
$result = $DB->pselect(
'SELECT * FROM participant_status_history WHERE CandID=:cid',
['cid' => $CandID]
'SELECT * FROM participant_status_history WHERE CandidateID=:cid',
['cid' => $CandidateID]
);
print_r($result);
print_r(iterator_to_array($result));

// Print candidate_consent_rel
echo "\nCandidate Consent\n";
echo "-------------------\n";
$result = $DB->pselect(
'SELECT * FROM candidate_consent_rel WHERE CandidateID=:cid',
['cid' => $CandID]
['cid' => $CandidateID]
);
print_r($result);
print_r(iterator_to_array($result));

// Print parameter_candidate
echo "\nParameter Candidate\n";
echo "---------------------\n";
$result = $DB->pselect(
'SELECT * FROM parameter_candidate WHERE CandID=:cid',
['cid' => $CandID]
'SELECT * FROM parameter_candidate WHERE CandidateID=:cid',
['cid' => $CandidateID]
);
print_r($result);
print_r(iterator_to_array($result));

// Print SNP_candidate_rel
echo "\nSNP_candidate_rel\n";
echo "-----------\n";
$result = $DB->pselect(
'SELECT * FROM SNP_candidate_rel WHERE CandID=:cid',
['cid' => $CandID]
'SELECT * FROM SNP_candidate_rel WHERE CandidateID=:cid',
['cid' => $CandidateID]
);
print_r($result);
print_r(iterator_to_array($result));

// Print CNV
echo "\nCNV\n";
echo "-----------\n";
$result = $DB->pselect(
'SELECT * FROM CNV WHERE CandID=:cid',
['cid' => $CandID]
'SELECT * FROM CNV WHERE CandidateID=:cid',
['cid' => $CandidateID]
);
print_r($result);
print_r(iterator_to_array($result));

// Print genomic_candidate_files_rel
echo "\nGenomic Candidate Files Relation\n";
echo "-----------\n";
$result = $DB->pselect(
'SELECT * FROM genomic_candidate_files_rel WHERE CandID=:cid',
['cid' => $CandID]
'SELECT * FROM genomic_candidate_files_rel WHERE CandidateID=:cid',
['cid' => $CandidateID]
);
print_r($result);
print_r(iterator_to_array($result));

// Print genomic_sample_candidate_rel
echo "\nGenomic Sample Candidate Relation\n";
echo "-----------\n";
$result = $DB->pselect(
'SELECT * FROM genomic_sample_candidate_rel WHERE CandID=:cid',
['cid' => $CandID]
'SELECT * FROM genomic_sample_candidate_rel WHERE CandidateID=:cid',
['cid' => $CandidateID]
);
print_r($result);
print_r(iterator_to_array($result));

// Print issues
echo "\nIssues\n";
echo "-----------\n";
$result = $DB->pselect(
'SELECT * FROM issues WHERE candID=:cid',
['cid' => $CandID]
'SELECT * FROM issues WHERE CandidateID=:cid',
['cid' => $CandidateID]
);
print_r($result);
print_r(iterator_to_array($result));

// Print candidate
echo "\nCandidate\n";
// Print feedback_bvl_thread
echo "\nfeedback_bvl_thread\n";
echo "-----------\n";
$feedback_threads = $DB->pselect(
'SELECT * FROM feedback_bvl_thread WHERE CandidateID=:cid',
['cid' => $CandidateID]
);
$feedback_threads = iterator_to_array($feedback_threads);
print_r($feedback_threads);

foreach ($feedback_threads as $feedback) {
// print_feedback_bvl_entry
echo "\nfeedback_bvl_entry\n";
echo "-----------\n";
$result = $DB->pselect(
'SELECT * FROM feedback_bvl_entry WHERE FeedbackID=:fid',
['fid' => $feedback['FeedbackID']]
);
print_r(iterator_to_array($result));
}

// Print family
echo "\Family\n";
echo "-----------\n";
$result = $DB->pselect(
'SELECT * FROM candidate WHERE CandID=:cid',
['cid' => $CandID]
'SELECT * FROM family WHERE CandidateID=:cid',
['cid' => $CandidateID]
);
print_r(iterator_to_array($result));

// Print dataquery_run_results
echo "\Dataquery Run Results\n";
echo "-----------\n";
$result = $DB->pselect(
'SELECT * FROM dataquery_run_results WHERE CandidateID=:cid',
['cid' => $CandidateID]
);
print_r(iterator_to_array($result));

// Print mri_protocol_violated_scans
echo "\MRI Protocol Violated Scans\n";
echo "-----------\n";
$result = $DB->pselect(
'SELECT * FROM mri_protocol_violated_scans WHERE CandidateID=:cid',
['cid' => $CandidateID]
);
print_r($result);
print_r(iterator_to_array($result));

// Print candidate
echo "\nCandidate\n";
echo "-----------\n";
print_r(iterator_to_array($candidate));

// IF CONFIRMED, DELETE CANDIDATE
if ($confirm) {
Expand All @@ -299,37 +355,57 @@ function deleteCandidate($CandID, $PSCID, $confirm, $printToSQL, $DB, &$output)
$PSCID . "\n";

//delete from the participant_status table
$DB->delete("participant_status", ["CandID" => $CandID]);
$DB->delete("participant_status", ["CandidateID" => $CandidateID]);

//delete from the participant_status_history table
$DB->delete("participant_status_history", ["CandID" => $CandID]);
$DB->delete("participant_status_history", ["CandidateID" => $CandidateID]);

//delete from the candidate_consent_rel table
$DB->delete("candidate_consent_rel", ["CandidateID" => $CandID]);
$DB->delete("candidate_consent_rel", ["CandidateID" => $CandidateID]);

//delete from parameter_candidate
$DB->delete("parameter_candidate", ["CandID" => $CandID]);
$DB->delete("parameter_candidate", ["CandidateID" => $CandidateID]);

//delete from SNP_candidate_rel
$DB->delete("SNP_candidate_rel", ["CandID" => $CandID]);
$DB->delete("SNP_candidate_rel", ["CandidateID" => $CandidateID]);

//delete from CNV
$DB->delete("CNV", ["CandID" => $CandID]);
$DB->delete("CNV", ["CandidateID" => $CandidateID]);

//delete from genomic_candidate_files_rel
$DB->delete(
"genomic_candidate_files_rel",
["CandID" => $CandID]
["CandidateID" => $CandidateID]
);

//delete from genomic_sample_candidate_rel
$DB->delete(
"genomic_sample_candidate_rel",
["CandID" => $CandID]
["CandidateID" => $CandidateID]
);

//delete from issues
$DB->delete("issues", ["candID" => $CandID]);
$DB->delete("issues", ["CandidateID" => $CandidateID]);

//delete from feedback_bvl_entry
foreach ($feedback_threads as $feedback) {
$DB->delete(
"feedback_bvl_entry",
["FeedbackID" => $feedback['FeedbackID']]
);
}

//delete from feedback_bvl_thread
$DB->delete("feedback_bvl_thread", ["CandidateID" => $CandidateID]);

//delete from family
$DB->delete("family", ["CandidateID" => $CandidateID]);

//delete from dataquery_run_results
$DB->delete("dataquery_run_results", ["CandidateID" => $CandidateID]);

//delete from mri_protocol_violated_scans
$DB->delete("mri_protocol_violated_scans", ["CandidateID" => $CandidateID]);

//delete from candidate
$DB->delete("candidate", ["CandID" => $CandID]);
Expand All @@ -341,67 +417,67 @@ function deleteCandidate($CandID, $PSCID, $confirm, $printToSQL, $DB, &$output)
//delete from the participant_status table
_printResultsSQL(
"participant_status",
["CandID" => $CandID],
["CandidateID" => $CandidateID],
$output,
$DB
);

//delete from the participant_status_history table
_printResultsSQL(
"participant_status_history",
["CandID" => $CandID],
["CandidateID" => $CandidateID],
$output,
$DB
);

//delete from the candidate_consent_rel table
_printResultsSQL(
"candidate_consent_rel",
["CandidateID" => $CandID],
["CandidateID" => $CandidateID],
$output,
$DB
);

//delete from parameter_candidate
_printResultsSQL(
"parameter_candidate",
["CandID" => $CandID],
["CandidateID" => $CandidateID],
$output,
$DB
);

//delete from SNP_candidate_rel
_printResultsSQL(
"SNP_candidate_rel",
["CandID" => $CandID],
["CandidateID" => $CandidateID],
$output,
$DB
);

//delete from CNV
_printResultsSQL("CNV", ["CandID" => $CandID], $output, $DB);
_printResultsSQL("CNV", ["CandidateID" => $CandidateID], $output, $DB);

//delete from genomic_candidate_files_rel
_printResultsSQL(
"genomic_candidate_files_rel",
["CandID" => $CandID],
["CandidateID" => $CandidateID],
$output,
$DB
);

//delete from genomic_sample_candidate_rel
_printResultsSQL(
"genomic_sample_candidate_rel",
["CandID" => $CandID],
["CandidateID" => $CandidateID],
$output,
$DB
);

//delete from issues
_printResultsSQL("issues", ["candID" => $CandID], $output, $DB);
_printResultsSQL("issues", ["CandidateID" => $CandidateID], $output, $DB);

//delete from candidate
_printResultsSQL("candidate", ["CandID" => $CandID], $output, $DB);
_printResultsSQL("candidate", ["CandidateID" => $CandidateID], $output, $DB);

_exportSQL($output, $CandID);
}
Expand Down Expand Up @@ -438,7 +514,8 @@ function _printResultsSQL($table, $where, &$output, $DB)
function _exportSQL($output, $CandID)
{
//export file
$filename = __DIR__ . "/../project/tables_sql/DELETE_candidate_$CandID.sql";
$filename = __DIR__
. "/../../../project/tables_sql/DELETE_candidate_$CandID.sql";
$fp = fopen($filename, "w");
fwrite($fp, $output);
fclose($fp);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@
$instrumentSpecified = true;
} else {
$instruments = array_keys(
\NDB_BVL_Instrument::getDDEInstrumentNamesList($loris)
\NDB_BVL_Instrument::getDDEInstrumentNamesList($lorisInstance)
);
}

Expand Down
Loading
Loading