Shared Data API não suporta o uso de CTE e inner queries

Description

PRDE - Bug default text according to the team DoR (Definition of Ready)

01 - PERSON OF CONTACT (PERSON THAT CAN ANSWER QUESTIONS ABOUT THE PROBLEM): @Breno Zipoli Monteiro Papa
02 - PROBLEM (WHAT'S THE ISSUE?):

A funcionalidade de dados compartilhados tem uma API que valida se a consulta SQL é válida ou não. Em alguns casos, a API erroneamente afirma que a consulta SQL é inválida, quando na verdade não é.

Os falsos positivos são sempre relatados pela API quando é necessário usar aliases para, por exemplo, deduplicar uma tabela. Em visualizações mais complexas, é obrigatório deduplicar a tabela de alguma forma, porque, se não o fizermos, a consulta consumirá muito mais recursos.

Exemplos do que causa o erro:

Uso de CTE:

with
sa1_dedup as (
select   
    protheus_pk
    from `carol-234061fafb784fe98c2d.234061fafb784fe98c2d711f45e3ce7f.stg_myconnector_sa1` sa1
)
select protheus_pk from sa1_dedup

Uso de Inner queries:

select protheus_pk from (
    select   
    protheus_pk
    from `carol-234061fafb784fe98c2d.234061fafb784fe98c2d711f45e3ce7f.stg_myconnector_sa1` sa1
) as test

Estes são casos de uso simplificados, mas normalmente a deduplicação seria algo assim:

with 

sa1_dedup as (
select   
    mdmConnectorId, mdmCounterForEntity, protheus_pk
    from `carol-234061fafb784fe98c2d.234061fafb784fe98c2d711f45e3ce7f.stg_myconnector_sa1` sa1
    qualify ROW_NUMBER() OVER (PARTITION BY protheus_pk ORDER BY mdmCounterForEntity DESC, mdmLastUpdated DESC) = 1
)

select protheus_pk from sa1_dedup

Todas as consultas acima geram o erro:
The query in the view shd_teste2_UntitledQuery1 is invalid. Table name must be qualified with a dataset (e.g. project.dataset.table).'

Maiores detalhes na thread: https://totvscarol.slack.com/archives/C03LA7B048G/p1708693652669719

03 - STEPS TO REPRODUCE (STEP (1...N), VIDEO, SCREENSHOTS, LOGS FOLDER, HEARTBEAT, ETC. – IF IS NOT POSSIBLE TO REPRODUCE EXPLAIN THE REASON): <text>
04 - LINKS (ADD A LINK TO THE BUG OR TO THE TENANT):

Test tenant: https://daen.carol.ai/datavalidationwebinar/carol-ui/tenant/data-share

05 - EXPECTED BEHAVIOR (LIST THE EXPECTED BEHAVIORS TO CONSIDER THIS BUG AS DONE):

A API deveria permitir a criação desse tipo de consulta.

Devemos ter um conjunto de regras menos restritivo na API ou talvez permitir que o Big Query lide com os erros e verifique a validade da consulta.

Activity

Automation for Jira 21 May 2024, 13:17 Jira Internal Users

Github usuário BettioJr realizou um commit e issue foi retornada para a coluna REVIEW no Kanban.

Automation for Jira 13 May 2024, 14:42 Jira Internal Users

Esta issue foi automaticamente movimentada para QA REVIEW, pois o PR foi aprovado no Github.

Automation for Jira 9 May 2024, 11:52 Jira Internal Users

Esta issue foi automaticamente movimentada para REVIEW, pois o PR (não DRAFT e não WIP) foi criado no Github.

https://totvsideia.atlassian.net/browse/CAPL-5812#icft=CAPL-5812 fix: query validations for data share view

Automation for Jira 6 May 2024, 18:46 Jira Internal Users

@MARCOS STUMPF ,
@Gabriel DAmore Marciano , @Pedro Buzzi ,

Este issue foi planejada para ser entregue até 2024-05-27. Você pode confirmar consultando o campo Due Date desta issue.

Data já planejadas para esta issue: 2024-05-06, 2024-05-27

Se o campo External Issue Link estiver preenchido com o link de uma issue válida no Jira Produção o cliente também será notificado no Jira Produção.

Automation for Jira 30 April 2024, 18:09 Jira Internal Users

@MARCOS STUMPF ,
@Pedro Buzzi ,
@Geny Isam Hamud Herrera ,
Esta issue foi planejada para ser entregue até 2024-05-06. Você pode confirmar consultando o campo Due Date desta issue.

Datas já planejadas para esta issue: 2024-05-06

Se o campo External Issue Link estiver preenchido com o link de uma issue válida no Jira Produção o cliente também será notificado no Jira Produção.