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
-~----------~----~----~----~------~----~------~--~---

Reply via email to