Update, please use prefix_with(), sorry I forgot this goes into the right place:


query.prefix_with("/*+ MAX_EXECUTION_TIME(30000) */")


will add a note to the docs


On Wed, May 8, 2019 at 10:11 AM Mike Bayer <mike...@zzzcomputing.com> wrote:
>
> Additionally, those hints seem to be a new feature
> (http://mysqlserverteam.com/whats-new-in-mysql-5-7-first-release-candidate/)
> for a hint format that was previously not present in MySQL and don't
> seem to be present in MariaDB either, and surprisingly enough they
> look just like Oracle optimizer hints.  Unfortunately the MySQL
> dialect in SQLAlchemy does not support this format of MySQL optimizer
> hint at this time, and this would need to be  new feature add.  It
> also might be fairly complicated to pull off since these hints don't
> apply to all MySQL versions, there might need to be new API features
> added, not sure.
>
> I've added https://github.com/sqlalchemy/sqlalchemy/issues/4667 to
> track this feature.
>
>
> On Wed, May 8, 2019 at 9:31 AM Jacob Jensen <2times...@gmail.com> wrote:
> >
> > I'm trying to use the query API to create a MySQL query with the the 
> > MAX_EXECUTION_TIME(30000) hint.
> >
> > My code is roughly:
> >
> > 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)
> >
> > The hint is just rendered at the end of the query, apparently!
> >
> > It should render as
> >
> > Select /*+ MAX_EXECUTION_TIME(30000) */ a, b, c from MyTable
> >
> > I want it to behave exactly like 
> > https://docs.sqlalchemy.org/en/13/core/selectable.html#sqlalchemy.sql.expression.Select.with_hint
> >  but I'm using the Query API instead of the Select API.
> >
> > Another possibility: A commenter in stackoverflow suggested this is an 
> > issue with the MySQL dialect not the query API.
> >
> >
> > See comments here (they suggested I come to this mailing list): 
> > https://stackoverflow.com/questions/56030825/sqlalchemy-query-api-not-working-correctly-with-hints
> >
> > --
> > SQLAlchemy -
> > The Python SQL Toolkit and Object Relational Mapper
> >
> > http://www.sqlalchemy.org/
> >
> > To post example code, please provide an MCVE: Minimal, Complete, and 
> > Verifiable Example. See http://stackoverflow.com/help/mcve for a full 
> > description.
> > ---
> > You received this message because you are subscribed to the Google Groups 
> > "sqlalchemy" group.
> > To unsubscribe from this group and stop receiving emails from it, send an 
> > email to sqlalchemy+unsubscr...@googlegroups.com.
> > To post to this group, send email to sqlalchemy@googlegroups.com.
> > Visit this group at https://groups.google.com/group/sqlalchemy.
> > To view this discussion on the web visit 
> > https://groups.google.com/d/msgid/sqlalchemy/789cd456-ce14-4624-a363-446845d94a2d%40googlegroups.com.
> > For more options, visit https://groups.google.com/d/optout.

-- 
SQLAlchemy - 
The Python SQL Toolkit and Object Relational Mapper

http://www.sqlalchemy.org/

To post example code, please provide an MCVE: Minimal, Complete, and Verifiable 
Example.  See  http://stackoverflow.com/help/mcve for a full description.
--- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sqlalchemy+unsubscr...@googlegroups.com.
To post to this group, send email to sqlalchemy@googlegroups.com.
Visit this group at https://groups.google.com/group/sqlalchemy.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sqlalchemy/CA%2BRjkXHjfyXW6K3aV4HG%2BZXFezPBYoq_rTG3_qDyaQxQaLmGsQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to