[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