Какие заявления нельзя подготовить на стороне сервера? - PullRequest
0 голосов
/ 15 ноября 2018

В MySQL, если я использую useServerPrepStmts=true, драйвер попытается подготовить оператор на сервере, если он считает, что это можно сделать. В случае, если сервер не может подготовить оператор (не все операторы могут быть подготовлены на стороне сервера), происходит откат к «подготовленному клиенту оператору».

У меня два вопроса:

  • Какие заявления нельзя подготовить на стороне сервера?
  • Почему водитель иногда думает, что оператор может быть подготовлен на стороне сервера, отправляя COM_STMT_PREPARE (см. здесь ) на сервер, если сервер фактически не может подготовить этот оператор? Означает ли это, что иногда prepareability оператора зависит от некоторого предиката, который будет истинным на стороне сервера, и поэтому один драйвер не может принять правильное решение?
...