]> git.donarmstrong.com Git - infobot.git/blobdiff - src/Factoids/Update.pl
- berkeley dbm support now works! thanks to tim riker.
[infobot.git] / src / Factoids / Update.pl
index ee6c6a8a06eee002e18ad94d23e348db0e721d98..07b8ec6e1c9bbaa413f6dcb15af7e76833c09b2f 100644 (file)
@@ -107,16 +107,15 @@ sub update {
 
        &performAddressedReply("okay");
 
-       if (1) {        # old
-           &setFactInfo($lhs,"factoid_value", $rhs);
-           &setFactInfo($lhs,"created_by", $nuh);
-           &setFactInfo($lhs,"created_time", time());
+       if (0) {        # old
+           &setFactInfo($lhs, "factoid_value", $rhs);
+           &setFactInfo($lhs, "created_by",    $nuh);
+           &setFactInfo($lhs, "created_time",  time());
        } else {
-           ### BROKEN!!!
-           # I'd prefer to use dbReplace but it don't work.
-           &dbReplace("factoids", (
+           &dbReplace("factoids", "factoid_key", (
+               created_by      => $nuh,
+               created_time    => time(),      # modified time.
                factoid_key     => $lhs,
-               created_by      => time(),
                factoid_value   => $rhs,
            ) );
        }
@@ -130,13 +129,16 @@ sub update {
 
     # factoid exists.
     if ($exists eq $rhs) {
+       # this catches the following situation: (right or wrong?)
+       #    "test is test"
+       #    "test is also test"
        &performAddressedReply("i already had it that way");
        return 1;
     }
 
     if ($also) {                       # 'is also'.
        if ($exists =~ /^<REPLY> see /i) {
-           &DEBUG("todo: append to linked factoid.");
+           &DEBUG("Update.pl: todo: append to linked factoid.");
        }
 
        if ($also_or) {                 # 'is also ||'.
@@ -221,9 +223,10 @@ sub update {
        $count{'Update'}++;
        &status("update: <$who> \'$lhs\' =$mhs=> \'$rhs\'; was \'$exists\'");
 
-       &delFactoid($lhs);
-       &setFactInfo($lhs,"created_by", $nuh);
-       &setFactInfo($lhs,"created_time", time());
+       # should dbReplace be used here?
+       #&delFactoid($lhs); # breaks dbm. leave it and use modified_* - Tim Riker <Tim@Rikers.org>
+       &setFactInfo($lhs,"modified_by", $nuh);
+       &setFactInfo($lhs,"modified_time", time());
        &setFactInfo($lhs,"factoid_value", $rhs);
 
        if (!defined $rhs or $rhs eq "") {