--- plugins/FeedsDataProcessor.inc	2010-11-17 08:42:40.000000000 +1100
+++ plugins/FeedsDataProcessor.inc	2011-01-11 09:07:20.000000000 +1100
@@ -20,6 +20,11 @@ class FeedsDataProcessor extends FeedsPr
     $inserted  = $updated = 0;
     $expiry_time = $this->expiryTime();
 
+    if ($this->config['purge_existing']) {
+      // Truncate table before saving data.
+      $this->handler()->truncate();
+    }
+
     while ($item = $batch->shiftItem()) {
       $id = $this->existingItemId($batch, $source);
 
@@ -233,6 +238,7 @@ class FeedsDataProcessor extends FeedsPr
   public function configDefaults() {
     return array(
       'update_existing' => FEEDS_SKIP_EXISTING,
+      'purge_existing' => FALSE,
       'expire' => FEEDS_EXPIRE_NEVER, // Don't expire items by default.
       'mappings' => array(),
       'delete_with_source' => FALSE,
@@ -257,6 +263,12 @@ class FeedsDataProcessor extends FeedsPr
       '#description' => t('If an existing record is found for an imported record, replace it. Existing records will be determined using mappings that are a "unique target".'),
       '#default_value' => $this->config['update_existing'],
     );
+    $form['purge_existing'] = array(
+      '#type' => 'checkbox',
+      '#title' => t('Purge existing records'),
+      '#description' => t('Purge all existing records before import.'),
+      '#default_value' => $this->config['purge_existing'],
+    );
     $form['delete_with_source'] = array(
       '#type' => 'checkbox',
       '#title' => t('Delete items with source'),
