[R] Passing bigint (8-byte) values from Postgres to R using RPostgreSQL
psql2555
postgresql.10.miller_2555 at spamgourmet.com
Fri Nov 28 09:15:20 CET 2008
Hi -
I have a simple R script that inserts values into a Postgres table to
generate a record that autogenerates a bigint unique ID (basically, a
customized bigserial value). When I query the table to retrieve the bigint
value, the value returned is not the same as the value created in the
database (as evidenced by a direct query of the database table via pgAdmin).
e.g. the value created should be an 8-byte integer (specifically
2007111600000100000). However, the value returned in R is different
(specifically 2007111600000100096). For every bigint value, the value
returned is the value generated by the database + 96.
An example of the code to obtain the value from the database is as follows:
------------------------------------
PgSQLdrv <- dbDriver("PostgreSQL")
con <-
dbConnect(PgSQLdrv,host="localhost",dbname="MyDB",user="user",password="password",port=5432)
rs <- dbSendQuery(con,statement = paste('SELECT "UID" FROM "mytable" LIMIT
1',sep='',collapse=''))
val <- fetch(rs,n = -1)
------------------------------------
How may I correct the error? Is this an endian issue with the Windows
driver?
Running:
Postgres v8.3.5
R v2.8.0
RPostgreSQL v0.1-2
Windows XP SP2
Thanks -
--
View this message in context: http://www.nabble.com/Passing-bigint-%288-byte%29-values-from-Postgres-to-R-using-RPostgreSQL-tp20730401p20730401.html
Sent from the R help mailing list archive at Nabble.com.
More information about the R-help
mailing list