adding :through_table option to support upsert through temp table.