> lf <- lazy_frame(a = 1:3, b = 3:1)
> # head
> lf %>% head(1) %>% arrange(a)
<SQL>
SELECT *
FROM (SELECT *
FROM `df`
LIMIT 1) `dbplyr_001`
ORDER BY `a`

> lf %>% arrange(a) %>% head(1)
<SQL>
SELECT *
FROM `df`
ORDER BY `a`
LIMIT 1

> lf %>% arrange(a) %>% head(1) %>% arrange(b)
<SQL>
SELECT *
FROM (SELECT *
FROM (SELECT *
FROM `df`
ORDER BY `a`) `dbplyr_002`
LIMIT 1) `dbplyr_003`
ORDER BY `b`

> # mutate
> lf %>% mutate(a = b) %>% arrange(a)
<SQL>
SELECT `b` AS `a`, `b`
FROM `df`
ORDER BY `a`

> # complex mutate
> lf %>% arrange(a) %>% mutate(a = b) %>% arrange(a)
<SQL>
SELECT `b` AS `a`, `b`
FROM (SELECT *
FROM `df`
ORDER BY `a`) `dbplyr_004`
ORDER BY `a`

> lf %>% arrange(a) %>% mutate(a = 1) %>% arrange(b)
<SQL>
SELECT 1.0 AS `a`, `b`
FROM (SELECT *
FROM `df`
ORDER BY `a`) `dbplyr_005`
ORDER BY `b`

> lf %>% arrange(a) %>% mutate(b = a) %>% arrange(b)
<SQL>
SELECT `a`, `a` AS `b`
FROM (SELECT *
FROM `df`
ORDER BY `a`) `dbplyr_006`
ORDER BY `b`

> lf %>% arrange(a) %>% mutate(b = 1) %>% arrange(b)
<SQL>
SELECT `a`, 1.0 AS `b`
FROM (SELECT *
FROM `df`
ORDER BY `a`) `dbplyr_007`
ORDER BY `b`

> lf %>% mutate(a = -a) %>% arrange(a) %>% mutate(a = -a)
<SQL>
SELECT -`a` AS `a`, `b`
FROM (SELECT *
FROM (SELECT -`a` AS `a`, `b`
FROM `df`) `dbplyr_008`
ORDER BY `a`) `dbplyr_009`

