apologies for the breakage, kiren. :/ On May 9, 12:48 pm, kiren <kirense...@gmail.com> wrote: > OK, problem solved. My query was actually illegal, per the > documentation ("Properties In Inequality Filters Must Be Sorted Before > Other Sort Orders"). However, it worked just fine before the latest > push of the API code. Perhaps that requirement previously wasn't > being strictly checked, so the "bug fix" in the new API code exposed a > bug in my app.
you're right, an != filter is converted into two inequality filters under the hood, as described in http://code.google.com/appengine/docs/python/datastore/queriesandindexes.html#Introducing_Queries , and an inequality filter may not be combined with an initial sort order on a different property. unfortunately, before 1.2.2, the code in the python API didn't always handle IN and != filters combined with sort orders correctly. it incorrectly translated your query into subqueries that were allowed by the datastore, but didn't always return the correct results in the correct order. that bug was fixed in http://code.google.com/p/googleappengine/issues/detail?id=1100 . the report only mentioned IN queries, but the bug was actually common to both IN and !=. i'll update it in a bit. > Is there a list that the app engine team posts to before new code that > may affect application functionality is pushed? I didn't find out > about the problem until a user informed me that my app was down. we generally use the SDK release process for this, which we announce on http://googleappengine.blogspot.com/ and on the groups. however, we often do production releases a bit before SDK releases. we try very hard to avoid any backward incompatibilities, so those releases should usually be invisible, and we usually succeed. however, there are always a few edge cases, like people who fork API code (see a few similar posts about this release), or bug fixes that we thought were innocuous but were actually depended on by developers. we always learn from breakages like this, so we'll continue to be more and more vigilant for anything that could break developers, for any reason. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~----------~----~----~----~------~----~------~--~---