diff options
author | Herman van Hovell <hvanhovell@questtec.nl> | 2016-01-20 15:13:01 -0800 |
---|---|---|
committer | Reynold Xin <rxin@databricks.com> | 2016-01-20 15:13:01 -0800 |
commit | 10173279305a0e8a62bfbfe7a9d5d1fd558dd8e1 (patch) | |
tree | 94fce3f9499b51ef69ad6bf49a132f54cb8afe6b /R/pkg | |
parent | f3934a8d656f1668bec065751b2a11411229b6f5 (diff) | |
download | spark-10173279305a0e8a62bfbfe7a9d5d1fd558dd8e1.tar.gz spark-10173279305a0e8a62bfbfe7a9d5d1fd558dd8e1.tar.bz2 spark-10173279305a0e8a62bfbfe7a9d5d1fd558dd8e1.zip |
[SPARK-12848][SQL] Change parsed decimal literal datatype from Double to Decimal
The current parser turns a decimal literal, for example ```12.1```, into a Double. The problem with this approach is that we convert an exact literal into a non-exact ```Double```. The PR changes this behavior, a Decimal literal is now converted into an extact ```BigDecimal```.
The behavior for scientific decimals, for example ```12.1e01```, is unchanged. This will be converted into a Double.
This PR replaces the ```BigDecimal``` literal by a ```Double``` literal, because the ```BigDecimal``` is the default now. You can use the double literal by appending a 'D' to the value, for instance: ```3.141527D```
cc davies rxin
Author: Herman van Hovell <hvanhovell@questtec.nl>
Closes #10796 from hvanhovell/SPARK-12848.
Diffstat (limited to 'R/pkg')
-rw-r--r-- | R/pkg/inst/tests/testthat/test_sparkSQL.R | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/R/pkg/inst/tests/testthat/test_sparkSQL.R b/R/pkg/inst/tests/testthat/test_sparkSQL.R index 14d40d5066..a389dd71a2 100644 --- a/R/pkg/inst/tests/testthat/test_sparkSQL.R +++ b/R/pkg/inst/tests/testthat/test_sparkSQL.R @@ -1812,7 +1812,7 @@ test_that("Method coltypes() to get and set R's data types of a DataFrame", { expect_equal(coltypes(x), "map<string,string>") df <- selectExpr(read.json(sqlContext, jsonPath), "name", "(age * 1.21) as age") - expect_equal(dtypes(df), list(c("name", "string"), c("age", "double"))) + expect_equal(dtypes(df), list(c("name", "string"), c("age", "decimal(24,2)"))) df1 <- select(df, cast(df$age, "integer")) coltypes(df) <- c("character", "integer") |