On Dec 28, 2010, at 2:09 PM, mdipierro wrote:
>
> Mostly bug fixes about new dal (joins, with_alias, ordering on joins
> in postgresql, db().select(db.table.ALL) on GAE, behavior of boolean
> writable=False, upload of new apps with missing file) and some
> internal improvements (mostly due to Jonathan, so he can explain).
Aside from the minor Rocket patch, described earlier, the only other
substantive patch was one to URL, for vars in which a give variable has more
than one value.
There was a fix a little while back, I think, to handle this for incoming URLs.
Sometimes a key appears more than once in a URL query string, like this:
http://domain.com/a/b/c?a=1&b=2&b=3
A typical place this happens is for form checkboxes, where the same key
(associated with the group of checkboxes) gets sent once for each box that's
checked.
This shows up in request.vars as a list, so the above ends up being something
like:
vars = dict(a=1, b=[2,3])
...except that they're strings.
The problem was that this wasn't being handled for outgoing URLs (in URL()), so
if you tried to send the example above you'd get something like:
http://domain.com/a/b/c?a=1&b=[2, 3]
...which isn't right. The fix is to generate a URL that looks like the first
example above.
This fix is also incorporated into the recent hmac signature checking of
immutable vars.