Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Incorrect Conversion of DECIMAL Data Type in Hive Views #526

Open
Akanksha-kedia opened this issue Aug 27, 2024 · 3 comments
Open

Incorrect Conversion of DECIMAL Data Type in Hive Views #526

Akanksha-kedia opened this issue Aug 27, 2024 · 3 comments

Comments

@Akanksha-kedia
Copy link

Description:

When translating Hive view definitions to a format that Trino can interpret and process, the Coral library is converting DECIMAL data types to DECIMAL(12,0) in its convertQuery() method. This is causing a type mismatch when the actual data in the view is of type DECIMAL(19,0), leading to a VIEW_IS_STALE exception in Trino.

Scenario:

A Hive view is created with a column of type DECIMAL(19,0) that holds values such as 12345623423423.
This view is read by Trino, which uses the Coral library for translation.
Coral incorrectly converts the DECIMAL(19,0) type to DECIMAL(12,0).
When the view is queried, Trino checks if the actual data type (DECIMAL(19,0)) can be coerced to the defined data type (DECIMAL(12,0)).
This check fails, leading to a VIEW_IS_STALE exception.

Suspected Fix:

The suspected fix involves updating the convertQuery() method in Coral to correctly translate DECIMAL data types without reducing precision. The method should be able to handle and preserve larger DECIMAL types such as DECIMAL(19,0). This change will ensure that the translated data type in Trino matches the actual data type in Hive, avoiding the VIEW_IS_STALE exception.

Proposed Solution:

Update the convertQuery() method in the Coral library to correctly handle and preserve the original precision of DECIMAL data types during translation. This would involve investigating how the current conversion to DECIMAL(12,0) is happening and updating the logic to maintain the original precision of the data type. We also need to ensure that this change does not adversely affect other parts of the Coral library or its functionality.

@Akanksha-kedia
Copy link
Author

@aastha25 @ebyhr @ljfgem
@KevinGe00 please help to analyze and discuss this scenario

@Akanksha-kedia
Copy link
Author

@aastha25 @ebyhr @ljfgem
@KevinGe00 please help to analyze and discuss this scenario

@Akanksha-kedia
Copy link
Author

@findepi @findinpath

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant