[Rd] Utilizing the internet module
Jeffrey Horner
jeff.horner at vanderbilt.edu
Fri Feb 24 00:07:29 CET 2006
Prof Brian Ripley wrote:
> On Thu, 23 Feb 2006, Jeffrey Horner wrote:
>
>> Hello all,
>>
>> I'd like to utilize the R_Sock* functions from R_ext/R-ftp-http.h in my
>> R package. The intent is to use these in conjunction with R_serialize()
>> to store R objects in a remote data store. I'm aware that version
>> 2.2.1 of "Writing R extensions" explains that these may be undocumented
>> and unstable, but I have a couple of questions:
>>
>> 1) are they platform independent? I presume they are...
>
>
> Only in sense that they have a common interface.
>
>> 2) What's the appropriate way to link against them? On Linux x86, I can
>> do this with the Makevars:
>
>
> You can, but that is a module and not a library and so it does not work
> on MacOS X and may well not work on Windows (you would be lucky prior to
> R 2.3.0).
>
> I wonder why you need a C interface at all. There is serialize() and
> socket connections are available at R level. Below that, Rsockopen etc
> are exported from R itself and underly make.socket etc.
I may not need it (or get to use it portably), but as far as using
Rsockopen, etc. am I right in assuming that a package writer would have
to copy the declarations from src/main/basedecl.h into his/her own code
in order to utilize them? This seems odd when there's already an exposed
(although undocumented) interface with R_Sock*, so what's the point of
having R_ext/R-ftp-http.h? Is it just for some xml package?
On a related note, how do I serialize() an R object to a database table
column of type BLOB? I've tried using RODBC but was unsuccessfully (see
R-sig-DB in Feb archive). I've also looked into RMySQL/DBI but I don't
think it's supported yet.
--
Jeffrey Horner Computer Systems Analyst School of Medicine
615-322-8606 Department of Biostatistics Vanderbilt University
More information about the R-devel
mailing list