You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Jose Martinez Poblete (Jira)" <ji...@apache.org> on 2023/02/23 10:50:00 UTC
[jira] [Created] (HIVE-27098) Incorrect results using CASE with filter on ORC table
Jose Martinez Poblete created HIVE-27098:
--------------------------------------------
Summary: Incorrect results using CASE with filter on ORC table
Key: HIVE-27098
URL: https://issues.apache.org/jira/browse/HIVE-27098
Project: Hive
Issue Type: Bug
Components: CBO
Affects Versions: 3.1.3, 4.0.0
Environment: apache-hive-4.0.0-SNAPSHOT
https://github.com/jpoblete/Hive
Reporter: Jose Martinez Poblete
Consider the statement below where table_1 / table_2 are ORC
The result for the CASE WHEN column ESTADO_REGISTRO is DIFFERENT when the closing LAST filter: {{'{*}AND EG.id_subcontrato = 11968431{*}'}} is not specified
{noformat}
SELECT
EG.id_contrato,
EG.id_subcontrato,
CASE
WHEN CRP.id_contrato IS NULL
AND CRP.id_subcontrato IS NULL
THEN 'NUEVO'
WHEN CRP.id_contrato IS NOT NULL
AND CRP.id_subcontrato IS NOT NULL
AND (
-NVL CONDITION SET-
)
THEN 'MODIF_I' END ESTADO_REGISTRO
FROM
table_1 EG
LEFT JOIN (
SELECT
*
FROM
table_2
WHERE
date_format(from_unixtime(unix_timestamp(cast(aud_fecha_datos as string),'yyyyMMdd')),'yyyy-MM-dd') = date_sub(date_format(from_unixtime(unix_timestamp('20230101', 'yyyyMMdd')),'yyyy-MM-dd'),1)
AND
FECHA_FIN_VIG = '9999-12-31 00:00:00.0'
) as CRP
ON CRP.cod_aplicacion = EG.cod_aplicacion
AND CRP.cod_empresa = EG.cod_empresa
AND CRP.cod_centro = EG.cod_centro
AND CRP.cod_afijo = EG.cod_afijo
AND CRP.id_interno_contrato = EG.id_interno_contrato
AND trim(CRP.id_interno_subcontrato)= trim(EG.id_interno_subcontrato)
WHERE
EG.aud_fecha_datos = 20230101
AND
EG.id_subcontrato = 11968431; – DIFFERENT RESULT IF THIS IS NOT SPECIFIED{noformat}
The results are:
*_WITHOUT_* {{AND EG.id_subcontrato = 11968431}}
{noformat}
| id_contrato | id_subcontrato | estado_registro |
| 4678406 | 11968431 | MODIF_I |{noformat}
*_WITH_* {{AND EG.id_subcontrato = 11968431}}
{noformat}
| id_contrato | id_subcontrato | estado_registro |
| 4678406 | 11968431 | NULL |{noformat}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)