Compare commits
4 Commits
ae2ccf66a2
...
f66fcc5cd6
Author | SHA1 | Date |
---|---|---|
Amit Kapila | f66fcc5cd6 | |
Andres Freund | aa11a9c149 | |
Thomas Munro | 3b51265ee3 | |
Heikki Linnakangas | f93133a250 |
|
@ -2924,8 +2924,12 @@ potentially_conflicting_files = []
|
||||||
foreach t : potentially_conflicting_files_t
|
foreach t : potentially_conflicting_files_t
|
||||||
potentially_conflicting_files += t.full_path()
|
potentially_conflicting_files += t.full_path()
|
||||||
endforeach
|
endforeach
|
||||||
foreach t : configure_files
|
foreach t1 : configure_files
|
||||||
t = '@0@'.format(t)
|
if meson.version().version_compare('>=0.59')
|
||||||
|
t = fs.parent(t1) / fs.name(t1)
|
||||||
|
else
|
||||||
|
t = '@0@'.format(t1)
|
||||||
|
endif
|
||||||
potentially_conflicting_files += meson.current_build_dir() / t
|
potentially_conflicting_files += meson.current_build_dir() / t
|
||||||
endforeach
|
endforeach
|
||||||
foreach sub, fnames : generated_sources_ac
|
foreach sub, fnames : generated_sources_ac
|
||||||
|
|
|
@ -632,7 +632,7 @@ hash_xlog_squeeze_page(XLogReaderState *record)
|
||||||
XLogRecPtr lsn = record->EndRecPtr;
|
XLogRecPtr lsn = record->EndRecPtr;
|
||||||
xl_hash_squeeze_page *xldata = (xl_hash_squeeze_page *) XLogRecGetData(record);
|
xl_hash_squeeze_page *xldata = (xl_hash_squeeze_page *) XLogRecGetData(record);
|
||||||
Buffer bucketbuf = InvalidBuffer;
|
Buffer bucketbuf = InvalidBuffer;
|
||||||
Buffer writebuf;
|
Buffer writebuf = InvalidBuffer;
|
||||||
Buffer ovflbuf;
|
Buffer ovflbuf;
|
||||||
Buffer prevbuf = InvalidBuffer;
|
Buffer prevbuf = InvalidBuffer;
|
||||||
Buffer mapbuf;
|
Buffer mapbuf;
|
||||||
|
|
|
@ -614,6 +614,13 @@ InitAuxiliaryProcess(void)
|
||||||
* Arrange to clean up at process exit.
|
* Arrange to clean up at process exit.
|
||||||
*/
|
*/
|
||||||
on_shmem_exit(AuxiliaryProcKill, Int32GetDatum(proctype));
|
on_shmem_exit(AuxiliaryProcKill, Int32GetDatum(proctype));
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Now that we have a PGPROC, we could try to acquire lightweight locks.
|
||||||
|
* Initialize local state needed for them. (Heavyweight locks cannot be
|
||||||
|
* acquired in aux processes.)
|
||||||
|
*/
|
||||||
|
InitLWLockAccess();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -107,9 +107,8 @@ InitPostmasterChild(void)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Set reference point for stack-depth checking. This might seem
|
* Set reference point for stack-depth checking. This might seem
|
||||||
* redundant in !EXEC_BACKEND builds; but it's not because the postmaster
|
* redundant in !EXEC_BACKEND builds, but it's better to keep the depth
|
||||||
* launches its children from signal handlers, so we might be running on
|
* logic the same with and without that build option.
|
||||||
* an alternative stack.
|
|
||||||
*/
|
*/
|
||||||
(void) set_stack_base();
|
(void) set_stack_base();
|
||||||
|
|
||||||
|
|
|
@ -298,6 +298,20 @@ ROLLBACK;
|
||||||
INSERT INTO hash_cleanup_heap SELECT 1 FROM generate_series(1, 500) as i;
|
INSERT INTO hash_cleanup_heap SELECT 1 FROM generate_series(1, 500) as i;
|
||||||
CHECKPOINT;
|
CHECKPOINT;
|
||||||
VACUUM hash_cleanup_heap;
|
VACUUM hash_cleanup_heap;
|
||||||
|
TRUNCATE hash_cleanup_heap;
|
||||||
|
-- Insert tuples to both the primary bucket page and overflow pages.
|
||||||
|
INSERT INTO hash_cleanup_heap SELECT 1 FROM generate_series(1, 500) as i;
|
||||||
|
-- Fill overflow pages by "dead" tuples.
|
||||||
|
BEGIN;
|
||||||
|
INSERT INTO hash_cleanup_heap SELECT 1 FROM generate_series(1, 1500) as i;
|
||||||
|
ROLLBACK;
|
||||||
|
-- And insert some tuples again. During squeeze operation, these will be moved
|
||||||
|
-- to other overflow pages and also allow overflow pages filled by dead tuples
|
||||||
|
-- to be freed. Note the main purpose of this test is to test the case where
|
||||||
|
-- we don't need to move any tuple from the overflow page being freed.
|
||||||
|
INSERT INTO hash_cleanup_heap SELECT 1 FROM generate_series(1, 50) as i;
|
||||||
|
CHECKPOINT;
|
||||||
|
VACUUM hash_cleanup_heap;
|
||||||
-- Clean up.
|
-- Clean up.
|
||||||
DROP TABLE hash_cleanup_heap;
|
DROP TABLE hash_cleanup_heap;
|
||||||
-- Index on temp table.
|
-- Index on temp table.
|
||||||
|
|
|
@ -284,6 +284,23 @@ INSERT INTO hash_cleanup_heap SELECT 1 FROM generate_series(1, 500) as i;
|
||||||
CHECKPOINT;
|
CHECKPOINT;
|
||||||
VACUUM hash_cleanup_heap;
|
VACUUM hash_cleanup_heap;
|
||||||
|
|
||||||
|
TRUNCATE hash_cleanup_heap;
|
||||||
|
|
||||||
|
-- Insert tuples to both the primary bucket page and overflow pages.
|
||||||
|
INSERT INTO hash_cleanup_heap SELECT 1 FROM generate_series(1, 500) as i;
|
||||||
|
-- Fill overflow pages by "dead" tuples.
|
||||||
|
BEGIN;
|
||||||
|
INSERT INTO hash_cleanup_heap SELECT 1 FROM generate_series(1, 1500) as i;
|
||||||
|
ROLLBACK;
|
||||||
|
-- And insert some tuples again. During squeeze operation, these will be moved
|
||||||
|
-- to other overflow pages and also allow overflow pages filled by dead tuples
|
||||||
|
-- to be freed. Note the main purpose of this test is to test the case where
|
||||||
|
-- we don't need to move any tuple from the overflow page being freed.
|
||||||
|
INSERT INTO hash_cleanup_heap SELECT 1 FROM generate_series(1, 50) as i;
|
||||||
|
|
||||||
|
CHECKPOINT;
|
||||||
|
VACUUM hash_cleanup_heap;
|
||||||
|
|
||||||
-- Clean up.
|
-- Clean up.
|
||||||
DROP TABLE hash_cleanup_heap;
|
DROP TABLE hash_cleanup_heap;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue