Andrew Dunstan <and...@dunslane.net> writes: > OK, here's my version. It tests clean against all of crake's dump files > back to 9.2. > To some extent it's a matter of taste, but I hate very long regex lines > - it makes it very hard to see what's actually changing, so I broke up > most of those.
I don't mind breaking things up, but I'm not terribly excited about making the patterns looser, as you've done in some places like if ($old_version < 14) { # Remove mentions of extended hash functions. - $dump =~ - s/^(\s+OPERATOR 1 =\(integer,integer\)) ,\n\s+FUNCTION 2 \(integer, integer\) public\.part_hashint4_noop\(integer,bigint\);/$1;/mg; - $dump =~ - s/^(\s+OPERATOR 1 =\(text,text\)) ,\n\s+FUNCTION 2 \(text, text\) public\.part_hashtext_length\(text,bigint\);/$1;/mg; + $dump =~ s {(^\s+OPERATOR\s1\s=\((?:integer,integer|text,text)\))\s,\n + \s+FUNCTION\s2\s.*?public.part_hash.*?;} + {$1;}mxg; } I don't think that's any easier to read, and it risks masking diffs that we'd wish to know about. regards, tom lane