[00:57]  * wgrant finishes another gardening round
[00:57] <jelmer> \o/
[00:57] <wgrant> One deployment and 7 further critical fixes until we get back to the first half of last year
[00:58] <jelmer> in terms of critical bugs you mean?
[00:58] <wgrant> Yeah
[06:06] <wallyworld_> wgrant:  have you used storm's ClassAlias? I have an issue where it is spitting out the name of the original table, rather than the alias, when outputting a column. my usage seems to be in line with how it's used elsewhere
[06:07] <wgrant> wallyworld_: There's a bug with ClassAliases and References
[06:07] <wgrant> wallyworld_: use the _id column instead
[06:07] <wallyworld_> oh, awesome
[06:07] <wallyworld_> thanks
[06:07] <StevenK> Storm has bugs? I'm shocked
[06:07] <wgrant> eg. ClassAlias(Person).teamowner will compile to Person.teamowner, ClassAlias(Person).teamownerID will be like "_1".teamowner as you'd expect
[06:08] <nigelb> lol
[06:08] <wgrant> Bug #682989'
[06:08] <wgrant> Bug #682989
[06:08] <nigelb> StevenK: How was your vacation? :)
[06:08] <StevenK> nigelb: Still on it
[06:08] <nigelb> Hah.
[06:08] <StevenK> Still in Adelaide, even
[06:09]  * nigelb really needs to plan an Australian vacation
[06:09] <wallyworld_> wgrant: right, that's the exact issue, thanks. i should have asked earlier. i thought it was me. oh well
[06:09] <wgrant> wallyworld_: It's not you, it's me.
[06:09] <wgrant> s/me/Storm/
[06:09] <wallyworld_> yeah
[06:10] <StevenK> Flight was 1pm, but has been delayed due to an engineering issue after they had us wait on the tarmac for an hour
[06:10] <StevenK> Hopefully we'll board at ~5pm ADL time
[06:11] <wgrant> Is that +9.5 or +10.5 atm?
[06:11] <wallyworld_> wgrant: do you know a way to get store.find() to allow a "select 1 from where..." without a table. it's legal postgres sql but storm complains
[06:11] <StevenK> +10.5, it's currently 4:40pm
[06:12] <wallyworld_> bah, without the from of course
[06:12] <wgrant> wallyworld_: What are you trying to do?
[06:12] <wallyworld_> select 1 where exists(some condition)
[06:12] <wgrant> Specifics :)
[06:12] <wallyworld_> only returns one or zero rows
[06:13] <wgrant> There's probably a better way
[06:13] <wallyworld_> that's what the tableless select is for
[06:13] <wallyworld_> in oracle it would be "select from dual..."
[06:13] <wgrant> If it's literally a SELECT 1 WHERE EXISTS (some subexpression);, just remove the outer expression
[06:13] <wallyworld_> i just want a true/false if some condition exists in the database
[06:14] <wgrant> SELECT 1 FROM blah WHERE blah LIMIT 1;
[06:14] <wgrant> An exists check without the EXISTS
[06:14] <wallyworld_> i could add limit 1 i guess, but i would be adding a surperfulous table
[06:14] <wgrant> No
[06:14] <wgrant> I mean with the inner expression
[06:14] <wgrant> You don't need the outer one
[06:15] <wgrant> What's the statement that you're trying to Stormify?
[06:15] <wallyworld_> this works now: https://pastebin.canonical.com/77001/
[06:16] <wallyworld_> but i don't need the table in the outer select
[06:16] <wgrant> I'm confused
[06:16] <wallyworld_> i could put any table in the using() and it would work
[06:17] <wgrant> Isn't that just "return not Store.of(self).find(SourcePackageRelease, SourcePackagePublishingHistory.sourcepackagereleaseID == SourcePackageRelease.id, Archive.id == SourcePackagePublishingHistory.archiveID, *clauses).is_empty()"?
[06:17] <wallyworld_> probably, i didn't know about is_empty
[06:18] <wallyworld_> is that efficient?
[06:18] <wgrant> It's shorthand for SELECT 1 blah blah blah LIMIT 1
[06:18] <StevenK> Not when you're linking SPPH and SPR
[06:18] <wallyworld_> it will be a whole lot better than that is done now luckily
[06:18] <wgrant> Even if it didn't exist, I'd just manually do a SELECT 1 FROM spr JOIN spph blah blah blah LIMIT 1
[06:19] <wgrant> No need for a subquery
[06:19] <wallyworld_> i wasn't sure how ggod postgres would be at that
[06:19] <wallyworld_> i assume it will be smart about seeing the limit 1, and stop computing as soon as it finds a matching row
[06:23] <wgrant> Right
[06:23] <wgrant> Just as it doesn't compute the entire result of Ubuntu's bugs just to show the first 75 of them
[06:26] <nigelb> So, who's the new product manager for LP?
[06:26] <wgrant> Nobody yet
[06:27] <nigelb> And no new lifeless either?
[06:27] <wgrant> Also not yet
[06:27] <nigelb> :)
[07:06] <wgrant> wallyworld_: btw
[07:06] <wgrant> In [14]: list(store.execute(Select(1, where=Exists(Select(SourcePackageRelease.id, tables=[SourcePackageRelease], where=True)))))
[07:06] <wgrant> Out[14]: [(1,)]
[07:06] <wgrant> In [15]: list(store.execute(Select(1, where=Exists(Select(SourcePackageRelease.id, tables=[SourcePackageRelease], where=False)))))
[07:06] <wgrant> Out[15]: []
[07:06] <wgrant> It works fine without tables
[07:07] <wgrant> Not sure what you were running into
[07:25] <adeuring> good morning
[08:43] <czajkowski> morning
[08:44] <czajkowski> anyone know which team worked on the hide a commetn feature on LP bugs ?
[08:44] <czajkowski> *comment
[08:45] <bigjools> bzr annotate is your friend
[08:45] <czajkowski> bigjools: morning
[08:46] <bigjools> g'day :)
[08:46] <czajkowski> bigjools: you at the hotel ?
[08:46] <bigjools> sprinting, yup
[09:00] <wgrant> czajkowski: That was finished off by Purple near the end of one of the subfeatures
[09:00] <wgrant> I'm not really happy with how it turned out, but such is life
[09:00] <czajkowski> wgrant: was just curious as there is a bug/feature issue being reported on it
[09:00] <czajkowski> just wondered if you knew more about it
[10:15] <cjwatson> Could I have a DB patch number for work on bug 1068071, please?
[10:15] <_mup_> Bug #1068071: Need facility to redirect Ubuntu uploads to non-release pocket <soyuz-upload> <Launchpad itself:Triaged> < https://launchpad.net/bugs/1068071 >
[10:17] <czajkowski> cjwatson: you need jtv or wgrant I think as stub is away this week
[10:18] <cjwatson> czajkowski: Any LP developer can claim a patch number.
[10:18] <cjwatson> That's why I just asked generally.
[10:18] <cjwatson> You only have to be in ~launchpad.
[10:18] <czajkowski> oh ok.
[10:21] <wgrant> cjwatson: Sure
[10:28] <wgrant> cjwatson: 2209-36-0 is yours
[10:28] <cjwatson> Thanks
[13:39] <adeuring> abentley: https://code.launchpad.net/~adeuring/launchpad/sec-adapter-projectgroup-milestone/+merge/130800
[13:45] <abentley> adeuring: Did you consider using DelegatedAuthorization?
[13:45] <adeuring> abentley: not, i was not aware of this
[13:46] <abentley> adeuring: I think it simplifies things a bit.
[13:46] <adeuring> right
[13:53] <adeuring> abentley: changed
[13:54] <abentley> adeuring: I think milestone.userCanView is dead code now.
[13:55] <adeuring> abentley: gahh, forgot to save that file before commtting...
[13:56] <adeuring> done now
[13:56] <abentley> adeuring: Cool.
[13:59] <abentley> adeuring: You're indirectly asserting what the contents of "IProjectGroupMilestone" should be.  I'm okay landing this way, but let's talk about this in Copenhagen.  I bet we can come up with an equivalent that takes IProjectGroupMilestone as its input.  Like verifyObject.
[13:59] <adeuring> abentley: sure
[13:59] <abentley> adeuring: r=me.
[13:59] <adeuring> thanks
[14:00] <abentley> adeuring: np.
[14:02] <sinzui> jcsackett, do you have time to talk?
[14:08] <jcsackett> sinzui: sure, one moment while i find my phone.
[14:29] <sinzui> https://bugs.launchpad.net/launchpad/+bug/164530
[14:29] <_mup_> Bug #164530: Translation import queue showing broken links <lp-translations> <oops> <Launchpad itself:Triaged> < https://launchpad.net/bugs/164530 >
[14:36] <sinzui> https://bugs.launchpad.net/launchpad/+bug/227380
[14:36] <_mup_> Bug #227380: SourceForge ExternalBugTracker doesn't handle non-existent bugs <bugwatch> <lp-bugs> <oops> <Launchpad itself:Triaged> < https://launchpad.net/bugs/227380 >
[14:37] <sinzui> jcsackett, https://bugs.launchpad.net/launchpad/+bug/227380
[14:37] <_mup_> Bug #227380: SourceForge ExternalBugTracker doesn't handle non-existent bugs <bugwatch> <lp-bugs> <oops> <Launchpad itself:Triaged> < https://launchpad.net/bugs/227380 >
[14:42] <abentley> adeuring: Apparently, DelegatedAuthorization is also performance improvement, because it allows LaunchpadSecurityPolicy to cache Product security checks.
[14:43] <adeuring> abentley: right
[14:45] <sinzui> jcsackett, https://bugs.launchpad.net/launchpad/+bug/924292
[14:45] <_mup_> Bug #924292: TypeError raised during email authentication when the email contains non-ascii characters <email> <oops> <Launchpad itself:Triaged> < https://launchpad.net/bugs/924292 >
[16:08] <jml> for IBranchMergeProposal.createComment, 'subject' is mandatory. How do I specify "just use the default subject that would be used if I were commenting through the web UI"?
[16:09]  * jml experiments
[16:12] <cjwatson> jml: the guard for that in the model code is "if not subject:", so subject="" should work for that
[16:12] <jml> cjwatson: thanks. subject=False seems to work too.
[16:13] <deryck> abentley, adeuring, rick_h_ -- hi, guys.  I reviewed bugs for the product relationship, and as near as I can tell, there's only one issue.
[16:13] <cjwatson> lib/lp/app/javascript/comment.js uses subject: ''
[16:13] <nigelb> cjwatson: Interesting work on archive for raring.
[16:13] <rick_h_> deryck: cool
[16:13] <deryck> abentley, adeuring, rick_h_ -- and I filed a bug and added a card to the board, but it's not beta critical.
[16:13] <nigelb> cjwatson: Is this the LP work you were doing this cycle?
[16:13] <abentley> deryck: Great.
[16:14] <deryck> abentley, adeuring, rick_h_ -- it's a bit of a weird situation to reproduce, so we can get it post beta.
[16:14] <adeuring> deryck: ok
[16:14] <cjwatson> nigelb: There's only quite a small LP component to this, since the copy system is now fairly flexible.  Just a few bug fixes and tweaks.
[16:15] <nigelb> cjwatson: Ah.
[16:15] <cjwatson> nigelb: I was intending to finish off the replace-archive-admin-shell-access work if I could.
[16:16] <cjwatson> (Which is basically chroot management and copy archives.)
[16:16] <cjwatson> Nothing hugely exciting.
[16:17] <nigelb> That means AA work will not need shell access?
[16:18] <jml> Hah, no.
[16:18] <jml> False does not work
[16:18] <jml> cjwatson: ta. will try that.
[16:19] <cjwatson> nigelb: It mostly no longer does.
[16:19] <cjwatson> Only a very small number of rare operations.
[16:20] <nigelb> Aha
[16:20] <nigelb> Oh, UDS is european this time. I should try to listen to a few sessions at least.
[17:11] <czajkowski> sinzui: did you get the Rt I created to track the translation import issue that was logged via Answers ?
[17:12] <sinzui> No,  Do I need once since I need to track it on my kanban board and I have that card
[17:12] <sinzui> already assigned
[17:13] <czajkowski> sinzui: well was trying out this new policy where I can track an issue that I raise with maintenance
[17:14] <czajkowski> that way instead of poking for an update I can check the RT
[17:14] <czajkowski> like all the other depts do in canonical
[17:14] <sinzui> We will update it when we do something next
[17:14] <czajkowski> thank you
[17:14] <czajkowski> now to go take the 3 year old for a walk who has been sitting patiently with her new kite
[17:14] <czajkowski> toodles
[17:15] <cjwatson> DatabaseSchemaChangesProcess still has some stuff about slony and the todrop namespace, which seems to have been removed in devel r15757.  Should that be removed from the process?
[22:54] <sinzui> wallyworld_, this is the list of related issues https://bugs.launchpad.net/launchpad/+bugs?field.tag=related-projects-packages