+ $upvals[$ds['name']] = $val;
+ }
+ }
+ $key_names = (!is_numeric(array_shift(array_keys($upvals))));
+ if (in_array('L', $upvals)) {
+ // for at least one value, we need to set the same as the last recorded value
+ $fvals = $this->fetch();
+ $rowids = array_shift($fvals);
+ $lastvals = array_shift($fvals);
+ foreach (array_keys($upvals, 'L') as $akey) {
+ $upvals[$akey] = $key_names?$lastvals[$akey]:$lastvals[$rowids[$akey]];