=head1 NAME

B<tabrestore> - replaces with or adds to a xCAT database table the contents in a csv file.

=head1 SYNOPSIS

B<tabrestore> [-a] I<table.csv>

B<tabrestore> [I<-?> | I<-h> | I<--help>]

B<tabrestore> [I<v>  | I<--version>]

=head1 DESCRIPTION

The tabrestore command reads the contents of the specified file and puts its data
in the corresponding table in the xCAT database.  Any existing rows in that table
are replaced unless the (-a) flag is used and then the rows in the file are added to the table.
The file must be in csv format.  It could be created by tabdump.
Only one table can be specified.

This command can be used to copy the example table entries in /opt/xcat/share/xcat/templates/e1350
into the xCAT database.

=head1 OPTIONS

=over 10

=item B<-?|-h|--help>

Display usage message.

=item B<-v|--version>

Display version.

=item B<-a|--addrows>

Add rows from the CSV file to the table instead of replacing the table with the CSV file.  

=back

=head1 RETURN VALUE

=over 3

=item 0

The command completed successfully.

=item 1

An error has occurred.

=back

=head1 EXAMPLES

=over 2

=item *

To replace the rows in the mp table with the rows in the mp.csv file:

B< tabrestore> I<mp.csv>

The file mp.csv could contain something like:

  #node,mpa,id,comments,disable
  "blade","|\D+(\d+)|amm(($1-1)/14+1)|","|\D+(\d+)|(($1-1)%14+1)|",,

=item *

To add the rows in the mp.csv file to the  rows in the mp table:

B< tabrestore> -a I<mp.csv>

=item *

To restore database tables that we dumped with dumpxCATdb:

restorexCATdb -p <restore directory>

=back

=head1 FILES

/opt/xcat/sbin/tabrestore

=head1 SEE ALSO

L<tabdump(8)|tabdump.8>, L<tabedit(8)|tabedit.8>, L<dumpxCATdb(1)|dumpxCATdb.1>
