diff --git a/xCAT-server-2.0/lib/xcat/plugins/tabutils.pm b/xCAT-server-2.0/lib/xcat/plugins/tabutils.pm index 89a82a5bd..168447d6c 100644 --- a/xCAT-server-2.0/lib/xcat/plugins/tabutils.pm +++ b/xCAT-server-2.0/lib/xcat/plugins/tabutils.pm @@ -778,11 +778,22 @@ sub nodels if ($shortnames{$temp}) { ($table, $column) = @{$shortnames{$temp}}; - } - else - { + } elsif ($temp =~ /\./) { ($table, $column) = split('\.', $temp, 2); + } elsif ($xCAT::Schema::tabspec{$temp}) { + $table = $temp; + foreach my $column (@{$xCAT::Schema::tabspec{$table}->{cols}}) { + unless (grep /^$column$/, @{$tables{$table}}) { + push @{$tables{$table}},[$column,"$temp.$column"]; + } + } + next; + } else { + $callback->({error=>"$temp not a valid table.column description",errorcode=>[1]}); + next; } + + unless (grep /$column/,@{$xCAT::Schema::tabspec{$table}->{cols}}) { $callback->({error=>"$table.$column not a valid table.column description",errorcode=>[1]}); next;