Check server_version before using lo_*64 functions. If less tahn 9.3 old none 64bit functions will be use.

This commit is contained in:
Blake Rouse 2014-09-10 16:31:11 -04:00
parent a6a1c0c25f
commit e06a70d0a9

View File

@ -392,7 +392,11 @@ lobject_seek(lobjectObject *self, long pos, int whence)
pthread_mutex_lock(&(self->conn->lock)); pthread_mutex_lock(&(self->conn->lock));
#if HAVE_LO64 #if HAVE_LO64
if (self->conn->server_version < 90300) {
where = (long)lo_lseek(self->conn->pgconn, self->fd, (int)pos, whence);
} else {
where = lo_lseek64(self->conn->pgconn, self->fd, pos, whence); where = lo_lseek64(self->conn->pgconn, self->fd, pos, whence);
}
#else #else
where = (long)lo_lseek(self->conn->pgconn, self->fd, (int)pos, whence); where = (long)lo_lseek(self->conn->pgconn, self->fd, (int)pos, whence);
#endif #endif
@ -423,7 +427,11 @@ lobject_tell(lobjectObject *self)
pthread_mutex_lock(&(self->conn->lock)); pthread_mutex_lock(&(self->conn->lock));
#if HAVE_LO64 #if HAVE_LO64
if (self->conn->server_version < 90300) {
where = (long)lo_tell(self->conn->pgconn, self->fd);
} else {
where = lo_tell64(self->conn->pgconn, self->fd); where = lo_tell64(self->conn->pgconn, self->fd);
}
#else #else
where = (long)lo_tell(self->conn->pgconn, self->fd); where = (long)lo_tell(self->conn->pgconn, self->fd);
#endif #endif
@ -484,7 +492,11 @@ lobject_truncate(lobjectObject *self, size_t len)
pthread_mutex_lock(&(self->conn->lock)); pthread_mutex_lock(&(self->conn->lock));
#if HAVE_LO64 #if HAVE_LO64
if (self->conn->server_version < 90300) {
retvalue = lo_truncate(self->conn->pgconn, self->fd, len);
} else {
retvalue = lo_truncate64(self->conn->pgconn, self->fd, len); retvalue = lo_truncate64(self->conn->pgconn, self->fd, len);
}
#else #else
retvalue = lo_truncate(self->conn->pgconn, self->fd, len); retvalue = lo_truncate(self->conn->pgconn, self->fd, len);
#endif #endif