Я пытаюсь использовать API запросов для создания MySQL-запроса с подсказкой MAX_EXECUTION_TIME (30000).
Мой код примерно:
from flask_sqlalchemy import SQLAlchemy
class MyTable(SQLAlchemy().Model):
...
base_query = Sqlalchemy.session.query(MyTable) # This works when I execute it.
base_query_with_hint = base_query.with_hint(MyTable, "MAX_EXECUTION_TIME(30000)")
base_query_with_hint.execute() # THIS DOES NOT WORK.
str(base_query_with_hint)
# Output
# Select a, b, c from MyTable MAX_EXECUTION_TIME(30000)
Подсказка только что отображается в конце запроса, очевидно!
Он должен отображаться как
Select /*+ MAX_EXECUTION_TIME(30000) */ a, b, c from MyTable
Я хочу, чтобы он вел себя точно так же, как https://docs.sqlalchemy.org/en/13/core/selectable.html#sqlalchemy.sql.expression.Select.with_hint, но вместо API выбора я использую API запросов.