[Rd] RC / methods package
Paul Gilbert
pgilbert902 at gmail.com
Sat Mar 24 21:29:59 CET 2012
(I think this is being caused by the new methods package in RC.)
In the RC (March 24) some of my packages are generating a Note
Note: Method with signature "MySQLConnection#integer" chosen for
function "coerce",
target signature "TSMySQLConnection#integer".
"dbObjectId#integer" would also be valid
This is coming from a call to dbGetQuery() in package DBI. The method
with the signature "TSMySQLConnection#integer" is generated
automatically because TSMySQLConnection inherits from
MySQLConnection. (More details below.)
Is there a way to pass this information along to coerce when the method
is generated, or otherwise suppress the Note?
BTW,
1/ It would be nice if the Note mentioned what method is generating
it, in addition to the signature. Debugging for a call several levels
deep in the stack is already hard enough.
2/ The note only seems to get generated on the first call and then
gets suppressed. This will be nice for users, but makes debugging
harder. Is there a way to prevent suppressing the message?
3/ It seems strange that getMethod() cannot find the methods even
though showMethods() shows it. (See below.)
Paul
________
>showMethods("dbGetQuery")
Function: dbGetQuery (package DBI)
conn="MySQLConnection", statement="character"
> z <- TSget("Series 1", con, TSrepresentation="timeSeries")
Note: Method with signature "MySQLConnection#integer" chosen for
function "coerce",
target signature "TSMySQLConnection#integer".
"dbObjectId#integer" would also be valid
Loading required package: zoo
Attaching package: ‘zoo’
The following object(s) are masked from ‘package:timeSeries’:
time<-
The following object(s) are masked from ‘package:base’:
as.Date, as.Date.numeric
> showMethods("dbGetQuery")
Function: dbGetQuery (package DBI)
conn="MySQLConnection", statement="character"
conn="TSMySQLConnection", statement="character"
(inherited from: conn="MySQLConnection", statement="character")
> getMethod("dbGetQuery", signature = c("TSMySQLConnection",
statement="character"))
Error in getMethod("dbGetQuery", signature = c("TSMySQLConnection",
statement = "character")) :
No method found for function "dbGetQuery" and signature
TSMySQLConnection, character
>
More information about the R-devel
mailing list