From: Marc G. Fournier Date: Tue, 18 Mar 1997 21:30:41 +0000 (+0000) Subject: Patch from Sven Verdoolaege for large_objects X-Git-Tag: REL6_1~461 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=dcd2332a4d5da3f28e514c47ae5732cfc17d346e;p=postgresql Patch from Sven Verdoolaege for large_objects --- diff --git a/src/backend/libpq/be-fsstubs.c b/src/backend/libpq/be-fsstubs.c index c8ec2b4b8b..37952be212 100644 --- a/src/backend/libpq/be-fsstubs.c +++ b/src/backend/libpq/be-fsstubs.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/libpq/be-fsstubs.c,v 1.5 1996/11/15 18:38:20 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/libpq/be-fsstubs.c,v 1.6 1997/03/18 21:29:21 scrappy Exp $ * * NOTES * This should be moved to a more appropriate place. It is here @@ -140,11 +140,21 @@ lo_write(int fd, char *buf, int len) int lo_lseek(int fd, int offset, int whence) { + MemoryContext currentContext; + int ret; + if (fd >= MAX_LOBJ_FDS) { elog(WARN,"lo_seek: large obj descriptor (%d) out of range", fd); return -2; } - return inv_seek(cookies[fd], offset, whence); + + currentContext = MemoryContextSwitchTo((MemoryContext)fscxt); + + ret = inv_seek(cookies[fd], offset, whence); + + MemoryContextSwitchTo(currentContext); + + return ret; } Oid diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c index 77477ab222..a82d4d2fa8 100644 --- a/src/backend/utils/error/elog.c +++ b/src/backend/utils/error/elog.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/error/elog.c,v 1.13 1997/03/12 21:10:53 scrappy Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/error/elog.c,v 1.14 1997/03/18 21:30:39 scrappy Exp $ * *------------------------------------------------------------------------- */ @@ -50,7 +50,8 @@ elog(int lev, const char *fmt, ... ) #if !defined(BSD44_derived) && \ !defined(bsdi) && \ !defined(bsdi_2_1) && \ - !defined(linuxalpha) + !defined(linuxalpha) && \ + !defined(__GLIBC__) extern char *sys_errlist[]; #endif /* bsd derived */ #ifndef PG_STANDALONE diff --git a/src/backend/utils/error/exc.c b/src/backend/utils/error/exc.c index 9eae4ad109..fddb7bb82e 100644 --- a/src/backend/utils/error/exc.c +++ b/src/backend/utils/error/exc.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/error/Attic/exc.c,v 1.10 1997/03/12 21:10:56 scrappy Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/error/Attic/exc.c,v 1.11 1997/03/18 21:30:41 scrappy Exp $ * * NOTE * XXX this code needs improvement--check for state violations and @@ -96,7 +96,8 @@ ExcPrint(Exception *excP, #if !defined(BSD44_derived) && \ !defined(bsdi) && \ !defined(bsdi_2_1) && \ - !defined(linuxalpha) + !defined(linuxalpha) && \ + !defined(__GLIBC__) extern char *sys_errlist[]; #endif /* ! bsd_derived */