From 881c163f2b5b50dd26e58c5c7c21d1e88f171c3e Mon Sep 17 00:00:00 2001 From: Dan Galdi Date: Thu, 8 Aug 2024 12:27:13 -0400 Subject: [PATCH] Make postgres-compatible --- .../lib/wdk/model/records/datasetRecords.xml | 439 +++++++----------- .../datasetInjector/GenomicsEDAStudy.java | 4 +- 2 files changed, 166 insertions(+), 277 deletions(-) diff --git a/Model/lib/wdk/model/records/datasetRecords.xml b/Model/lib/wdk/model/records/datasetRecords.xml index f3ca9e71..567f2c06 100644 --- a/Model/lib/wdk/model/records/datasetRecords.xml +++ b/Model/lib/wdk/model/records/datasetRecords.xml @@ -1070,117 +1070,99 @@ Based on evolutionarily informed expectations of gene content of near-universal @@ -1194,33 +1176,55 @@ SELECT CONCAT('EDAUD_', d.user_dataset_id) as dataset_stable_id - @@ -1277,7 +1281,7 @@ LEFT OUTER JOIN ( select DATASET_PRESENTER_ID, count(1) as total_number, count(case when approval_status_id = 0 then 1 end) as approved_number - from studyaccess.end_users@ACCT_DBLINK@ eu + from studyaccess.end_users eu group by dataset_presenter_id ) ) mycounts @@ -1606,60 +1610,13 @@ where mystudies.dataset_id = dp.dataset_presenter_id ' || dp.citation || '', '' || dh.text || '') as publink - , dp.pmid - from apidbtuning.datasetPublication dp - left join apidbtuning.datasethyperlink dh - on dp.dataset_presenter_id = dh.dataset_presenter_id - and dh.isPublication = 'Y' - ) - select dsp.dataset_presenter_id as dataset_id, - dsp.name as dataset_name, dsp.dataset_name_pattern, - --dsp.display_name, - ds.version, - dsp.short_display_name, dsp.description, - nvl(dsp.summary, dsp.description) as summary, - dsp.protocol, dsp.usage, - dsp.type, - dsp.is_species_scope, - dsp.build_number_introduced, - nvl(history.eupath_release, introduced.eupath_release) as eupath_release, - pubs.pmids, - pubs.pmids_download - from apidbTuning.DatasetPresenter dsp, apidb.datasource ds, - (select dataset_presenter_id - , dbms_xmlgen.convert(rtrim(xmlagg(xmlelement(e,publink, '

').extract('//text()') order by publink).getclobval(), '

