#!/client/bin/perl

$PQL="/prj/bin/pql 2> /dev/null";

while ($_ = $ARGV[0], /^-/) {
	shift;
	last if /^--$/;
	/^-f(.*)/ && ($relation=$1)
}
 

open(INVOKE, "echo \"set hsep 'NL';invoke $relation;\" | $PQL|");

$num=0;
while(<INVOKE>) {
	chop;	
	$type{$num}=$_;
	$type{$num}=~s/.*<([A-Z]*).*/$1/;
#	print "$type{$num}\n";
	$num=$num+1;
}
$num=$num-1;

open(SELECT, "echo \"set hsep 'NL';select \* from $relation;\" | $PQL|");

$idx=0;

print "#!/prj/bin/pql -f\n";
print "begin $relation;\n";
while (<SELECT>) {
	chop;
	if ($idx == 0) {
		print "insert into $relation values\n";
	}	
	if ($type{$idx} eq "LNG") {
		print "$_";
	}
	if ($type{$idx} eq "STR") {
	  if ( $_ =~ /NULL/) {
 	    print "$_";
          } else {
	    print "'$_'";
          }
	}	
	if ($type{$idx} eq "FLT") {
		print "$_";
	}
	if ($type{$idx} eq "DBL") {
		print "$_";print "F";
	}
	if ($idx == $num) {
		print ";\n";
		$idx = 0;
	} else {
		print ",";
		$idx = $idx + 1;
	}
}
print "commit $relation;\n";
