0) { $receiver_id = 0; // Try cache if (isset($recv[$parsed[0]])) { $receiver_id = $recv[$parsed[0]]; } else { $rcvr_res = pg_query($dbconn, "SELECT * FROM receiver WHERE name = '{$parsed[0]}' LIMIT 1;"); if (($receiver = pg_fetch_assoc($rcvr_res)) !== false) { // Receiver found, add to cache $recv[$receiver['name']] = $receiver['id']; $receiver_id = $receiver['id']; } else { // Receiver not found $rcvr_insert = pg_query($dbconn, "INSERT INTO receiver (name) VALUES('{$parsed[0]}') LIMIT 1 RETURNING Currval('receiver_id_seq');"); $receiver_id = pg_fetch_row($rcvr_insert); $receiver_id = $receiver_id[0]; $recv[$parsed[0]] = $receiver_id; } } // Update the packet record if ($receiver_id > 0) { pg_query($dbconn, "UPDATE {$table['table_name']} SET receiver_id = $receiver_id WHERE id = {$record['id']};"); echo '.'; } } } pg_query($dbconn,'END;'); $dbtime = round(microtime(true) - $start_time, 4); $tps = $batch_size / $dbtime; echo "\r\nBatch completed in {$dbtime} seconds. ($tps tps)\r\n"; } if ($total_packets > 0) { echo "Table update complete, running full vacuum..."; pg_query($dbconn, "VACUUM FULL {$table['table_name']};"); echo "Vacuum complete, all processing for table {$table['table_name']} complete.\r\n\n"; } } echo "Nothing to do...\r\nProcessing complete!\r\n";