Skip to content

Conversation

@nchammas
Copy link
Contributor

@nchammas nchammas commented Feb 5, 2024

What changes were proposed in this pull request?

Provide examples showing what type literals like 123.456 and 123.456E0 have in SQL.

Why are the changes needed?

In Python (and I think Java too) fractional numeric literals are typically floats. To get decimals, you need to provide an explicit postfix or use an explicit class. In Spark, it's the other way around. I found this surprising and couldn't find documentation about it.

I discovered this after reading SPARK-45786. I did a little searching and came across #10796, which shows that we used to default to floats as the fractional numeric literal, but then switched to decimals.

There is an additional wrinkle I discovered in #45003. If the fractional literal has an exponent, then it's a double, not a decimal.

The existing syntax documents this, but that alone is not user-friendly. The new examples make this clearer.

Does this PR introduce any user-facing change?

Yes, it clarifies the user-facing documentation about fractional numeric literals.

How was this patch tested?

No testing.

Was this patch authored or co-authored using generative AI tooling?

No.

@github-actions github-actions bot added the DOCS label Feb 5, 2024
@nchammas
Copy link
Contributor Author

nchammas commented Feb 5, 2024

cc @yaooqinn @HyukjinKwon

@nchammas nchammas changed the title [MINOR][DOCS] Document default fractional numeric literals in SQL [MINOR][DOCS] Clarify docs on default fractional numeric literals in SQL Feb 5, 2024
@nchammas nchammas requested a review from yaooqinn February 5, 2024 15:30
@yaooqinn yaooqinn closed this in 614a0c7 Feb 6, 2024
@yaooqinn
Copy link
Member

yaooqinn commented Feb 6, 2024

Thanks, merged to master

@nchammas nchammas deleted the fractional-literal-take2 branch February 6, 2024 04:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants