% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/backend-adbc.R
\name{backend-adbc}
\alias{backend-adbc}
\title{ADBC backend}
\description{
This backend supports databases accessed via \code{AdbiConnection} created by
\code{adbi::adbi()} and \code{\link[DBI:dbConnect]{DBI::dbConnect()}}. dbplyr automatically detects the
underlying database type by querying the ADBC driver's vendor name and
uses the appropriate SQL dialect.

The following vendors are recognized:
\itemize{
\item PostgreSQL and PostgreSQL-compatible systems (CrateDB, CockroachDB,
Citus, Neon, ParadeDB, TimescaleDB, Yellowbrick, YugabyteDB, CedarDB):
\code{\link[=dialect_postgres]{dialect_postgres()}}
\item MySQL and MySQL-compatible systems (MariaDB, TiDB, Vitess): the
appropriate dialect (\code{\link[=dialect_mariadb]{dialect_mariadb()}} for MariaDB, \code{\link[=dialect_mysql]{dialect_mysql()}}
otherwise)
\item SQLite: \code{\link[=dialect_sqlite]{dialect_sqlite()}}
\item Microsoft SQL Server: \code{\link[=dialect_mssql]{dialect_mssql()}}
\item Snowflake: \code{\link[=dialect_snowflake]{dialect_snowflake()}}
\item Amazon Redshift: \code{\link[=dialect_redshift]{dialect_redshift()}}
}

If your database is not recognized, dbplyr will fall back to a generic ODBC
dialect. In this case, or if dbplyr guesses wrong, you can use
\code{\link[=with_dialect]{with_dialect()}} to choose a specific dialect.

See \code{vignette("translation-function")} and \code{vignette("translation-verb")} for
details of overall translation technology.
}
\examples{
# ADBC connections require the adbi package and an ADBC driver.
# Once connected, dbplyr automatically detects the database type:
#
# library(adbi)
# library(dplyr, warn.conflicts = FALSE)
#
# con <- DBI::dbConnect(adbi::adbi("adbcsqlite"), uri = ":memory:")
# tbl(con, "my_table") |> filter(x > 1)
}
