Транзакции в обратном вызове API CRUD узла (Drupal) - PullRequest
0 голосов
/ 06 октября 2011

Должен ли я вызывать db_transaction () внутри ловушки CRUD узла (например, hook_load, hook_insert и т. Д.)?

UPD: суть вопроса, например, в том, что функции hook_update и hook_insert вызываютсяnode_save (), и его код уже включен в транзакцию.

1 Ответ

0 голосов
/ 06 октября 2011

Если вы выполняете несколько запросов и хотите выполнить откат при сбое одного из них, тогда да.Это безопасно, так как каждый db_transaction выходит из области действия, когда функция, в которой он находится, завершена, поэтому вы никогда не должны находиться в положении, в котором вы начинаете новую транзакцию, в то время как другая, так сказать, уже открыта.

...