aboutsummaryrefslogtreecommitdiff
path: root/R
diff options
context:
space:
mode:
authorHerman van Hovell <hvanhovell@questtec.nl>2016-01-20 15:13:01 -0800
committerReynold Xin <rxin@databricks.com>2016-01-20 15:13:01 -0800
commit10173279305a0e8a62bfbfe7a9d5d1fd558dd8e1 (patch)
tree94fce3f9499b51ef69ad6bf49a132f54cb8afe6b /R
parentf3934a8d656f1668bec065751b2a11411229b6f5 (diff)
downloadspark-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')
-rw-r--r--R/pkg/inst/tests/testthat/test_sparkSQL.R2
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")