[Rd] Problem in 'methods' package (PR#4525)

ligges@statistik.uni-dortmund.de
Sat, 11 Oct 2003 11:41:25 -0000

feferraz@linux.ime.usp.br wrote:
>
> Full_Name: Fernando Henrique Ferraz Pereira da Rosa
> Version: 1.8.0
> OS: Linux 2.4.21
> Submission from: (NULL) (200.206.211.169)
>
>      After installing R 1.8.0, the R DBI interface stopped working. I
tracked it
> down as a problem in the 'methods' package, that comes in the
default
> installation.
>      Somehow the function '.valueClassTest' which is defined on
package
> 'methods', is not being defined.

It is. See below.

>      To ilustrate how this breaks DBI, try this in a 1.8.0 R install (with
DBI
> installed):
>
>       > library(DBI)
>       > con <- dbConnect(dbDriver("MySQL"), dbname =
"test")
> Error in dbConnect(dbDriver("MySQL"), dbname = "test")
:
>         couldn't find function ".valueClassTest"
>
>       A dirty fix would be defining it by hand (from
> src/library/methods/R/RMethodUtils.R) :
>
>    .valueClassTest <- function(object, classes, fname) {
>         (...)
>     }
>
>        (Which works), but ideally it'd be nice determning why the
function is
> not being defined on the first place.

Package "methods" has a namespace from which .valueClassTest() is not
exported, but it's in there, try:
  methods:::.valueClassTest

I think .valueClassTest() is not intended to be called by the user, so
the bug seems to be in package DBI rather than in R, and the maintainer
of DBI (David A. James <dj@bell-labs.com>, in CC) will certainly fix it.

Uwe Ligges