public List listParents()

in services/library/src/main/java/com/google/cloud/pso/bq_pii_classifier/services/scan/AutoDlpResultsScannerImpl.java [62:92]


    public List<String> listParents(String project) throws NonRetryableApplicationException, InterruptedException {

        String queryTemplate = "SELECT DISTINCT " +
                "CONCAT(column_profile.dataset_project_id, '.', column_profile.dataset_id) AS dataset " +
                "FROM %s.%s.%s r " +
                "INNER JOIN %s.INFORMATION_SCHEMA.SCHEMATA s ON s.schema_name = r.column_profile.dataset_id " +
                "WHERE r.column_profile.dataset_project_id = '%s'";

        String formattedQuery = String.format(queryTemplate,
                hostProject,
                hostDataset,
                dlpLatestFindingsView,
                project,
                project
        );

        Job queryJob = bqService.submitJob(formattedQuery);

        TableResult result = bqService.waitAndGetJobResults(queryJob);

        List<String> projectDatasets = new ArrayList<>();
        for (FieldValueList row : result.iterateAll()) {

            if (row.get("dataset").isNull()) {
                throw new NonRetryableApplicationException("processProjects query returned rows with null 'dataset' field.");
            }
            String datasetSpec = row.get("dataset").getStringValue();
            projectDatasets.add(datasetSpec);
        }
        return projectDatasets;
    }