def mergeOtherPDS(self, other_db_name, other_db_path = './', update = 'error', status_interval=5):
        """
            update determines the update scheme
                error : raise error when key exists
                ignore: do nothing when key exists, keep old value
                update: update value when key exists with value from otherData 
        """
        error = False
        if update == 'error':
            error = True
        elif update == 'ignore':
            ignore = True
        elif update == 'update':
            ignore = False
        else:
            raise TypeError("update must be one of the following: 'error', 'ignore', 'update'")
        
        transfered = 0
        ignored = 0
        
        if status_interval == 0:
            PB = progress.ProgressSilentDummy
        else:
            PB = progress.ProgressBarFancy   
        
        with PersistentDataStructure(name = other_db_name, 
                                     path = other_db_path, 
                                     verbose = self.verbose) as otherData:

            c = progress.UnsignedIntValue(val=0)
            m = progress.UnsignedIntValue(val=len(otherData))
            
            with PB(count=c, max_count=m, verbose=self.verbose, interval=status_interval) as pb:
                pb.start()
                for k in otherData:
        
                    if k in self:
                        if error:
                            raise KeyError("merge error, key already found in PDS")
                        else:
                            if ignore:
                                if 1 > self.verbose:
                                    print("ignore key", k)
                                ignored += 1
                                continue
                            else:
                                if self.verbose > 1:
                                    print("replace key", k)
                                del self[k]
        
                    value = otherData[k]
                    try:
                        self[k] = value
                        transfered += 1
                    finally:
                        if isinstance(value, PersistentDataStructure):
                            value.close()
                    
                    with c.get_lock():
                        c.value += 1
                    sys.stdout.flush()
            
            print("merge summary:")
            print("   transfered values:", transfered)
            print("      ignored values:", ignored)
dataset/ETHPy150Open cimatosa/jobmanager/jobmanager/persistentData.py/PersistentDataStructure.mergeOtherPDS/swapped operands of `>`