## ----setup--------------------------------------------------------------------
library(ggsql)


## -----------------------------------------------------------------------------
ddb <- duckdb_reader()


## -----------------------------------------------------------------------------
#| eval: false
# ddb2 <- duckdb_reader("my/amazing/data.db")


## -----------------------------------------------------------------------------
ggsql_register(ddb, gapminder::gapminder, "gapminder")


## -----------------------------------------------------------------------------
ggsql_table_names(ddb)


## -----------------------------------------------------------------------------
ggsql_execute_sql(ddb, "
SELECT MAX(pop) AS population, country FROM gapminder
GROUP BY country
ORDER BY population DESC
LIMIT 6
")


## -----------------------------------------------------------------------------
plot <- ggsql_execute(ddb, "
SELECT * FROM gapminder
WHERE year = 2007

VISUALIZE gdpPercap AS x, lifeExp AS y, continent AS stroke, pop AS size
DRAW point
  SETTING fill => null
SCALE size TO (2, 15)
")

str(plot)


## -----------------------------------------------------------------------------
ggsql_visual(plot)


## -----------------------------------------------------------------------------
vlr <- vegalite_writer()


## -----------------------------------------------------------------------------
plot


## -----------------------------------------------------------------------------
ggsql_render(vlr, plot)


## -----------------------------------------------------------------------------
tmp <- tempfile(fileext = ".svg")
ggsql_save(plot, tmp)
readLines(tmp)

