my $update_idx1 = "update root.$current_table set UUID = ?" . "where DOC_NAME = ? " . "and DOC_OFF = ? and DOC_LEN = ? " . "and COMP_OFF = ? and COMP_LEN = ?"; my $upd_idx1 = $dbh->prepare($update_idx1) or die "Cannot prepare upd_idx1: $dbh->errstr"; my ($comp_off, $comp_len, $doc_off, $doc_len) = (0, 0, 0, 0); my @array = map { Base36::decode_base36($_) + 0 } ($enc_comp_off, $enc_comp_len, $enc_doc_off, $enc_doc_len); $comp_off=($array[0] / 1); $comp_len=($array[1] / 1); $doc_off =($array[2] / 1); $doc_len =($array[3] / 1); $upd_idx1->bind_param(1, $uuid) or die "Bind failed for UUID: $dbh->errstr"; $upd_idx1->bind_param(2, $doc_name) or die "Bind failed for doc_name: $dbh->errstr"; $upd_idx1->bind_param(3, int($doc_off), { TYPE => SQL_INTEGER }) or die "Bind failed for doc_off: $dbh->errstr"; $upd_idx1->bind_param(4, int($doc_len), { TYPE => SQL_INTEGER }) or die "Bind failed for doc_len: $dbh->errstr"; $upd_idx1->bind_param(5, int($comp_off), { TYPE => SQL_INTEGER }) or die "Bind failed for comp_off: $dbh->errstr"; $upd_idx1->bind_param(6, int($comp_len), { TYPE => SQL_INTEGER }) or die "Bind failed for comp_len: $dbh->errstr"; my $row_count = $upd_idx1->execute();