[02:56] <StevenK> wgrant: http://pastebin.ubuntu.com/5815654/
[03:11] <wgrant> StevenK: Right, that's broken
[03:11] <wgrant> Also
[03:11] <wgrant> Transactions
[03:12] <StevenK> wgrant: Broken how?
[03:12] <wgrant> StevenK: I'm not seeing how that query would always return the latest
[03:13] <StevenK> The ORDER BY ?
[03:13] <wgrant> Sure
[03:13] <wgrant> But it doesn't pick just the latest
[03:13] <wgrant> It returns all of them
[03:13] <wgrant> Except if there are more than 5000, in which case it just semi-randomly won't return some of them
[03:14] <StevenK> Sure, and then we loop through them, so the rejector cached property would have been set twice, and overwritten by the second one
[03:14] <wgrant> Ah, because it's ascending, so that's even worse
[03:15] <wgrant> Not only is it going to be slow, but it will also ignore any recent event once more than 5000 would be returned
[03:16] <StevenK> wgrant: So, we want a DISTINCT ON object, operation ?
[03:17] <StevenK> Well, a distinct option to /fetch/
[03:17] <wgrant> Well
[03:17] <wgrant> I don't particularly care about implementation
[03:17] <wgrant> I'm presenting the constraints
[03:19] <StevenK> wgrant: I was envisioning being able to answer "Tell me everything that happened to <object>"
[03:19] <wgrant> StevenK: That's certainly a useful operation to have.
[03:20] <wgrant> But it's not what we want here
[03:20] <StevenK> wgrant: Given any change is going to require changes to auditor, auditorclient and lp.services.auditor.client, I want to make sure it is going to be the right call for what we want before we start.
[03:21] <wgrant> Certainly
[03:21] <wgrant> This is why I always say you should try to get a minimum viable implementation of infrastructure like this before you land it, before you make 4 auditorclient releases and 8 DB patches
[03:21] <wgrant> in two days
[03:22] <wgrant> There are also considerations that must be made in terms of transactionality.
[03:45] <StevenK> wgrant: DB patches? Since when does auditor require them?
[03:46] <wgrant> It hopefully won't, but it's similar in style to other large branch series that could
[03:46] <wgrant> So it's the same concept
[03:51] <StevenK> wgrant: In terms of DB patches, which require timing, deployment, and merging in stable, sure, I agree. auditorclient requires a pushed branch, setup.py sdist and commiting the tarball to lp-sourcedpes.
[03:56] <wgrant> And getting to auditorclient 0.0.99999 before we deploy it :P
[03:57] <StevenK> Django's query rubbish makes me miss storm
[04:13] <StevenK> Oh, wonderful. Looks like sqlite does not support SELECT DISTINCT ON
[04:46] <StevenK> wgrant: So if sqlite does not support SELECT DISTINCT ON, and GROUP BY in Django looks ... fun, since they want you to use their aggregation functions, what are my options?
[05:10] <wgrant> StevenK: Possibly DISTINCT with a subquery
[05:13]  * StevenK stabs QuerySet.values() being useless
[05:15] <StevenK> wgrant: I'm failing to see how that buys me anything, but that could be due to Django's ORM eating my brain
[06:30] <StevenK> Blah
[06:31] <StevenK> q.values('object', 'operation').distinct() works, but if I call .values('id') on that, I get both
[07:57] <mwhudson> StevenK: you can use custom aggregate functions in django
[07:57] <mwhudson> StevenK: http://voices.canonical.com/michael.hudson/2012/09/02/using-postgres-array_agg-from-django/
[08:18] <StevenK> mwhudson: This is the problem, though -- what I really want is DISTINCT ON, but I can't work out the right query when I'm forbidden from using it.
[08:19] <mwhudson> heh
[10:20] <lifeless> StevenK: LOL - bug 1196455
[10:20] <_mup_> Bug #1196455: power manegmant discrepanty <Auditor:New> <https://launchpad.net/bugs/1196455>
[21:44] <johntron> i'm trying to create a PPA for nginx that includes the SPDY and pagespeed modules. i've already built and installed from source, and everything works, so now i'm just trying to figure out how to package it. there's arleady an nginx package. i'm not sure how to specify the location of the upstream tarbal or how to build the dependencies during the build process
[21:47] <johntron> can anyone help me figure out how to get the nginx tarball included correctly and how to get the dependencies `./configure`d correctly?