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.
Github usuário BettioJr realizou um commit e issue foi retornada para a coluna REVIEW no Kanban.
Esta issue foi automaticamente movimentada para QA REVIEW, pois o PR foi aprovado no Github.
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
@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.
@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.