ON DUPLICATE KEY UPDATE запросы в Drupal 7

В процессе переноса модуля с Drupal 6 на Drupal 7 я столкнулся с необходимостью переноса MySQL запроса INSERT.. ON DUPLICATE KEY UPDATE. Предлагаю взглянуть на особенности его реализации в разных версиях Drupal.

Напомню, что цель запроса INSERT.. ON DUPLICATE KEY UPDATE в том, чтобы обновить данные в таблице, если во вставляемых данных есть дубликат ключа (PRIMARY KEY или UNIQUE), и вставить данные, если дубликатов нет.

Для примера мы будем использовать простую таблицу: