Make R identifiers into legal SQL identifiers
These methods are DEPRECATED. Please use dbQuoteIdentifier()
(or possibly dbQuoteString()
) instead.
make.db.names( dbObj, snames, keywords = .SQL92Keywords, unique = TRUE, allow.keywords = TRUE, ... ) make.db.names.default( snames, keywords = .SQL92Keywords, unique = TRUE, allow.keywords = TRUE ) isSQLKeyword( dbObj, name, keywords = .SQL92Keywords, case = c("lower", "upper", "any")[3], ... ) isSQLKeyword.default( name, keywords = .SQL92Keywords, case = c("lower", "upper", "any")[3] )
dbObj |
any DBI object (e.g., |
snames |
a character vector of R identifiers (symbols) from which we need to make SQL identifiers. |
keywords |
a character vector with SQL keywords, by default it's
|
unique |
logical describing whether the resulting set of SQL names
should be unique. Its default is |
allow.keywords |
logical describing whether SQL keywords should be
allowed in the resulting set of SQL names. Its default is |
... |
any other argument are passed to the driver implementation. |
name |
a character vector with database identifier candidates we need to determine whether they are legal SQL identifiers or not. |
case |
a character string specifying whether to make the comparison as
lower case, upper case, or any of the two. it defaults to |
The algorithm in make.db.names
first invokes make.names
and
then replaces each occurrence of a dot .
by an underscore _
. If
allow.keywords
is FALSE
and identifiers collide with SQL
keywords, a small integer is appended to the identifier in the form of
"_n"
.
The set of SQL keywords is stored in the character vector
.SQL92Keywords
and reflects the SQL ANSI/ISO standard as documented
in "X/Open SQL and RDA", 1994, ISBN 1-872630-68-8. Users can easily
override or update this vector.
make.db.names
returns a character vector of legal SQL
identifiers corresponding to its snames
argument.
SQLKeywords
returns a character vector of all known keywords for the
database-engine associated with dbObj
.
isSQLKeyword
returns a logical vector parallel to name
.
The current mapping is not guaranteed to be fully reversible: some SQL
identifiers that get mapped into R identifiers with make.names
and
then back to SQL with make.db.names()
will not be equal to the
original SQL identifiers (e.g., compound SQL identifiers of the form
username.tablename
will loose the dot “.”).
The set of SQL keywords is stored in the character vector
.SQL92Keywords
and reflects the SQL ANSI/ISO standard as documented
in "X/Open SQL and RDA", 1994, ISBN 1-872630-68-8. Users can easily
override or update this vector.
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.