Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

* `glue_sql2()` is now exported for building SQL strings with glue syntax and
type markers. `build_sql()` is deprecated in favor of `glue_sql2()` (#1249).
* `SELECT` statements that use a single table now use `*` rather than `TABLE.*` (#1485, #1577).
* dbplyr 1e interfaces are now deprecated (#1197). Backend developers have had >2 years to update.
* MySQL gains slightly better translation for `as.integer()` and `as.integer64()` (#1647).
* Fixed snowflake translations that were being reported as unknown (@edward-burn, #1570).
Expand Down
10 changes: 4 additions & 6 deletions R/lazy-select-query.R
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,6 @@ sql_build.lazy_select_query <- function(op, con, ..., sql_options = NULL) {
select = op$select,
select_operation = op$select_operation,
in_vars = op_vars(op$x),
table_alias = alias,
con = con,
use_star = sql_options$use_star
)
Expand Down Expand Up @@ -227,7 +226,6 @@ get_select_sql <- function(
select,
select_operation,
in_vars,
table_alias,
con,
use_star
) {
Expand All @@ -250,13 +248,13 @@ get_select_sql <- function(

if (use_star && is_select_identity(select, in_vars)) {
out <- list(
select_sql = sql_star(con, table_alias),
select_sql = sql_star(con),
window_sql = character()
)
return(out)
}

select <- select_use_star(select, in_vars, table_alias, con, use_star)
select <- select_use_star(select, in_vars, con, use_star)

# translate once just to register windows
win_register_activate()
Expand Down Expand Up @@ -284,7 +282,7 @@ get_select_sql <- function(
)
}

select_use_star <- function(select, vars_prev, table_alias, con, use_star) {
select_use_star <- function(select, vars_prev, con, use_star) {
if (!use_star) {
return(select)
}
Expand All @@ -308,7 +306,7 @@ select_use_star <- function(select, vars_prev, table_alias, con, use_star) {
idx_end <- seq2(last + 1, n)
vctrs::vec_rbind(
vctrs::vec_slice(select, idx_start),
tibble(name = "", expr = list(sql_star(con, table_alias))),
tibble(name = "", expr = list(sql_star(con))),
vctrs::vec_slice(select, idx_end)
)
} else {
Expand Down
6 changes: 5 additions & 1 deletion R/query-join.R
Original file line number Diff line number Diff line change
Expand Up @@ -370,7 +370,11 @@ sql_table_prefix <- function(con, var, table = NULL) {
}

sql_star <- function(con, table = NULL) {
sql_qualify_var(con, table, SQL("*"))
if (is.null(table)) {
sql("*")
} else {
sql_qualify_var(con, table, SQL("*"))
}
}

sql_qualify_var <- function(con, table, var) {
Expand Down
10 changes: 5 additions & 5 deletions tests/testthat/_snaps/backend-.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
filter(lazy_frame(x = 1, y = 1), x == y$id)
Output
<SQL>
SELECT `df`.*
SELECT *
FROM `df`
WHERE (`x` = `y`.`id`)

Expand All @@ -35,7 +35,7 @@
filter(lazy_frame(x = 1), x == y$id)
Output
<SQL>
SELECT `df`.*
SELECT *
FROM `df`
WHERE (`x` = 1.0)

Expand Down Expand Up @@ -63,7 +63,7 @@
filter(mf, x == a)
Output
<SQL>
SELECT `df`.*
SELECT *
FROM `df`
WHERE (`x` = X'616263')

Expand All @@ -73,7 +73,7 @@
filter(mf, x %in% L)
Output
<SQL>
SELECT `df`.*
SELECT *
FROM `df`
WHERE (`x` IN (X'616263', X'0102'))

Expand All @@ -83,7 +83,7 @@
qry
Output
<SQL>
SELECT `df`.*
SELECT *
FROM `df`
WHERE (`x` IN (X'616263', X'0102'))

Expand Down
2 changes: 1 addition & 1 deletion tests/testthat/_snaps/backend-access.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,6 @@
head(mf)
Output
<SQL>
SELECT TOP 6 `df`.*
SELECT TOP 6 *
FROM `df`

38 changes: 18 additions & 20 deletions tests/testthat/_snaps/backend-mssql.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@
filter(mf, is.na(x))
Output
<SQL>
SELECT `df`.*
SELECT *
FROM `df`
WHERE ((`x` IS NULL))

Expand All @@ -92,7 +92,7 @@
filter(mf, !is.na(x))
Output
<SQL>
SELECT `df`.*
SELECT *
FROM `df`
WHERE (NOT((`x` IS NULL)))

Expand All @@ -102,7 +102,7 @@
filter(mf, x == 1L || x == 2L)
Output
<SQL>
SELECT `df`.*
SELECT *
FROM `df`
WHERE (`x` = 1 OR `x` = 2)

Expand All @@ -112,7 +112,7 @@
mutate(mf, z = ifelse(x == 1L, 1L, 2L))
Output
<SQL>
SELECT `df`.*, IIF(`x` = 1, 1, 2) AS `z`
SELECT *, IIF(`x` = 1, 1, 2) AS `z`
FROM `df`

---
Expand All @@ -121,7 +121,7 @@
mutate(mf, z = case_when(x == 1L ~ 1L))
Output
<SQL>
SELECT `df`.*, CASE WHEN (`x` = 1) THEN 1 END AS `z`
SELECT *, CASE WHEN (`x` = 1) THEN 1 END AS `z`
FROM `df`

---
Expand All @@ -130,7 +130,7 @@
mutate(mf, z = !is.na(x))
Output
<SQL>
SELECT `df`.*, ~CAST(IIF((`x` IS NULL), 1, 0) AS BIT) AS `z`
SELECT *, ~CAST(IIF((`x` IS NULL), 1, 0) AS BIT) AS `z`
FROM `df`

---
Expand Down Expand Up @@ -198,7 +198,7 @@
filter(mf, x == a)
Output
<SQL>
SELECT `df`.*
SELECT *
FROM `df`
WHERE (`x` = 0x616263)

Expand All @@ -208,7 +208,7 @@
filter(mf, x %in% L)
Output
<SQL>
SELECT `df`.*
SELECT *
FROM `df`
WHERE (`x` IN (0x616263, 0x0102))

Expand All @@ -218,7 +218,7 @@
qry
Output
<SQL>
SELECT `df`.*
SELECT *
FROM `df`
WHERE (`x` IN (0x616263, 0x0102))

Expand All @@ -228,7 +228,7 @@
filter(mf, x == TRUE)
Output
<SQL>
SELECT `df`.*
SELECT *
FROM `df`
WHERE (`x` = 1)

Expand Down Expand Up @@ -275,7 +275,7 @@
<SQL>
SELECT `x`
FROM (
SELECT `df`.*, ROW_NUMBER() OVER (ORDER BY RAND(CHECKSUM(NEWID()))) AS `col01`
SELECT *, ROW_NUMBER() OVER (ORDER BY RAND(CHECKSUM(NEWID()))) AS `col01`
FROM `df`
) AS `q01`
WHERE (`col01` <= 1)
Expand Down Expand Up @@ -428,7 +428,7 @@
filter(mf, x)
Output
<SQL>
SELECT `df`.*
SELECT *
FROM `df`
WHERE (cast(`x` AS `BIT`) = 1)

Expand All @@ -438,7 +438,7 @@
filter(mf, TRUE)
Output
<SQL>
SELECT `df`.*
SELECT *
FROM `df`
WHERE (cast(1 AS `BIT`) = 1)

Expand All @@ -448,7 +448,7 @@
filter(mf, (!x) | FALSE)
Output
<SQL>
SELECT `df`.*
SELECT *
FROM `df`
WHERE ((NOT(cast(`x` AS `BIT`) = 1)) OR cast(0 AS `BIT`) = 1)

Expand All @@ -460,7 +460,7 @@
<SQL>
SELECT `LHS`.`x` AS `x`
FROM (
SELECT `df`.*
SELECT *
FROM `df`
WHERE (cast(`x` AS `BIT`) = 1)
) AS `LHS`
Expand All @@ -473,7 +473,7 @@
mutate(mf, rown = row_number())
Output
<SQL>
SELECT `df`.*, ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS `rown`
SELECT *, ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS `rown`
FROM `df`

---
Expand All @@ -482,9 +482,7 @@
mutate(group_by(mf, y), rown = row_number())
Output
<SQL>
SELECT
`df`.*,
ROW_NUMBER() OVER (PARTITION BY `y` ORDER BY (SELECT NULL)) AS `rown`
SELECT *, ROW_NUMBER() OVER (PARTITION BY `y` ORDER BY (SELECT NULL)) AS `rown`
FROM `df`

---
Expand All @@ -493,7 +491,7 @@
mutate(arrange(mf, y), rown = row_number())
Output
<SQL>
SELECT `df`.*, ROW_NUMBER() OVER (ORDER BY `y`) AS `rown`
SELECT *, ROW_NUMBER() OVER (ORDER BY `y`) AS `rown`
FROM `df`
ORDER BY `y`

Expand Down
4 changes: 2 additions & 2 deletions tests/testthat/_snaps/backend-mysql.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
<SQL>
SELECT `x`
FROM (
SELECT `df`.*, ROW_NUMBER() OVER (ORDER BY RAND()) AS `col01`
SELECT *, ROW_NUMBER() OVER (ORDER BY RAND()) AS `col01`
FROM `df`
) AS `q01`
WHERE (`col01` <= 1)
Expand Down Expand Up @@ -99,7 +99,7 @@
explain(mutate(db, y = x + 1))
Output
<SQL>
SELECT `test`.*, `x` + 1.0 AS `y`
SELECT *, `x` + 1.0 AS `y`
FROM `test`

<PLAN>
Expand Down
4 changes: 2 additions & 2 deletions tests/testthat/_snaps/backend-oracle.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
head(mf)
Output
<SQL>
SELECT `df`.*
SELECT *
FROM `df`
FETCH FIRST 6 ROWS ONLY

Expand Down Expand Up @@ -91,7 +91,7 @@
<SQL>
SELECT `x`
FROM (
SELECT `df`.*, ROW_NUMBER() OVER (ORDER BY DBMS_RANDOM.VALUE()) AS `col01`
SELECT *, ROW_NUMBER() OVER (ORDER BY DBMS_RANDOM.VALUE()) AS `col01`
FROM `df`
) `q01`
WHERE (`col01` <= 1)
Expand Down
2 changes: 1 addition & 1 deletion tests/testthat/_snaps/backend-postgres.md
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@
explain(mutate(db, y = x + 1))
Output
<SQL>
SELECT "test".*, "x" + 1.0 AS "y"
SELECT *, "x" + 1.0 AS "y"
FROM "test"

<PLAN>
Expand Down
8 changes: 3 additions & 5 deletions tests/testthat/_snaps/backend-snowflake.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
mutate(mf, rown = row_number())
Output
<SQL>
SELECT `df`.*, ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS `rown`
SELECT *, ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS `rown`
FROM `df`

---
Expand All @@ -36,9 +36,7 @@
mutate(group_by(mf, y), rown = row_number())
Output
<SQL>
SELECT
`df`.*,
ROW_NUMBER() OVER (PARTITION BY `y` ORDER BY (SELECT NULL)) AS `rown`
SELECT *, ROW_NUMBER() OVER (PARTITION BY `y` ORDER BY (SELECT NULL)) AS `rown`
FROM `df`

---
Expand All @@ -47,7 +45,7 @@
mutate(arrange(mf, y), rown = row_number())
Output
<SQL>
SELECT `df`.*, ROW_NUMBER() OVER (ORDER BY `y`) AS `rown`
SELECT *, ROW_NUMBER() OVER (ORDER BY `y`) AS `rown`
FROM `df`
ORDER BY `y`

2 changes: 1 addition & 1 deletion tests/testthat/_snaps/backend-sqlite.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
explain(filter(db, x > 2))
Output
<SQL>
SELECT `test`.*
SELECT *
FROM `test`
WHERE (`x` > 2.0)

Expand Down
Loading
Loading