Michael Paquier <mich...@paquier.xyz> writes: > On Sun, Dec 15, 2024 at 10:34:07AM +0900, Michael Paquier wrote: >> Indeed, good catch. I'll take care of it.
Thanks! > + sub { > + s{create tablespace .* location '.*/tspitr\K[12]}{N}i for @_; > + return $_[0] ne $_[1]; > + }); > > The CI is complaining on this one because the custom comparison > function is not able to digest WIN32 paths, leading to failures in the > dump comparison like that: > -CREATE TABLESPACE ts1 OWNER "SYSTEM" LOCATION > E'C:\\Windows\\TEMP\\tJ4qTmrkZv\\tspitr1'; > +CREATE TABLESPACE ts1 OWNER "SYSTEM" LOCATION > E'C:\\Windows\\TEMP\\tJ4qTmrkZv\\tspitr2'; > > So there is an issue with the slash character after the location and > the single space before the quote. We could use something like this > one which would handle the paths sanely: > s{create tablespace .* location .*'.*tspitr\K[12]}{N}i for @_; > > Perhaps you are able to come with a more elegant string? I'm torn between making it more specific, only allowing escaped strings or not, and either type of slash for the path separator: s{create tablespace .* location .* E?'.*[\\/]tspitr\K[12]}{N}i for @_; vs. making it less specific, not caring about the specifics of quoting or path separators at all: s{create tablespace .* location .*\btspitr\K[12]}{N}i for @_; I think I'm leaning towards the latter, for simplicity and robustness. - ilmari