From 8f416baead93a48e5799e44b8bd2e2c4859f4e04 Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Fri, 14 Sep 2007 13:18:58 +0200 Subject: auf Version 1.11 aktualisiert; Login-Bug behoben --- maintenance/postgres/compare_schemas.pl | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'maintenance/postgres/compare_schemas.pl') diff --git a/maintenance/postgres/compare_schemas.pl b/maintenance/postgres/compare_schemas.pl index ce045fef..297e3af2 100644 --- a/maintenance/postgres/compare_schemas.pl +++ b/maintenance/postgres/compare_schemas.pl @@ -35,7 +35,7 @@ while () { my $datatype = join '|' => qw( bool tinyint int bigint real float -tinytext mediumtext text char varchar varbinary +tinytext mediumtext text char varchar varbinary binary timestamp datetime tinyblob mediumblob blob ); @@ -155,7 +155,7 @@ CIDR ); $dtype = qr{($dtype)}; my %new; -my ($infunction,$inview,$inrule) = (0,0,0); +my ($infunction,$inview,$inrule,$lastcomma) = (0,0,0,0); seek $newfh, 0, 0; while (<$newfh>) { next if /^\s*\-\-/ or /^\s*$/; @@ -190,11 +190,19 @@ while (<$newfh>) { if (/^CREATE TABLE "?(\w+)"? \($/) { $table = $1; $new{$table}{name}=$table; + $lastcomma = 1; } elsif (/^\);$/) { + if ($lastcomma) { + warn "Stray comma before line $.\n"; + } } - elsif (/^ (\w+) +$dtype/) { + elsif (/^ (\w+) +$dtype.*?(,?)(?: --.*)?$/) { $new{$table}{column}{$1} = $2; + if (!$lastcomma) { + print "Missing comma before line $. of $new\n"; + } + $lastcomma = $3 ? 1 : 0; } else { die "Cannot parse line $. of $new:\n$_\n"; -- cgit v1.2.3-54-g00ecf