Github user felixcheung commented on a diff in the pull request:
https://github.com/apache/spark/pull/11220#discussion_r53200774
--- Diff: R/pkg/R/DataFrame.R ---
@@ -303,8 +303,28 @@ setMethod("colnames",
#' @rdname columns
#' @name colnames<-
setMethod("colnames<-",
- signature(x = "DataFrame", value = "character"),
+ signature(x = "DataFrame"),
function(x, value) {
+
+ # Check parameter integrity
+ if (class(value) != "character") {
+ stop("Invalid column names.")
+ }
+
+ if (length(value) != ncol(x)) {
+ stop(
+ "Column names must have the same length as the number of
columns in the dataset.")
+ }
+
+ if (any(is.na(value))) {
+ stop("Column names cannot be NA.")
+ }
+
+ # Check if the column names have . in it
+ if (any(regexec(".", value, fixed=TRUE)[[1]][1] != -1)) {
--- End diff --
Then I would suggest creating a new test case with colnames to check that a
DataFrame created from iris would have column names with . replaced with _.
This test case would be broken in the event that SPARK-11976 is fixed to
remind us to remove this check in colnames. Otherwise it is very easy to forget.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]