- 01 Jun, 2001 1 commit
-
-
Tom Lane authored
report on old-style functions invoked by RI triggers. We had a number of other places that were being sloppy about which memory context FmgrInfo subsidiary data will be allocated in. Turns out none of them actually cause a problem in 7.1, but this is for arcane reasons such as the fact that old-style triggers aren't supported anyway. To avoid getting burnt later, I've restructured the trigger support so that we don't keep trigger FmgrInfo structs in relcache memory. Some other related cleanups too: it's not really necessary to call fmgr_info at all while setting up the index support info in relcache entries, because those ScanKeyEntry structs are never used to invoke the functions. This should speed up relcache initialization a tiny bit.
-
- 30 May, 2001 1 commit
-
-
Bruce Momjian authored
-
- 18 May, 2001 1 commit
-
-
Bruce Momjian authored
-
- 16 May, 2001 1 commit
-
-
Bruce Momjian authored
-
- 15 May, 2001 2 commits
-
-
Bruce Momjian authored
-
Bruce Momjian authored
Re-add pg_index.indisclustered in a minimalist way. Also fix BSDi dynamic linker change. #include must be before #ifdef test.
-
- 14 May, 2001 1 commit
-
-
Bruce Momjian authored
-
- 07 May, 2001 1 commit
-
-
Tom Lane authored
a separate statement (though it can still be invoked as part of VACUUM, too). pg_statistic redesigned to be more flexible about what statistics are stored. ANALYZE now collects a list of several of the most common values, not just one, plus a histogram (not just the min and max values). Random sampling is used to make the process reasonably fast even on very large tables. The number of values and histogram bins collected is now user-settable via an ALTER TABLE command. There is more still to do; the new stats are not being used everywhere they could be in the planner. But the remaining changes for this project should be localized, and the behavior is already better than before. A not-very-related change is that sorting now makes use of btree comparison routines if it can find one, rather than invoking '<' twice.
-
- 02 Apr, 2001 1 commit
-
-
Bruce Momjian authored
-
- 22 Mar, 2001 2 commits
-
-
Bruce Momjian authored
-
Bruce Momjian authored
-
- 23 Feb, 2001 2 commits
-
-
Hiroshi Inoue authored
-
Hiroshi Inoue authored
-
- 29 Jan, 2001 1 commit
-
-
Tom Lane authored
allocated by plan nodes are not leaked at end of query. This doesn't really matter for normal queries, but it sure does for queries invoked repetitively inside SQL functions. Clean up some other grotty code associated with tupdescs, and fix a few other memory leaks exposed by tests with simple SQL functions.
-
- 24 Jan, 2001 3 commits
-
-
Bruce Momjian authored
-
Hiroshi Inoue authored
-
Tom Lane authored
than forcing 'plain'. This probably does not matter right now, but I think it needs to be consistent with the regular (not-functional) index case, where attstorage is copied from the underlying table. Clean up some other dead and infelicitous code too.
-
- 23 Jan, 2001 1 commit
-
-
Tom Lane authored
bothering to check the return value --- which meant that in case the update or delete failed because of a concurrent update, you'd not find out about it, except by observing later that the transaction produced the wrong outcome. There are now subroutines simple_heap_update and simple_heap_delete that should be used anyplace that you're not prepared to do the full nine yards of coping with concurrent updates. In practice, that seems to mean absolutely everywhere but the executor, because *noplace* else was checking.
-
- 18 Jan, 2001 2 commits
-
-
Hiroshi Inoue authored
-
Hiroshi Inoue authored
the tuple is already uodated. (If LockClassinfoForUpdate() is thought to be useful).
-
- 22 Dec, 2000 1 commit
-
-
Tom Lane authored
table that inherits from a temp table. Make sure the right things happen if one creates a temp table, creates another temp that inherits from it, then renames the first one. (Previously, system would end up trying to delete the temp tables in the wrong order.)
-
- 09 Dec, 2000 1 commit
-
-
Tom Lane authored
-
- 08 Dec, 2000 1 commit
-
-
Hiroshi Inoue authored
-
- 16 Nov, 2000 1 commit
-
-
Tom Lane authored
maintained for each cache entry. A cache entry will not be freed until the matching ReleaseSysCache call has been executed. This eliminates worries about cache entries getting dropped while still in use. See my posting to pg-hackers of even date for more info.
-
- 08 Nov, 2000 1 commit
-
-
Tom Lane authored
(WAL logging for this is not done yet, however.) Clean up a number of really crufty things that are no longer needed now that DROP behaves nicely. Make temp table mapper do the right things when drop or rename affecting a temp table is rolled back. Also, remove "relation modified while in use" error check, in favor of locking tables at first reference and holding that lock throughout the statement.
-
- 11 Oct, 2000 1 commit
-
-
Bruce Momjian authored
-
- 05 Oct, 2000 1 commit
-
-
Bruce Momjian authored
Fix misspelling of disbursion to dispersion.
-
- 14 Jul, 2000 1 commit
-
-
Tom Lane authored
pass-by-ref data types --- eg, an index on lower(textfield) --- no longer leak memory during index creation or update. Clean up a lot of redundant code ... did you know that copy, vacuum, truncate, reindex, extend index, and bootstrap each basically duplicated the main executor's logic for extracting information about an index and preparing index entries? Functional indexes should be a little faster now too, due to removal of repeated function lookups. CREATE INDEX 'opt_type' clause is deimplemented by these changes, but I haven't removed it from the parser yet (need to merge with Thomas' latest change set first).
-
- 12 Jul, 2000 1 commit
-
-
Tom Lane authored
memory contexts. Currently, only leaks in expressions executed as quals or projections are handled. Clean up some old dead cruft in executor while at it --- unused fields in state nodes, that sort of thing.
-
- 05 Jul, 2000 2 commits
-
-
Tom Lane authored
one of updating the whole text datatype, but there are so dang many calls of these two routines that it seems worth a separate commit.
-
Jan Wieck authored
Special handling of TOAST relations during VACUUM. TOAST relations are vacuumed while the lock on the master table is still active. The ANALYZE flag doesn't propagate to their vacuuming because the toaster access routines allways use index access ignoring stats, so why compute them at all. Protection of TOAST relations against normal INSERT/UPDATE/DELETE while offering SELECT for debugging purposes. Jan
-
- 04 Jul, 2000 1 commit
-
-
Tom Lane authored
Don't go through pg_exec_query_dest(), but directly to the execution routines. Also, extend parameter lists so that there's no need to change the global setting of allowSystemTableMods, a hack that was certain to cause trouble in the event of any error.
-
- 30 Jun, 2000 1 commit
-
-
Tom Lane authored
entry that has rules. This allows us to release the rule parsetrees on relcache flush without needing a working freeObject() routine. Formerly, the rule trees were leaked permanently at relcache flush. Also, clean up handling of rule creation and deletion --- there was not sufficient locking of the relation being modified, and there was no reliable notification of other backends that a relcache reload was needed. Also, clean up relcache.c code so that scans of system tables needed to load a relcache entry are done in the caller's memory context, not in CacheMemoryContext. This prevents any un-pfreed memory from those scans from becoming a permanent memory leak.
-
- 28 Jun, 2000 1 commit
-
-
Tom Lane authored
for details). It doesn't really do that much yet, since there are no short-term memory contexts in the executor, but the infrastructure is in place and long-term contexts are handled reasonably. A few long- standing bugs have been fixed, such as 'VACUUM; anything' in a single query string crashing. Also, out-of-memory is now considered a recoverable ERROR, not FATAL. Eliminate a large amount of crufty, now-dead code in and around memory management. Fix problem with holding off SIGTRAP, SIGSEGV, etc in postmaster and backend startup.
-
- 18 Jun, 2000 1 commit
-
-
Tom Lane authored
materialized tupleset is small enough) instead of a temporary relation. This was something I was thinking of doing anyway for performance, and Jan says he needs it for TOAST because he doesn't want to cope with toasting noname relations. With this change, the 'noname table' support in heap.c is dead code, and I have accordingly removed it. Also clean up 'noname' plan handling in planner --- nonames are either sort or materialize plans, and it seems less confusing to handle them separately under those names.
-
- 17 Jun, 2000 3 commits
-
-
Tom Lane authored
passing the index-is-unique flag to index build routines (duh! ... why wasn't it done this way to begin with?). Aside from eliminating an eyesore, this should save a few milliseconds in btree index creation because a full scan of pg_index is not needed any more.
-
Tom Lane authored
discussion of 5/19/00). pg_index is now searched for indexes of a relation using an indexscan. Moreover, this is done once and cached in the relcache entry for the relation, in the form of a list of OIDs for the indexes. This list is used by the parser and executor to drive lookups in the pg_index syscache when they want to know the properties of the indexes. Net result: index information will be fully cached for repetitive operations such as inserts.
-
Tom Lane authored
pointers, namely the catcache tuple fetch routines. Also get rid of the unused and possibly confusing 'size' field in struct cachedesc. Since it doesn't allow for variable-length fields, anyone who actually trusted it would likely be making a mistake...
-
- 15 Jun, 2000 1 commit
-
-
Bruce Momjian authored
-
- 08 Jun, 2000 1 commit
-
-
Bruce Momjian authored
-