mirror of
				https://github.com/postgres/postgres.git
				synced 2025-10-31 10:30:33 +03:00 
			
		
		
		
	Reported-by: Michael Paquier Discussion: https://postgr.es/m/ZZKTDPxBBMt3C0J9@paquier.xyz Backpatch-through: 12
		
			
				
	
	
		
			57 lines
		
	
	
		
			846 B
		
	
	
	
		
			Perl
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			846 B
		
	
	
	
		
			Perl
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/perl
 | |
| 
 | |
| # Copyright (c) 2021-2024, PostgreSQL Global Development Group
 | |
| 
 | |
| use strict;
 | |
| use warnings FATAL => 'all';
 | |
| 
 | |
| my $integer = '[+-]?[0-9]+';
 | |
| my $real = '[+-]?[0-9]+\.[0-9]+';
 | |
| 
 | |
| my $RANGE = '(\.\.)(\.)?';
 | |
| my $PLUMIN = q(\'\+\-\');
 | |
| my $FLOAT = "(($integer)|($real))([eE]($integer))?";
 | |
| my $EXTENSION = '<|>|~';
 | |
| 
 | |
| my $boundary = "($EXTENSION)?$FLOAT";
 | |
| my $deviation = $FLOAT;
 | |
| 
 | |
| my $rule_1 = $boundary . $PLUMIN . $deviation;
 | |
| my $rule_2 = $boundary . $RANGE . $boundary;
 | |
| my $rule_3 = $boundary . $RANGE;
 | |
| my $rule_4 = $RANGE . $boundary;
 | |
| my $rule_5 = $boundary;
 | |
| 
 | |
| 
 | |
| print "$rule_5\n";
 | |
| while (<>)
 | |
| {
 | |
| 
 | |
| 	#  s/ +//g;
 | |
| 	if (/^($rule_1)$/)
 | |
| 	{
 | |
| 		print;
 | |
| 	}
 | |
| 	elsif (/^($rule_2)$/)
 | |
| 	{
 | |
| 		print;
 | |
| 	}
 | |
| 	elsif (/^($rule_3)$/)
 | |
| 	{
 | |
| 		print;
 | |
| 	}
 | |
| 	elsif (/^($rule_4)$/)
 | |
| 	{
 | |
| 		print;
 | |
| 	}
 | |
| 	elsif (/^($rule_5)$/)
 | |
| 	{
 | |
| 		print;
 | |
| 	}
 | |
| 	else
 | |
| 	{
 | |
| 		print STDERR "error in $_\n";
 | |
| 	}
 | |
| 
 | |
| }
 |