Skip to content
Back to formatted view

Raw Message

Message-ID: <4F6E2EC7.2060001@gmail.com>
Date: 2012-03-24T20:29:59Z
From: Paul Gilbert
Subject: RC / methods package

(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
 >