Commit Graph

124 Commits

Author SHA1 Message Date
Bruce Momjian 7971539020 heap_fetch requires buffer pointer, must be released; heap_getnext
no longer returns buffer pointer, can be gotten from scan;
	descriptor; bootstrap can create multi-key indexes;
pg_procname index now is multi-key index; oidint2, oidint4, oidname
are gone (must be removed from regression tests); use System Cache
rather than sequential scan in many places; heap_modifytuple no
longer takes buffer parameter; remove unused buffer parameter in
a few other functions; oid8 is not index-able; remove some use of
single-character variable names; cleanup Buffer variables usage
and scan descriptor looping; cleaned up allocation and freeing of
tuples; 18k lines of diff;
1998-08-19 02:04:17 +00:00
Vadim B. Mikheev 2a67742412 Fix _lo_commit: core if LO memmory context was not created (LO were not used?) 1998-07-22 05:48:59 +00:00
Bruce Momjian e0058b6172 Theses buffer leaks are caused by indexes that are kept open between
calls. Outside a transaction, the backend detects them as buffer
leaks; it sends a NOTICE, and frees them. This sometimes cause a
segmentation fault (at least on Linux). These indexes are initialized
on the first lo_read/lo_write/lo_tell call, and (normally) closed
on a lo_close call.  Thus the buffer leaks appear when lo direct
access functions are used, and not with lo_import/lo_export functions
(libpq version calls lo_close before ending the command, and the
backend version uses another path).

The included patches (against recent snapshot, and against 6.3.2)
cause indexes to be closed on transaction end (that is on explicit
'END' statment, or on command termination outside trasaction blocks),
thus preventing the buffer leaks while increasing performance inside
transactions. Some (all?) 'classic' memory leaks are also removed.

I hope it will be ok.

--- Pascal ANDRE, graduated from Ecole Centrale Paris andre@via.ecp.fr
1998-07-21 04:17:30 +00:00
Bruce Momjian 6bd323c6b3 Remove un-needed braces around single statements. 1998-06-15 19:30:31 +00:00
Bruce Momjian 58fffea03c Cleanups for large objects, so file is trucated on open, fix for
solaris/spare shared libararies, new error message for postmaster
startup, and makefile cleanups.
1998-05-12 21:44:08 +00:00
Bruce Momjian 679d39b9c8 Goodbye ABORT. Hello ERROR for all errors. 1998-01-07 21:07:04 +00:00
Bruce Momjian 0d9fc5afd6 Change elog(WARN) to elog(ERROR) and elog(ABORT). 1998-01-05 03:35:55 +00:00
Bruce Momjian 53026db75e More VARHDRSZ additions. 1997-12-08 04:42:48 +00:00
Bruce Momjian f3af1368bd Rename strNcpy to StrNCpy, and change third parameter. 1997-10-25 01:10:58 +00:00
Bruce Momjian 59f6a57e59 Used modified version of indent that understands over 100 typedefs. 1997-09-08 21:56:23 +00:00
Bruce Momjian 319dbfa736 Another PGINDENT run that changes variable indenting and case label indenting. Also static variable indenting. 1997-09-08 02:41:22 +00:00
Bruce Momjian 1ccd423235 Massive commit to run PGINDENT on all *.c and *.h files. 1997-09-07 05:04:48 +00:00
Bruce Momjian ea5b5357cd Remove more (void) and fix -Wall warnings. 1997-08-12 22:55:25 +00:00
Bruce Momjian edb58721b8 Fix pgproc names over 15 chars in output. Add strNcpy() function. remove some (void) casts that are unnecessary. 1997-08-12 20:16:25 +00:00
Bruce Momjian fb5be867ef LO patches for loimport/loexport from Raymond Toy 1997-06-10 13:01:32 +00:00
Thomas G. Lockhart fad56c5211 Change LOread() and LOwrite() to loread() and lowrite() to allow use
by case-insensitive SQL parser.
1997-05-06 07:16:21 +00:00
Vadim B. Mikheev 42e72503a1 #include <string.h> 1997-04-21 04:28:59 +00:00
Marc G. Fournier cbaa98835c From: Raymond Toy <toy@rtp.ericsson.se>
Subject: [PATCHES] 970417:  some large object patches


Two patches here, made against 970417.  Both have to do with large
objects:

        1.  lobjfuncs was not initialized in PQconnectdb.  This causes
            failure later if large objects are used.  (Someone already
            caught this error in PQsetdb.)

        2.  Postgres functions lo_import and lo_export sometimes
            produce garbage for the file names because the filename
            strings aren't always terminated by \0.  (VARDATA isn't
            necessarily null terminated.)
1997-04-17 20:39:31 +00:00
Marc G. Fournier dcd2332a4d Patch from Sven Verdoolaege <skimo@breughel.ufsia.ac.be> for large_objects 1997-03-18 21:30:41 +00:00
Bruce Momjian 36aaf2505d Correct permissions on lo_export(). Open up permissions. 1996-11-15 18:38:20 +00:00
Marc G. Fournier a472a29bb4 I'm getting there, slowly :) 1996-11-06 08:48:33 +00:00
Marc G. Fournier ae1d931e88 clean up makefile
add #include "postgres.h"
1996-10-31 10:37:53 +00:00
Marc G. Fournier fb7f8e7655 diff -ru ../../../orig/postgres95/src/backend/libpq/be-fsstubs.c
./libpq/be-fsstubs.c
- --- ../../../orig/postgres95/src/backend/libpq/be-fsstubs.c     Tue Jul  9
08:21:30 1996
+++ ./libpq/be-fsstubs.c        Tue Sep 17 15:30:09 1996
@@ -241,7 +241,7 @@
      */
     fd = open(VARDATA(filename), O_RDONLY, 0666);
     if (fd < 0)  {   /* error */
- -       elog(WARN, "lo_import: can't open unix file\"%s\"\n", filename);
+       elog(WARN, "lo_import: can't open unix file \"%s\"\n",
VARDATA(filename));
     }

     /*


Submited by: skimo@breughel.ufsia.ac.be (Sven Verdoolaege)
1996-09-23 08:29:52 +00:00
Marc G. Fournier d31084e9d1 Postgres95 1.01 Distribution - Virgin Sources 1996-07-09 06:22:35 +00:00