1 #-------------------------------------------------------------------------
2 # Perl script to create dummy probes.h file when dtrace is not available
4 # Copyright (c) 2008-2025, PostgreSQL Global Development Group
6 # src/backend/utils/Gen_dummy_probes.pl
7 #-------------------------------------------------------------------------
10 use warnings FATAL
=> 'all';
12 m/^\s*probe / || next;
13 s/^\s*probe ([^(]*)(.*);/$1$2/;
15 y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/;
16 s/^/#define TRACE_POSTGRESQL_/;
17 s/\([^,)]{1,}\)/(INT1)/;
18 s/\([^,)]{1,}, [^,)]{1,}\)/(INT1, INT2)/;
19 s/\([^,)]{1,}, [^,)]{1,}, [^,)]{1,}\)/(INT1, INT2, INT3)/;
20 s/\([^,)]{1,}, [^,)]{1,}, [^,)]{1,}, [^,)]{1,}\)/(INT1, INT2, INT3, INT4)/;
21 s/\([^,)]{1,}, [^,)]{1,}, [^,)]{1,}, [^,)]{1,}, [^,)]{1,}\)/(INT1, INT2, INT3, INT4, INT5)/;
22 s/\([^,)]{1,}, [^,)]{1,}, [^,)]{1,}, [^,)]{1,}, [^,)]{1,}, [^,)]{1,}\)/(INT1, INT2, INT3, INT4, INT5, INT6)/;
23 s/\([^,)]{1,}, [^,)]{1,}, [^,)]{1,}, [^,)]{1,}, [^,)]{1,}, [^,)]{1,}, [^,)]{1,}\)/(INT1, INT2, INT3, INT4, INT5, INT6, INT7)/;
24 s/\([^,)]{1,}, [^,)]{1,}, [^,)]{1,}, [^,)]{1,}, [^,)]{1,}, [^,)]{1,}, [^,)]{1,}, [^,)]{1,}\)/(INT1, INT2, INT3, INT4, INT5, INT6, INT7, INT8)/;
25 s/$/ do {} while (0)/;
27 s/\(.*$/_ENABLED() (0)/;