Mailing List Archive

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};
> 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@icdevgroup.org
http://www.icdevgroup.org/mailman/listinfo/interchange-users
Re: metadata merge-error [ In reply to ]
> -----Original Message-----
> From: interchange-users-bounces@icdevgroup.org [mailto:interchange-users-
> bounces@icdevgroup.org] On Behalf Of René
> Sent: Wednesday, June 13, 2018 10:19
> To: interchange-users@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@icdevgroup.org
> http://www.icdevgroup.org/mailman/listinfo/interchange-users


_______________________________________________
interchange-users mailing list
interchange-users@icdevgroup.org
http://www.icdevgroup.org/mailman/listinfo/interchange-users
Re: metadata merge-error [ In reply to ]
On 13.06.2018 10:38, Gert van der Spoel wrote:
>> 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}

Really odd.. I have no clue how that dot ended up there... But that was
the issue, and now it works :-)

René


_______________________________________________
interchange-users mailing list
interchange-users@icdevgroup.org
http://www.icdevgroup.org/mailman/listinfo/interchange-users