Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Don't use braces with standardGeneric() #146

Closed
krlmlr opened this issue Nov 16, 2016 · 0 comments
Closed

Don't use braces with standardGeneric() #146

krlmlr opened this issue Nov 16, 2016 · 0 comments
Assignees

Comments

@krlmlr
Copy link
Member

krlmlr commented Nov 16, 2016

See e.g. difference between dbBind(), which uses braces, and dbConnect(), which doesn't:

> dbBind
nonstandardGenericFunction for "dbBind" defined from package "DBI"

function (res, params, ...) 
{
    standardGeneric("dbBind")
}
<environment: 0x52a27b8>
Methods may be defined for arguments: res, params
Use  showMethods("dbBind")  for currently available ones.
> dbConnect
standardGeneric for "dbConnect" defined from package "DBI"
  defined with value class: "DBIConnection"

function (drv, ...) 
{
    ans <- standardGeneric("dbConnect")
    .valueClassTest(ans, "DBIConnection", "dbConnect")
}
<environment: 0x447acb8>
Methods may be defined for arguments: drv
Use  showMethods("dbConnect")  for currently available ones.

This probably interacts with #135.

Reported by Hervé Pagès.

@krlmlr krlmlr self-assigned this Nov 30, 2016
@krlmlr krlmlr closed this as completed in f39ec1d Nov 30, 2016
@ghost ghost removed the in progress label Nov 30, 2016
krlmlr added a commit that referenced this issue Dec 2, 2016
- Remove `valueClass = "logical"` for those generics where the return value is meaningless, to allow backends to return invisibly (#135).
- New `dbQuoteIdentifier(DBIConnection, list)` to support quoting multi-component identifiers such as tables in a schema (#71). DBI backends should implement this method for schema support.
- Renamed arguments to `sqlInterpolate()` and `sqlParseVariables()`, the former gains a `.dots` argument (#140, #147).
until RSQLite 1.1 has been built for OS X
- Remove `max.connections` requirement from documentation (#56).
- Enable `dbBind()` example (#136).
- Use roxygen2 inheritance to copy DBI specification to this package.
- Avoid using braces in the definitions of generics if possible, so that standard generics can be detected (#146).
- Change `omegahat.org` URL to `omegahat.net`, the particular document still doesn't exist below the new domain.
- Use `tic` package for building documentation.
krlmlr added a commit that referenced this issue Mar 10, 2017
- Interface changes
    - Deprecated `dbDriver()` and `dbUnloadDriver()` by documentation (#21).
    - Renamed arguments to  `sqlInterpolate()` and `sqlParseVariables()` to be more consistent with the rest of the interface, and added `.dots` argument to `sqlParseVariables`. DBI drivers are now expected to implement `sqlParseVariables(conn, sql, ..., .dots)` and `sqlInterpolate(conn, sql, ...)` (#147).

- Interface enhancements
    - Removed `valueClass = "logical"` for those generics where the return value is meaningless, to allow backends to return invisibly (#135).
    - Avoiding using braces in the definitions of generics if possible, so that standard generics can be detected (#146).
    - Added default implementation for `dbReadTable()`.
    - All standard generics are required to have an ellipsis (with test), for future extensibility.    - Improved default implementation of `dbQuoteString()` and `dbQuoteIdentifier()` (#77).
    - Removed `tryCatch()` call in `dbGetQuery()` (#113).

- Documentation improvements
    - Finalized first draft of DBI specification, now in a vignette.
    - Most methods now draw documentation from `DBItest`, only those where the behavior is not finally decided don't do this yet yet.
    - Removed `max.connections` requirement from documentation (#56).
    - Improved `dbBind()` documentation and example (#136).
    - Change `omegahat.org` URL to `omegahat.net`, the particular document still doesn't exist below the new domain.

- Internal
    - Use roxygen2 inheritance to copy DBI specification to this package.
    - Use `tic` package for building documentation.
    - Use markdown in documentation.
@github-actions github-actions bot locked and limited conversation to collaborators Oct 8, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant