dbWriteTable permission problem on Mac OSX
On Nov 5, 2009, at 9:55 AM, Dirk Eddelbuettel wrote:
On 5 November 2009 at 10:45, McGehee, Robert wrote:
| My /tmp directory also has a sticky bit.
|
| Here's my guess of the problem. This chunk of code from the
| 'dbWriteTable' method 'postgresqlWriteTable' specifies different
| directories for Linux and non-Linux (e.g. Mac) tempfiles.
| if(as.character(Sys.info()["sysname"])=="Linux")
| fn <- tempfile("rsdbi","/tmp")
| else
| fn <- tempfile("rsdbi")
Spot on! Sameer added this on my recommendation based on the very
same /tmp
issue problem. Too bad I couldn't remember that this week :-/
| This difference is significant because on my Mac, the data file is
saved
| inside an R tempdir with only user read permissions:
| drwx------ 2 a347549 pcap 40 Oct 30 14:05 Rtmp8fgNQf/
|
| while on Linux, the file is saved in /tmp, with whatever permissions
| that has. So, presumably either patching the code as follows:
| - if(as.character(Sys.info()["sysname"])=="Linux")
| + if(as.character(Sys.info()["sysname"]) %in% c("Linux",
"Darwin"))
Agreed. Explicitly CC'ing Neil for OS X advice -- Darwin is the
best test?
Dirk, "Darwin" is correct for Mac OS X. The test dbWriteTableTest.R works for me without this change. Is the test not robust enough? Neil