Parse interpolated variables from SQL.
Source:R/interpolate.R
, R/sqlParseVariables.R
sqlParseVariables.Rd
If you're implementing a backend that uses non-ANSI quoting or commenting
rules, you'll need to implement a method for sqlParseVariables
that
calls sqlParseVariablesImpl
with the appropriate quote and
comment specifications.
Usage
sqlCommentSpec(start, end, endRequired)
sqlQuoteSpec(start, end, escape = "", doubleEscape = TRUE)
sqlParseVariablesImpl(sql, quotes, comments)
sqlParseVariables(conn, sql, ...)
Arguments
- start, end
Start and end characters for quotes and comments
- endRequired
Is the ending character of a comment required?
- escape
What character can be used to escape quoting characters? Defaults to
""
, i.e. nothing.- doubleEscape
Can quoting characters be escaped by doubling them? Defaults to
TRUE
.- sql
SQL to parse (a character string)
- quotes
A list of
QuoteSpec
calls defining the quoting specification.- comments
A list of
CommentSpec
calls defining the commenting specification.
Examples
# Use [] for quoting and no comments
sqlParseVariablesImpl("[?a]",
list(sqlQuoteSpec("[", "]", "\\", FALSE)),
list()
)
#> $start
#> integer(0)
#>
#> $end
#> integer(0)
#>
# Standard quotes, use # for commenting
sqlParseVariablesImpl("# ?a\n?b",
list(sqlQuoteSpec("'", "'"), sqlQuoteSpec('"', '"')),
list(sqlCommentSpec("#", "\n", FALSE))
)
#> $start
#> [1] 6
#>
#> $end
#> [1] 7
#>