--- nfo/perl/libs/Data/Transfer/Sync.pm 2002/12/15 02:03:09 1.8 +++ nfo/perl/libs/Data/Transfer/Sync.pm 2002/12/23 07:10:59 1.11 @@ -1,4 +1,4 @@ -## $Id: Sync.pm,v 1.8 2002/12/15 02:03:09 joko Exp $ +## $Id: Sync.pm,v 1.11 2002/12/23 07:10:59 joko Exp $ ## ## Copyright (c) 2002 Andreas Motl ## @@ -6,6 +6,15 @@ ## ## ---------------------------------------------------------------------------------------- ## $Log: Sync.pm,v $ +## Revision 1.11 2002/12/23 07:10:59 joko +## + using MD5 for checksum generation again - the 32-bit integer hash from DBI seems to be too lazy +## +## Revision 1.10 2002/12/19 01:07:16 joko +## + fixed output done via $logger +## +## Revision 1.9 2002/12/16 07:02:34 jonen +## + added comment +## ## Revision 1.8 2002/12/15 02:03:09 joko ## + fixed logging-messages ## + additional metadata-checks @@ -121,7 +130,7 @@ $opts->{erase} ||= 0; #$opts->{import} ||= 0; - $logger->info( __PACKAGE__ . "->prepareOptions( source_node $opts->{source_node} mode $opts->{mode} erase $opts->{erase} prepare $opts->{prepare} )"); + $logger->notice( __PACKAGE__ . "->prepareOptions( source_node $opts->{source_node} mode $opts->{mode} erase $opts->{erase} prepare $opts->{prepare} )"); if (!$opts->{mapping} || !$opts->{mapping_module}) { $logger->warning( __PACKAGE__ . "->prepareOptions: No mapping supplied - please check key 'mappings' in BizWorks/Config.pm"); @@ -645,6 +654,7 @@ } +# refactor this as some core-function to do a generic dump resolving data-encapsulations of e.g. Set::Object sub _dumpCompact { my $self = shift; @@ -708,10 +718,15 @@ #$logger->dump( __PACKAGE__ . ": " . $dump ); # calculate checksum from dump + # note: the 32-bit integer hash from DBI seems + # to generate duplicates with small payloads already in ranges of hundreds of items/rows!!! + # try to avoid to use it or try to use it only for payloads greater than, hmmm, let's say 30 chars? + # (we had about 15 chars average per item (row)) + # md5-based fingerprint, base64 encoded (from Digest::MD5) - #my $checksum_cur = md5_base64($objdump) . '=='; + $self->{node}->{$descent}->{checksum} = md5_base64($dump) . '=='; # 32-bit integer "hash" value (maybe faster?) (from DBI) - $self->{node}->{$descent}->{checksum} = DBI::hash($dump, 1); + #$self->{node}->{$descent}->{checksum} = DBI::hash($dump, 1); # signal good return 1;