aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/cache
Commit message (Collapse)AuthorAge
...
* RelationCacheInvalidate thought there were 7 nailed-in-cacheTom Lane1999-09-06
| | | | | system tables, but actually there are only 6 --- see RelationInitialize. Kinda makes you wonder how long ago this code was last executed...
* remove elogs used for debugging.Bruce Momjian1999-09-04
|
* Intercept temp table lookups further up to map temp names.Bruce Momjian1999-09-04
|
* In RelationNameGetRelation(), replace temp table name byTom Lane1999-09-04
| | | | | | real name before doing lookup. We only want to index temp tables by their real names in the relcache, to ensure there's not more than one relcache entry for them.
* Avoid transaction overhead when there are no temp tablesTom Lane1999-09-04
| | | | to be deleted.
* Invalidate temp entries for aborted transactions.Bruce Momjian1999-09-04
|
* Modify RelationFlushRelation so that if the relcache entryTom Lane1999-09-04
| | | | | | | | | | | has positive refcount, it is rebuilt from pg_class data. This ensures that relcache entries will track changes made by other backends. Formerly, a shared inval report would just be ignored if it happened to arrive while the relcache entry was in use. Also, fix relcache to reset ref counts to zero during transaction abort. Finally, change LockRelation() so that it checks for shared inval reports after obtaining the lock. In this way, once any kind of lock has been obtained on a rel, we can trust the relcache entry to be up-to-date.
* Repair a bunch of problems in md.c. This builds on Hiroshi'sTom Lane1999-09-02
| | | | | | | | | | | | | | | | | | | insight that RelationFlushRelation ought to invoke smgrclose, and that the way to make that work is to ensure that mdclose doesn't fail if the relation is already closed (or unlinked, if we are looking at a DROP TABLE). While I was testing that, I was able to identify several problems that we had with multiple-segment relations. The system is now able to do initdb and pass the regression tests with a very small segment size (I had it set to 64Kb per segment for testing). I don't believe that ever worked before. File descriptor leaks seem to be gone too. I have partially addressed the concerns we had about mdtruncate(), too. On a Win32 or NFS filesystem it is not possible to unlink a file that another backend is holding open, so what md.c now does is to truncate unwanted files to zero length before trying to unlink them. The other backends will be forced to close their open files by relation cache invalidation --- but I think it would take considerable work to make that happen before vacuum truncates the relation rather than after. Leaving zero-length files lying around seems a usable compromise.
* Add get_func_rettype() to general-use lsyscache routines,Tom Lane1999-08-16
| | | | since it's now needed in both optimizer and parser.
* Move get_attdisbursion to lsyscache. Clean up get_typdefault.Tom Lane1999-08-09
|
* Reverse out cache changes that are not ready yet.Bruce Momjian1999-07-20
|
* Use -ieee alpha flag for gcc and egcs only.Bruce Momjian1999-07-20
|
* Move some system includes into c.h, and remove duplicates.Bruce Momjian1999-07-17
|
* Final cleanupBruce Momjian1999-07-16
|
* Final cleanup.Bruce Momjian1999-07-16
|
* Update #include cleanupsBruce Momjian1999-07-16
|
* Change #include's to use <> and "" as appropriate.Bruce Momjian1999-07-15
|
* Remove unused #includes in *.c files.Bruce Momjian1999-07-15
|
* Clean up #include in /include directory. Add scripts for checking includes.Bruce Momjian1999-07-15
|
* Fix for \do and ceil()/float.Bruce Momjian1999-07-07
|
* Add abortcurrent trans to temp table fix.Bruce Momjian1999-07-03
|
* Fix for removal of temp tables if last transaction was aborted.Bruce Momjian1999-07-02
|
* Fix for failure to clean SysCache entry when a relation is deletedTom Lane1999-06-04
| | | | in the same transaction that created it.
* Fix some latent bugs in dllist.c (carelessness about settingTom Lane1999-05-31
| | | | | all fields that should be set). Add a MoveToFront primitive to speed up one of the hotspots in SearchSysCache.
* Clean up inefficient and just plain bad code in some hot-spotTom Lane1999-05-29
| | | | cache access routines.
* Another pgindent run. Sorry folks.Bruce Momjian1999-05-25
|
* pgindent run over code.Bruce Momjian1999-05-25
|
* Change error messages to oids come out as %u and not %d. Change has noBruce Momjian1999-05-10
| | | | real affect now.
* Arrange for VACUUM to delete the init file that relcache.c usesTom Lane1999-05-01
| | | | | | to save a little bit of backend startup time. This way, the first backend started after a VACUUM will rebuild the init file with up-to-date statistics for the critical system indexes.
* From: Tatsuo Ishii <t-ishii@sra.co.jp>Marc G. Fournier1999-02-21
| | | | | | Ok. I made patches replacing all of "#if FALSE" or "#if 0" to "#ifdef NOT_USED" for current. I have tested these patches in that the postgres binaries are identical.
* Change my-function-name-- to my_function_name, and optimizer renames.Bruce Momjian1999-02-13
|
* Cleanup of source files where 'return' or 'var =' is alone on a line.Bruce Momjian1999-02-03
|
* Add TEMP tables/indexes. Add COPY pfree(). Other cleanups.Bruce Momjian1999-02-02
|
* Relcache Size fix.Bruce Momjian1999-01-22
|
* Fix for Size sizeof in cache code.Bruce Momjian1999-01-22
|
* Apply Win32 patch from Horak Daniel.Bruce Momjian1999-01-17
|
* Initial MVCC code.Vadim B. Mikheev1998-12-15
| | | | New code for locking buffer' context.
* New HeapTuple structure/interface.Vadim B. Mikheev1998-11-27
|
* Fix for vacuum and cache use. Fix for BSDI 4.0.Bruce Momjian1998-10-12
|
* OK, folks, here is the pgindent output.Bruce Momjian1998-09-01
|
* Renaming cleanup, no pgindent yet.Bruce Momjian1998-09-01
|
* Hi all,Bruce Momjian1998-08-28
| | | | | | | | | | | | | | | | | | | | | | | I don't know if this is really related to the initdb problem discussion (haven't followed it enough). But seems so because it fixes a damn problem during index tuple insertion on CREATE TABLE into pg_attribute_relid_attnum_index. Anyway - this bug was really hard to find. During startup the relcache reads in some prepared information about index strategies from a file and then reinitializes the function pointers inside the scanKey data. But for sake it assumed single attribute index tuples (hasn't that changed recently). Thus not all the strategies scanKey entries where initialized properly, resulting in invalid addresses for the btree comparision functions. With the patch at the end the regression tests passed excellent except for the sanity_check that crashed at vacuum and the misc test where the select unique1 from onek2 outputs the two rows in different order. Jan
* o note that now pg_database has a new attribuite "encoding" evenBruce Momjian1998-08-24
| | | | | | | | | | | | | | | | | | | | | | if MULTIBYTE is not enabled. So be sure to run initdb. o these patches are made against the latest source tree (after Bruce's massive patch, I think) BTW, I noticed that after running regression, the oid field of pg_type seems disappeared. regression=> select oid from pg_type; ERROR: attribute 'oid' not found this happens after the constraints test. This occures with/without my patches. strange... o pg_database_mb.h, pg_class_mb.h, pg_attribute_mb.h are no longer used, and shoud be removed. o GetDatabaseInfo() in utils/misc/database.c removed (actually in #ifdef 0). seems nobody uses. t-ishii@sra.co.jp
* fix for index problem.Bruce Momjian1998-08-20
|
* fix for ecpg corruptionBruce Momjian1998-08-19
|
* heap_fetch requires buffer pointer, must be released; heap_getnextBruce Momjian1998-08-19
| | | | | | | | | | | | | 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;
* Allow a null pointer to be returned from get_opname().Thomas G. Lockhart1998-08-16
| | | | | Previously, had thrown an error, but looking for alternate strategies for table indices utilization would prefer to continue.
* Change owner from oid to int4 type.Bruce Momjian1998-08-11
|
* More op_class cleanup.Bruce Momjian1998-08-11
|
* MergeSort was sometimes called mergejoin and was confusing. NowBruce Momjian1998-08-04
| | | | it is now only mergejoin.