Exemplo n.º 1
0
         # Insterted - mysqli_affected_rows = 1
         if (mysqli_affected_rows($to_partition->dblink) == 1) {
             $content->inserted_ids[] = $entry->id;
             $inserted_count++;
             $partitions_affected->{$to_partition->data['id']}->inserted_rows++;
             $G_TO_TABLE_DETAILS['rows'] = (int) $G_TO_TABLE_DETAILS['rows'] + 1;
         } else {
             $content->update_ids[] = mysqli_insert_id($to_partition->dblink);
         }
         $write_rows++;
     }
 }
 # If we need to remove from the from table
 if (isset($_CGET['delete']) && boolval($_CGET['delete'])) {
     # Deleting the items
     $delete_query = $from_query->get_delete_query($limit);
     mysqli_sub_query($from_partition_data['dblink'], $delete_query);
     $rows_deleted = mysqli_affected_rows($from_partition_data['dblink']);
     # Tracking the partitions changes
     if (!isset($partitions_affected->{$from_partition_data['id']})) {
         $partitions_affected->{$from_partition_data['id']} = (object) ['table_id' => $G_FROM_TABLE_SETTINGS['id'], 'inserted_rows' => 0, 'deleted_rows' => 0];
     }
     $partitions_affected->{$from_partition_data['id']}->deleted_rows += $rows_deleted;
     $deleted_count += $rows_deleted;
 }
 # Lowering the limit
 $limit -= mysqli_num_rows($select_result);
 # Done if no more to check
 if ($limit <= 0) {
     break;
 }
Exemplo n.º 2
0
    $partitions_affected->{$partition_data['id']} = (object) ['data' => $partition_data, 'dblink' => $partition_dblink, 'database' => $partition_data['database'], 'deleted_rows' => 0];
    # First partition, new query object
    if ($query === false) {
        # Creating our new parser
        $query = new MySQLParser($partition_dblink, $partition_data['table_name'], $partition_data['database']);
        # Order by
        if (isset($_JPOST->order)) {
            $order_sort = isset($_JPOST->order_sort) ? explode(',', $_JPOST->order_sort) : [];
            $query->add_order_by(explode(',', $_JPOST->order), $order_sort);
        }
        # Where columns
        $query->add_where_columns($_JPOST);
    }
    # Deleting from the partition
    $query->set_table($partition_data['table_name'], false, false, $partition_data['database']);
    $delete_query = $query->get_delete_query($limit, false);
    mysqli_sub_query($partition_dblink, $delete_query);
    # Getting our deleted info
    $affected = mysqli_affected_rows($partition_dblink);
    $limit -= (int) $affected;
    # Tracking our internal changed numbers
    $content->affected_rows += $affected;
    $deleted_count += $affected;
    $partitions_affected->{$partition_data['id']}->deleted_rows += $affected;
    # We are done updating
    if ($limit !== false && $limit <= 0) {
        break;
    }
}
# Returning our values
PostParser::send($content);