# Blacklisting the locked and partitioned fields $query->blacklist_columns(explode(',', NQ_LOCKED_FIELDS)); $query->blacklist_columns(explode(',', $partition_data['partition_column'])); # Order by if (isset($_CGET['order'])) { $order_sort = isset($_CGET['ordersort']) ? explode(',', $_CGET['ordersort']) : []; $query->add_order_by(explode(',', $_CGET['order']), $order_sort); } # Adding our update columns $query->add_update_columns(PostParser::decode()); # Where columns $query->add_where_columns($_CGET); } # Updating our partition $query->set_table($partition_data['table_name'], false, false, $partition_data['database']); $update_query = $query->get_update_query($limit, false, false); mysqli_sub_query($partition_dblink, $update_query); # Getting our updated info $info = mysqli_info_array($partition_dblink); $limit -= (int) $info['Rows matched']; # Tracking our internal changed numbers $content->affected_rows += (int) $info['Changed']; $content->matched_rows += (int) $info['Rows matched']; # We are done updating if ($limit !== false && $limit <= 0) { break; } } mysqli_free_result($partition_results); # Returning our values PostParser::send($content);
} # Adding our update columns $query->add_update_columns($row); # Adding our global session values if (isset($G_TOKEN_SESSION_DATA->{NQ_SESSION_GROUP}->global->{$G_TABLE_DETAILS['alias']})) { $query->add_where_columns($G_TOKEN_SESSION_DATA->{NQ_SESSION_GROUP}->global->{$G_TABLE_DETAILS['alias']}); } # Adding our specific session values if (isset($G_TOKEN_SESSION_DATA->{NQ_SESSION_GROUP}->update->{$G_TABLE_DETAILS['alias']})) { $query->add_where_columns($G_TOKEN_SESSION_DATA->{NQ_SESSION_GROUP}->update->{$G_TABLE_DETAILS['alias']}); } # Where columns $query->add_where_columns(['id' => $row->id]); # Updating the partition $query->set_table($partition->data['table_name'], false, false, $partition->database); $update_query = $query->get_update_query(1); mysqli_sub_query($partition->dblink, $update_query); # Updating the response data $info = mysqli_info_array($partition->dblink); $content->affected_rows += (int) $info['Changed']; $content->matched_rows += (int) $info['Rows matched']; } } } # Returning our values PostParser::send($content); /* --- Connection closed wit PostParser::send --- Below this point things need to be tracked and cleaned up --- */ # Updating our partition row counts $size_changed = false; $update_queries = ['SET @table_size_delta=0']; foreach ($partitions_affected as $id => $partition) {