mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-08-22 09:43:23 +02:00
These functions have been marked parallel safe, but the buildfarm's
response to commit e2933a6e1
exposed the flaw in that thinking:
if you try to use them on a temporary table, and they run inside
a parallel worker, they'll fail with "cannot access temporary tables
during a parallel operation".
Fix that by marking them parallel restricted instead. Maybe someday
we'll have a better answer and can reverse this decision.
Back-patch to v15. To go back further, we'd have to devise variant
versions of pre-1.10 pageinspect versions. Given the lack of field
complaints, it doesn't seem worth the trouble. We'll just deem
this case unsupported pre-v15. (If anyone does complain, it might
be good enough to update the markings manually in their DBs.)
Discussion: https://postgr.es/m/E1ox94a-000EHu-VH@gemulon.postgresql.org
58 lines
1.2 KiB
Meson
58 lines
1.2 KiB
Meson
pageinspect_sources = files(
|
|
'brinfuncs.c',
|
|
'btreefuncs.c',
|
|
'fsmfuncs.c',
|
|
'ginfuncs.c',
|
|
'gistfuncs.c',
|
|
'hashfuncs.c',
|
|
'heapfuncs.c',
|
|
'rawpage.c',
|
|
)
|
|
|
|
if host_system == 'windows'
|
|
pageinspect_sources += rc_lib_gen.process(win32ver_rc, extra_args: [
|
|
'--NAME', 'pageinspect',
|
|
'--FILEDESC', 'pageinspect - functions to inspect contents of database pages',])
|
|
endif
|
|
|
|
pageinspect = shared_module('pageinspect',
|
|
pageinspect_sources,
|
|
kwargs: contrib_mod_args,
|
|
)
|
|
contrib_targets += pageinspect
|
|
|
|
install_data(
|
|
'pageinspect--1.0--1.1.sql',
|
|
'pageinspect--1.1--1.2.sql',
|
|
'pageinspect--1.2--1.3.sql',
|
|
'pageinspect--1.3--1.4.sql',
|
|
'pageinspect--1.4--1.5.sql',
|
|
'pageinspect--1.5--1.6.sql',
|
|
'pageinspect--1.5.sql',
|
|
'pageinspect--1.6--1.7.sql',
|
|
'pageinspect--1.7--1.8.sql',
|
|
'pageinspect--1.8--1.9.sql',
|
|
'pageinspect--1.9--1.10.sql',
|
|
'pageinspect--1.10--1.11.sql',
|
|
'pageinspect.control',
|
|
kwargs: contrib_data_args,
|
|
)
|
|
|
|
tests += {
|
|
'name': 'pageinspect',
|
|
'sd': meson.current_source_dir(),
|
|
'bd': meson.current_build_dir(),
|
|
'regress': {
|
|
'sql': [
|
|
'page',
|
|
'btree',
|
|
'brin',
|
|
'gin',
|
|
'gist',
|
|
'hash',
|
|
'checksum',
|
|
'oldextversions',
|
|
],
|
|
},
|
|
}
|