diff options
author | matty%chariot.net.au <> | 2002-10-06 00:07:16 +0200 |
---|---|---|
committer | matty%chariot.net.au <> | 2002-10-06 00:07:16 +0200 |
commit | e09cf0406a379298d9d005bc5f8c2a79a0c789f1 (patch) | |
tree | 3418fe3dc22a3b26fba497f08a286eb22af8694f | |
parent | bbec76da50f6e61fab11f10c4fdb3da83450c98e (diff) | |
download | bugzilla-e09cf0406a379298d9d005bc5f8c2a79a0c789f1.tar.gz bugzilla-e09cf0406a379298d9d005bc5f8c2a79a0c789f1.tar.xz |
Bug #93667: Minor style fix, uninit var fix, add explanatory comments to CrossCheck/DoubleCrossCheck.
-rwxr-xr-x | sanitycheck.cgi | 35 |
1 files changed, 33 insertions, 2 deletions
diff --git a/sanitycheck.cgi b/sanitycheck.cgi index 79864964b..e7da73851 100755 --- a/sanitycheck.cgi +++ b/sanitycheck.cgi @@ -179,6 +179,23 @@ foreach my $field (("bug_severity", "bug_status", "op_sys", # Perform referential (cross) checks ########################################################################### +# This checks that a simple foreign key has a valid primary key value. NULL +# references are acceptable and cause no problem. +# +# The first parameter is the primary key table name. +# The second parameter is the primary key field name. +# Each successive parameter represents a foreign key, it must be a list +# reference, where the list has: +# the first value is the foreign key table name. +# the second value is the foreign key field name. +# the third value is optional and represents a field on the foreign key +# table to display when the check fails. +# the fourth value is optional and is a list reference to values that +# are excluded from checking. +# +# FIXME: The excluded values parameter should go away - the QA contact +# fields should use NULL instead - see bug #109474. + sub CrossCheck { my $table = shift @_; my $field = shift @_; @@ -280,6 +297,20 @@ CrossCheck("products", "id", # Perform double field referential (cross) checks ########################################################################### +# This checks that a compound two-field foreign key has a valid primary key +# value. NULL references are acceptable and cause no problem. +# +# The first parameter is the primary key table name. +# The second parameter is the primary key first field name. +# The third parameter is the primary key second field name. +# Each successive parameter represents a foreign key, it must be a list +# reference, where the list has: +# the first value is the foreign key table name +# the second value is the foreign key first field name. +# the third value is the foreign key second field name. +# the fourth value is optional and represents a field on the foreign key +# table to display when the check fails + sub DoubleCrossCheck { my $table = shift @_; my $field1 = shift @_; @@ -443,10 +474,10 @@ SendSQL("SELECT keywords.bug_id, keyworddefs.name " . " AND keywords.bug_id = bugs.bug_id " . "ORDER BY keywords.bug_id, keyworddefs.name"); -my $lastb; +my $lastb = 0; my @list; while (1) { - my ($b, $k) = (FetchSQLData()); + my ($b, $k) = FetchSQLData(); if (!defined $b || $b ne $lastb) { if (@list) { $realk{$lastb} = join(', ', @list); |