=== Applying patches on top of PostgreSQL commit ID 89eafad297a9b01ad77cfc1ab93a433e0af894b0 === /etc/rc.d/jail: WARNING: Per-jail configuration via jail_* variables is obsolete. Please consider migrating to /etc/jail.conf. Mon Jun 8 01:47:24 UTC 2026 On branch cf/6663 nothing to commit, working tree clean === using 'git am' to apply patch ./v1-0001-Allow-a-condition-string-in-an-injection-point.patch === Applying: Allow a condition string in an injection point Using index info to reconstruct a base tree... M src/backend/utils/misc/injection_point.c M src/test/modules/injection_points/injection_points.c Falling back to patching base and 3-way merge... Auto-merging src/test/modules/injection_points/injection_points.c CONFLICT (content): Merge conflict in src/test/modules/injection_points/injection_points.c error: Failed to merge in the changes. hint: Use 'git am --show-current-patch=diff' to see the failed patch Patch failed at 0001 Allow a condition string in an injection point When you have resolved this problem, run "git am --continue". If you prefer to skip this patch, run "git am --skip" instead. To restore the original branch and stop patching, run "git am --abort". === using patch(1) to apply patch ./v1-0001-Allow-a-condition-string-in-an-injection-point.patch === patching file src/backend/utils/misc/injection_point.c Hunk #1 FAILED at 322. 1 out of 1 hunk FAILED -- saving rejects to file src/backend/utils/misc/injection_point.c.rej patching file src/test/modules/injection_points/expected/injection_points.out patching file src/test/modules/injection_points/injection_points--1.0.sql patching file src/test/modules/injection_points/injection_points.c Hunk #1 succeeded at 40 with fuzz 1 (offset 1 line). Hunk #2 FAILED at 52. Hunk #3 FAILED at 63. Hunk #4 succeeded at 151 (offset -23 lines). Hunk #5 succeeded at 197 (offset -23 lines). Hunk #6 succeeded at 213 (offset -23 lines). Hunk #7 succeeded at 235 (offset -23 lines). Hunk #8 succeeded at 296 (offset -23 lines). Hunk #9 succeeded at 311 (offset -23 lines). 2 out of 9 hunks FAILED -- saving rejects to file src/test/modules/injection_points/injection_points.c.rej patching file src/test/modules/injection_points/sql/injection_points.sql Unstaged changes after reset: M src/test/modules/injection_points/expected/injection_points.out M src/test/modules/injection_points/injection_points--1.0.sql M src/test/modules/injection_points/injection_points.c M src/test/modules/injection_points/sql/injection_points.sql Removing src/backend/utils/misc/injection_point.c.rej Removing src/test/modules/injection_points/injection_points.c.rej === using 'git apply' to apply patch ./v1-0001-Allow-a-condition-string-in-an-injection-point.patch === Applied patch to 'src/backend/utils/misc/injection_point.c' cleanly. Applied patch to 'src/test/modules/injection_points/expected/injection_points.out' cleanly. Applied patch to 'src/test/modules/injection_points/injection_points--1.0.sql' cleanly. Applied patch to 'src/test/modules/injection_points/injection_points.c' with conflicts. Applied patch to 'src/test/modules/injection_points/sql/injection_points.sql' cleanly. U src/test/modules/injection_points/injection_points.c diff --cc src/test/modules/injection_points/injection_points.c index ba282e3dcab,22b902a4729..00000000000 --- a/src/test/modules/injection_points/injection_points.c +++ b/src/test/modules/injection_points/injection_points.c @@@ -40,8 -39,36 +40,39 @@@ PG_MODULE_MAGIC /* Maximum number of waits usable in injection points at once */ #define INJ_MAX_WAIT 8 #define INJ_NAME_MAXLEN 64 + #define INJ_DATA_MAXLEN 256 /* ++<<<<<<< ours ++======= + * Conditions related to injection points. This tracks in shared memory the + * runtime conditions under which an injection point is allowed to run, + * stored as private_data when an injection point is attached, and passed as + * argument to the callback. + * + * If more types of runtime conditions need to be tracked, this structure + * should be expanded. + */ + typedef enum InjectionPointConditionType + { + INJ_CONDITION_PID = 1 << 0, /* PID restriction */ + INJ_CONDITION_STRING = 1 << 1, /* generic string match against arg */ + } InjectionPointConditionType; + + typedef struct InjectionPointCondition + { + /* Type of the condition */ + InjectionPointConditionType type; + + /* ID of the process where the injection point is allowed to run */ + int pid; + + /* String to match against the argument at run time */ + char str[INJ_DATA_MAXLEN]; + } InjectionPointCondition; + + /* ++>>>>>>> theirs * List of injection points stored in TopMemoryContext attached * locally to this process. */