File: verb-pull.R

package info (click to toggle)
r-cran-dbplyr 2.3.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 2,376 kB
  • sloc: sh: 13; makefile: 2
file content (29 lines) | stat: -rw-r--r-- 708 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#' Extract a single column
#'
#' This is a method for the dplyr [pull()] generic. It evaluates the query
#' retrieving just the specified column.
#'
#' @inheritParams arrange.tbl_lazy
#' @inheritParams dplyr::pull
#' @return A vector of data.
#' @importFrom dplyr pull
#' @export
#' @examples
#' library(dplyr, warn.conflicts = FALSE)
#'
#' db <- memdb_frame(x = 1:5, y = 5:1)
#' db %>%
#'   mutate(z = x + y * 2) %>%
#'   pull()
pull.tbl_sql <- function(.data, var = -1) {
  vars <- tbl_vars(.data)
  if (length(vars) > 1 || !missing(var)) {
    var <- tidyselect::vars_pull(vars, {{ var }})
    .data <- ungroup(.data)
    .data <- select(.data, !! sym(var))
  }

  .data <- collect(.data)
  .data[[1]]
}