'), 1) as pmids - , listagg( pmid, ', ') within group (order by pmid) as pmids_download - from allpubs - group by dataset_presenter_id) pubs, - (select dataset_presenter_id, - '@PROJECT_ID@ rel. ' || release_number || ', ' || release_date as eupath_release - from (select dh.dataset_presenter_id, dh.build_number, to_char(ebd.release_date,'YYYY-MON-DD') as release_date, - ebd.release_number, ebd.project, - row_number() over (partition by dh.dataset_presenter_id - order by ebd.release_number desc) rn - from apidbTuning.DatasetHistory dh, apidbTuning.EupathBuildDates ebd - where dh.build_number = ebd.build_number - and ebd.project = '@PROJECT_ID@') - where rn = 1) history, - (select build_number, - '@PROJECT_ID@ rel. ' || release_number || ', ' || release_date as eupath_release - from apidbTuning.EupathBuildDates - where project = '@PROJECT_ID@') introduced - where dsp.dataset_presenter_id = history.dataset_presenter_id(+) - and dsp.build_number_introduced = introduced.build_number(+) - and dsp.dataset_presenter_id = pubs.dataset_presenter_id(+) - and ds.name (+) = dsp.name - UNION ALL SELECT CONCAT('EDAUD_', d.dataset_id) as dataset_stable_id , null as dataset_name , null as dataset_name_pattern , null as version , d.name as short_display_name - , to_clob(d.description) as description - , to_clob(d.description) as summary + , d.description as description + , d.description as summary , null as protocol , null as usage , null as type @@ -1673,75 +1630,25 @@ where mystudies.dataset_id = dp.dataset_presenter_id
- ' || dp.citation || '', '' || dh.text || '') as publink - , dp.pmid - from apidbtuning.datasetPublication dp - left join apidbtuning.datasethyperlink dh - on dp.dataset_presenter_id = dh.dataset_presenter_id - and dh.isPublication = 'Y' - ), - lastVerDS as ( - select dataset_presenter_id, max(version) as version - from apidb.datasource ds, apidbTuning.DatasetPresenter dsp - where ds.name (+) = dsp.name - group by dataset_presenter_id ) - select dsp.dataset_presenter_id as dataset_id, - dsp.name as dataset_name, dsp.dataset_name_pattern, - --dsp.display_name, - lastVerDS.version, - dsp.short_display_name, dsp.description, - nvl(dsp.summary, dsp.description) as summary, - dsp.protocol, dsp.usage, - dsp.type, - dsp.is_species_scope, - dsp.build_number_introduced, - nvl(history.eupath_release, introduced.eupath_release) as eupath_release, - pubs.pmids, - pubs.pmids_download - from apidbTuning.DatasetPresenter dsp, lastVerDS, - (select dataset_presenter_id - , dbms_xmlgen.convert(rtrim(xmlagg(xmlelement(e, publink, ', ').extract('//text()') order by publink).getclobval(), ', '), 1) as pmids - , listagg( pmid, ', ') within group (order by pmid) as pmids_download - from allpubs - group by dataset_presenter_id) pubs, - (select dataset_presenter_id, - 'VEuPathDB rel. ' || release_number || ', ' || release_date as eupath_release - from (select dh.dataset_presenter_id, dh.build_number, to_char(ebd.release_date,'YYYY-MON-DD') as release_date, - ebd.release_number, ebd.project, - row_number() over (partition by dh.dataset_presenter_id - order by ebd.release_number desc) rn - from apidbTuning.DatasetHistory dh, apidbTuning.EupathBuildDates ebd - where dh.build_number = ebd.build_number - and ebd.project = '@PROJECT_ID@') - where rn = 1) history, - (select build_number, - '@PROJECT_ID@ rel. ' || release_number || ', ' || release_date as eupath_release - from apidbTuning.EupathBuildDates - where project = '@PROJECT_ID@') introduced - where dsp.dataset_presenter_id = history.dataset_presenter_id(+) - and dsp.build_number_introduced = introduced.build_number(+) - and dsp.dataset_presenter_id = pubs.dataset_presenter_id(+) - and lastVerDS.dataset_presenter_id = dsp.dataset_presenter_id - and NOT dsp.name IN ('taxonomy_RSRC','enzymeDB_RSRC','PDBProteinSequences_RSRC','NRDB_RSRC','GO_RSRC') - UNION ALL - select dsp.dataset_presenter_id as dataset_id, - dsp.name as dataset_name, dsp.dataset_name_pattern, - '' as version, - dsp.short_display_name, dsp.description, - nvl(dsp.summary, dsp.description) as summary, - dsp.protocol, dsp.usage, - dsp.type, - dsp.is_species_scope, - dsp.build_number_introduced, - '' as eupath_release, - TO_CLOB('') as pmids, - '' as pmids_download - from apidbTuning.DatasetPresenter dsp - where dsp.name IN ('taxonomy_RSRC','enzymeDB_RSRC','PDBProteinSequences_RSRC','NRDB_RSRC','GO_RSRC') - ]]> + + @@ -1801,11 +1708,6 @@ select dsp.dataset_presenter_id as dataset_id, Contact VEuPathDB for more details' - END as contact, - CASE WHEN (dsc.name is null and dsc.affiliation is not null) THEN dsc.name - ELSE dsc.affiliation END as institution, - dsc.email as email, - nvl(dsp.short_attribution, dsc.name) as short_attribution - from ApidbTuning.DatasetPresenter dsp, ApidbTuning.DatasetContact dsc - where dsp.dataset_presenter_id = dsc.dataset_presenter_id (+) - and dsc.is_primary_contact = 1 - UNION SELECT CONCAT('EDAUD_', d.user_dataset_id) , null as contact , null as institution @@ -2243,7 +2132,7 @@ from apidbtuning.datasetpresenter pres, select eu.DATASET_PRESENTER_ID, count(*) as total, count(case when approval_status_id = 0 then 1 end) as approved - from studyaccess.end_users@ACCT_DBLINK@ eu, apidbtuning.datasetproperty dp + from studyaccess.end_users eu, apidbtuning.datasetproperty dp where eu.dataset_presenter_id = dp.DATASET_PRESENTER_ID and property = 'studyAccess' and value != 'public' @@ -2284,19 +2173,19 @@ FROM SELECT * FROM ( SELECT user_id, key, value - FROM useraccounts.account_properties@ACCT_DBLINK@ where key in ('first_name', 'last_name') + FROM useraccounts.account_properties where key in ('first_name', 'last_name') )) GROUP BY user_id ) t1, ( SELECT user_id, value - FROM useraccounts.account_properties@ACCT_DBLINK@ + FROM useraccounts.account_properties WHERE key in ('organization') ) t2, ( SELECT user_id, dataset_presenter_id, start_date, purpose, a.name AS approval_status - FROM studyaccess.end_users@ACCT_DBLINK@ v - INNER JOIN studyaccess.approval_status@ACCT_DBLINK@ a + FROM studyaccess.end_users v + INNER JOIN studyaccess.approval_status a ON v.approval_status_id = a.approval_status_id WHERE a.name = 'approved' ) t3, diff --git a/Model/src/main/java/org/apidb/apicommon/model/datasetInjector/GenomicsEDAStudy.java b/Model/src/main/java/org/apidb/apicommon/model/datasetInjector/GenomicsEDAStudy.java index aa8f982f..bdca1f7d 100644 --- a/Model/src/main/java/org/apidb/apicommon/model/datasetInjector/GenomicsEDAStudy.java +++ b/Model/src/main/java/org/apidb/apicommon/model/datasetInjector/GenomicsEDAStudy.java @@ -20,7 +20,7 @@ private void injectCardQuestions() { String presenterId = getPropValue("presenterId"); String cardQuestions = "UNION select '" + presenterId + "' as dataset_presenter_id, 'cardQuestions' as property, '{ "; //cardQuestions = cardQuestions + getCardQuestionString(); - cardQuestions = cardQuestions + " }' as value from dual"; + cardQuestions = cardQuestions + " }' as value"; //System.err.println("cardQuestionsSql=" + cardQuestions); setPropValue("cardQuestionsSql",cardQuestions); injectTemplate("injectDatasetQuestions"); @@ -30,7 +30,7 @@ private void injectProjectAvailability() { String presenterId = getPropValue("presenterId"); String projectAvailabilityProp = getPropValue("projectAvailability"); - String projectAvailability = "UNION select '" + presenterId + "' as dataset_presenter_id, 'projectAvailability' as property, '" + projectAvailabilityProp + "' as value from dual"; + String projectAvailability = "UNION select '" + presenterId + "' as dataset_presenter_id, 'projectAvailability' as property, '" + projectAvailabilityProp + "' as value"; setPropValue("projectAvailabilitySql",projectAvailability); injectTemplate("injectProjectAvailability"); }