[ic] metadata merge-error

Gert van der Spoel gert at 3edge.com
Wed Jun 13 07:38:51 UTC 2018



> -----Original Message-----
> From: interchange-users-bounces at icdevgroup.org [mailto:interchange-users-
> bounces at icdevgroup.org] On Behalf Of René
> Sent: Wednesday, June 13, 2018 10:19
> To: interchange-users at icdevgroup.org
> Subject: [ic] metadata merge-error
> 
> Hi,
> 
> I'm getting an error in my logfile when trying to merge the metadata via the
> admin-page.
> 
> Any ideas what this error does mean?
> 
> René
> 
> 0.0.0.0 VssgcqWM:0.0.0.0 - [13/June/2018:09:44:08 +0300] mycat
> www.mysite.tld:443/admin/merge_meta Safe: syntax error at (eval 504) line 2,
> near "{."
>  >
>  >
>  >     my $bdb = $Db{.mv_metadata_asc};

Looks like there is a stray dot in the {.mv_metadata_asc}

>  >     my $mtab = q{mv_metadata} || 'mv_metadata';
>  >     my $mdb = $Db{$mtab};
>  >     if(! $bdb) {
>  >         $Scratch->{merge_error}
>  >         = errmsg("Cannot merge metadata -- table %s is missing.",
>  >           'mv_metadata_asc');
>  >       return;
>  >     }
>  >     if(! $mdb) {
>  >       $Scratch->{merge_error}
>  >         = errmsg("Cannot merge metadata -- table %s is missing.",
>  >           $mtab);
>  >       return;
>  >     }
>  >     my @needcols = qw(extended);
>  >     if(@needcols = grep {! $mdb->column_exists($_)} @needcols) {
>  >       $Scratch->{merge_error}
>  >         = errmsg("Cannot merge metadata -- column(s) '%s' is missing
> in table %s.", join(',', @needcols), $mtab);
>  >       return;
>  >     }
>  >     my @base;
>  >     while( my ($k) = $bdb->each_record()) {
>  >       push @base, $k;
>  >     }
>  >
>  >     my %merge;
>  >     if($CGI->{merge_key}) {
>  >       my @keys   = split /\0/, $CGI->{merge_key};
>  >       my @status = split /\0/, $CGI->{merge_status};
>  >       for(my $i = 0; $i < @keys; $i++) {
>  >         $merge{$keys[$i]} = $status[$i];
>  >       }
>  >     }
>  >
>  >     $Scratch->{merge_updated} = 0;
>  >     $Scratch->{merge_complete} = 0;
>  >     $Scratch->{merge_needed} = 0;
>  >     %source = ();
>  >     %target = ();
>  >     for(@base) {
>  >       my $source = $bdb->row_hash($_);
>  >       my $target = $mdb->row_hash($_);
>  >       if(! $target or $merge{$_} == 1) {
>  >         my $ext = get_option_hash($source->{extended});
>  >         $ext->{ui_version} = $Scratch->{newver};
>  >         $source->{extended} = uneval($ext);
>  >         my $code = delete $source->{code};
>  >         $mdb->set_slice($code, $source);
>  >         $Scratch->{merge_updated}++;
>  >       }
>  >       elsif($merge{$_} == -1) {
>  >         my $ext = get_option_hash($target->{extended});
>  >         $ext->{ui_version} = $Scratch->{newver};
>  >         $target->{extended} = uneval($ext);
>  >         my $code = delete $target->{code};
>  >         $mdb->set_slice($code, $target);
>  >         $Scratch->{merge_updated}++;
>  >       }
>  >       elsif( check_merge($source, $target) ) {
>  >         $Scratch->{merge_complete}++;
>  >       }
>  >       else {
>  >         $Scratch->{merge_needed}++;
>  >         $source{$_} = $source;
>  >         $target{$_} = $target;
>  >       }
>  >     }
>  >     if($Scratch->{merge_needed} == 0) {
>  >       $mdb->set_field('ui-version', 'label', $Scratch->{newver});
>  >     }
>  >     return;
>  >
>  >
> 
> _______________________________________________
> interchange-users mailing list
> interchange-users at icdevgroup.org
> http://www.icdevgroup.org/mailman/listinfo/interchange-users




More information about the interchange-users mailing list