00:00.15 | *** join/#storm wallflower (n=wallflow@ip-205-246-113-216.pool.grokthis.net) |
00:09.45 | *** join/#storm _hurricane (n=trance@thomasschubsky.de) |
00:11.01 | *** part/#storm _hurricane (n=trance@thomasschubsky.de) |
02:42.41 | *** join/#storm bigdo1 (n=scmikes@72-197-8-8-arpa.cust.cinci.current.net) |
03:09.02 | *** join/#storm jbot (i=ibot@pdpc/supporter/active/TimRiker/bot/apt) |
03:09.02 | *** topic/#storm is The Storm Python ORM - http://storm.canonical.com/ - 0.12 released! || Review branches: https://bugs.launchpad.net/storm/+bugs?field.tag=review |
03:52.02 | radix | eyes jbot |
05:50.47 | *** join/#storm bigdog (n=scmikes@72-197-8-8-arpa.cust.cinci.current.net) |
06:27.32 | *** join/#storm jukart (n=jukart@lsfw01.lovelysystems.com) |
07:05.41 | *** join/#storm dobee (n=dobeee@lsfw01.lovelysystems.com) |
07:24.35 | *** join/#storm goschtl (n=goschtl@p5B0BD295.dip.t-dialin.net) |
08:06.12 | *** join/#storm mcella (n=michele@ip-171-130.sn3.eutelia.it) |
08:41.18 | *** join/#storm goschtl_ (n=goschtl@p5B0BF48A.dip.t-dialin.net) |
12:07.18 | *** join/#storm cratuki (n=craig@213.253.62.66) |
13:12.33 | *** join/#storm niemeyer (n=niemeyer@200-103-245-169.ctame705.dsl.brasiltelecom.net.br) |
13:38.38 | *** join/#storm marianom (n=marianom@ubuntu/member/marianom) |
13:49.04 | jamesh | hi niemeyer |
13:49.13 | niemeyer | jamesh: Hey! Good evening |
13:49.29 | niemeyer | jamesh: How're things going? |
13:50.07 | jamesh | good. I got a few more of the missing prejoins features implemented, but ran into a few snags |
13:50.38 | jamesh | the email I sent has more details |
13:54.00 | niemeyer | jamesh: Nice, will check it out |
13:56.49 | *** join/#storm mcella (n=michele@ip-171-130.sn3.eutelia.it) |
13:59.47 | niemeyer | jamesh: Things are looking good.. I'll check the issues you report more carefully |
14:02.13 | jamesh | niemeyer: for the dotted prejoins, It is generating a class list like (A, LeftJoin(B, A.column1 == B.id), LeftJoin(C, B.column2 == C.id)) |
14:02.22 | jamesh | but the generated SQL joins C before B |
14:11.25 | niemeyer | jamesh: Yeah, I see why |
14:11.38 | niemeyer | jamesh: Only using() will respect the order given right now |
14:11.55 | niemeyer | jamesh: I'll see if I can come up with a clean fix for this to at least respect the order seen |
14:12.28 | niemeyer | jamesh: The auto_tables mechanism was made to extract tables out of expressions, in which case the order doesn't matter |
14:12.36 | niemeyer | jamesh: We're abusing it a little bit |
14:14.01 | jamesh | niemeyer: perhaps explicitly chaining the joins is the answer |
14:14.53 | jamesh | three argument LeftJoin() |
14:15.35 | niemeyer | jamesh: That'd definitely work |
14:15.35 | jamesh | although that may be a bit more difficult to keep track fo |
14:16.02 | niemeyer | jamesh: Yeah, possibly.. I guess respecting the order seen at least shouldn't be too hard |
14:16.07 | niemeyer | jamesh: And might be enough for us |
14:22.55 | jamesh | chaining the joins seems to result in extra parentheses |
14:23.50 | jamesh | so (A, LeftJoin(LeftJoin(B, A.column1 == B.id), C, B.column2 == C.id)) is written to "A, (LEFT JOIN B ON ...) LEFT JOIN C ON ... |
14:29.42 | niemeyer | jamesh: It's dependent on the backend I think |
14:29.58 | niemeyer | jamesh: I remember that different backends had particularities about this was supported |
14:30.40 | jamesh | niemeyer: hmm. I don't see any compile differences for JoinExpr in storm/databases/ |
14:31.23 | niemeyer | jamesh: Hmm.. that specific example is pretty weird |
14:31.27 | niemeyer | jamesh: Oh, hold on |
14:31.38 | niemeyer | jamesh: Nesting should be done like |
14:32.53 | niemeyer | jamesh: LeftJoin(A, LeftJoin(B, C, B.column2 == C.id), A.column1 == B.id) |
14:33.22 | niemeyer | jamesh: IOW, using both the left and right tables in the join |
14:33.42 | niemeyer | jamesh: That's why the parenthesis are there |
14:33.47 | jamesh | niemeyer: the thing is that I don't have a left hand table to use in the toplevel join :( |
14:34.29 | niemeyer | jamesh: Hmmm.. yeah, handling joins like this is a bit boring :( |
14:35.58 | jamesh | hmm. actually passing in self._cls for the toplevel almost works |
14:36.00 | niemeyer | jamesh: We can fix this, and we can also try the approach of building auto_tables in a stable way |
14:36.27 | niemeyer | jamesh: Oh yeah, that should be cool |
14:37.32 | jamesh | niemeyer: it gives me this: http://paste.ubuntu.com/6158/ |
14:37.52 | jamesh | Which then fails with "OperationalError: no such column: phone.id" |
14:37.56 | jamesh | which is bizarre |
14:41.04 | niemeyer | Huh |
14:41.36 | jamesh | wonder if it is an sqlite bug? |
14:48.54 | jamesh | http://www.sqlite.org/cvstrac/tktview?tn=2060 |
14:49.44 | niemeyer | jamesh: Oh crap |
14:50.41 | jamesh | the last comment on the bug says that correct parsing of the query would make it slower. |
14:51.27 | niemeyer | jamesh: Definitely.. the working query would be a lot slower than one raising an error. 8-) |
14:52.42 | niemeyer | jamesh: So we have several approaches to fix the issue, at least |
14:55.58 | jamesh | niemeyer: moving the "state.precedence += 0.5" statement in compile_join() below where it has handled join.left seems to fix the parentheses |
14:56.15 | jamesh | haven't checked if it is incorrect for other reasons though :) |
14:56.19 | niemeyer | jamesh: The issue is that they're not supposed to be fixed :( |
14:56.22 | niemeyer | jamesh: Right |
14:56.43 | niemeyer | jamesh: The meaning will actually change if we remove that |
14:57.02 | niemeyer | jamesh: OTOH, I think it's ok to do that for sqlite |
14:57.04 | jamesh | niemeyer: well, you should be able to chain joins without parentheses |
14:57.11 | jamesh | with any DB, right? |
14:57.17 | niemeyer | jamesh: Hmmm.. that's a point |
14:57.36 | niemeyer | jamesh: But think about cases like |
14:57.37 | jamesh | you only need the parentheses for the second arg |
14:57.49 | niemeyer | jamesh: LeftJoin(A, B), where A and B are also join trees |
14:57.52 | jamesh | (if at all) |
14:59.05 | jamesh | niemeyer: so LeftJoin(LeftJoin(a,b), LeftJoin(c,d)) could be represented as "a LEFT JOIN b LEFT JOIN (c LEFT JOIN d)" |
14:59.38 | jamesh | it will be evaluated left to right |
14:59.39 | niemeyer | jamesh: What if b is a left join? |
15:00.04 | jamesh | "a LEFT JOIN (b1 LEFT JOIN b2) LEFT JOIN (c LEFT JOIN d) |
15:00.06 | niemeyer | jamesh: I see, so you're suggesting the right side only needs the parenthesis at all times |
15:00.28 | jamesh | yeah |
15:00.47 | niemeyer | jamesh: Sounds nice |
15:00.49 | jamesh | which is what I think shifting the "state.precedence += 0.5" line down does |
15:01.30 | niemeyer | jamesh: Adding parenthesis to everything was the easiest for sure, and the way I was trying to ensure it worked everywhere |
15:01.36 | niemeyer | jamesh: Reality always catches up :( |
15:07.02 | jamesh | I should set up a bzr loom for this work |
15:07.55 | niemeyer | jamesh: Are looms public yet? |
15:08.01 | jamesh | niemeyer: yep |
15:08.05 | niemeyer | Sweet! |
15:08.06 | jamesh | have been for a month or so |
15:08.20 | jamesh | bazaar.launchpad.net supports them to an extent |
15:08.56 | jamesh | (it won't corrupt them or consider them an invalid branch format, but it doesn't show anything special for the threads) |
15:09.40 | niemeyer | jamesh: I see.. so it considers the branch as a single unit |
15:09.54 | jamesh | jamesh: as far as code browsing goes, yes. |
15:10.00 | jamesh | s/jamesh/niemeyer/ |
15:10.35 | jamesh | pats jbot on the head |
15:10.40 | niemeyer | :) |
15:12.58 | niemeyer | jamesh: I'm heading for lunch.. please let me know if you'd like a hand with anything in particular, in addition to what you mentioned in the mail.. I'll try to go over them today still |
15:13.14 | *** join/#storm bigdog (n=scmikes@72-197-8-8-arpa.cust.cinci.current.net) |
15:14.05 | jamesh | http://paste.ubuntu.com/6160/ <- that's the simplest patch that'd make my nested joins work |
15:14.40 | jamesh | of course, we could be even smarter and note that inner joins are fully associative |
15:17.05 | jamesh | niemeyer: I don't think there is anything outside of my email, but I'm heading to bed. Please email me with your suggestions. |
16:00.50 | *** join/#storm dobee (n=dobeee@85-124-200-100.static.xdsl-line.inode.at) |
17:50.07 | jkakar | If someone provides a review for the branch I've attached to bug #177107 we can merge the changes and help make Bernd's life easier. |
17:50.18 | ubot3 | jkakar: Error: Could not parse data returned by Malone: timed out |
17:51.52 | jkakar | michelp: Did you say you were +1 on bug #145883? Can you please add a comment to the bug, if so? |
17:51.53 | ubot3 | Malone bug 145883 in storm "Storm needs to be distributable as a Debian package" [Low,In progress] https://launchpad.net/bugs/145883 |
17:52.06 | jkakar | Also, one more review on bug #199356 would be nice. It's very trivial. |
17:52.07 | ubot3 | Malone bug 199356 in storm "The tutorial should describe enabling and disabling statement logging for debugging purposes" [Low,In progress] https://launchpad.net/bugs/199356 |
17:52.51 | michelp | jkakar, i don't think i've reviewed it, i'll give it a look right now |
17:53.02 | weatherman | storm/debian-package r185 committed by jkakar@kakar.ca |
17:53.02 | weatherman | - Merged trunk. |
17:53.20 | weatherman | storm/tracing-tutorial r217 committed by jkakar@kakar.ca |
17:53.20 | weatherman | - Merged trunk. |
17:53.25 | jkakar | michelp: Thanks! |
17:53.52 | *** join/#storm bigdog (n=scmikes@72-197-8-8-arpa.cust.cinci.current.net) |
17:59.05 | *** join/#storm jukart (n=jukart@85-124-221-45.static.xdsl-line.inode.at) |
18:00.09 | *** join/#storm jukart (n=jukart@85-124-221-45.static.xdsl-line.inode.at) |
18:19.36 | michelp | jkakar, +1 on both of those branches |
18:20.52 | jkakar | michelp: Awesome, thanks! |
18:33.21 | oubiwann | hey guys, is there any chance we can do a review to get Thomas Hervé's storm.twisted package added to storm? |
18:34.08 | oubiwann | PBS.org is going to be using it, btw |
18:35.06 | radix | oubiwann: I'll try to take a look at it again this weekend |
18:35.20 | oubiwann | radix: oh, man -- that would be so awesome |
18:35.40 | oubiwann | radix: speaking of which, I'm going to *see* you this weekend :-) |
18:35.53 | radix | oubiwann: speaking of PBS, there are two people who work there in my writing class this semester |
18:36.06 | radix | a television producer and a data center admin |
18:36.16 | oubiwann | cool! |
18:36.31 | radix | oubiwann: when are you getting here? I've got to schedule my cleaning :) |
18:36.38 | oubiwann | heh |
18:36.49 | oubiwann | I fly into Boston around 10:30pm I think |
18:36.53 | oubiwann | on Sunday |
18:37.07 | oubiwann | er... maybe it's Monday... |
18:37.09 | oubiwann | checks |
18:37.11 | radix | heh :) |
18:38.52 | oubiwann | it's actually Monday the 31st |
18:39.01 | oubiwann | 10:00pm |
18:40.36 | radix | oubiwann: ah ok. you'll probably be able to train in at that time |
18:40.45 | oubiwann | sweet |
18:40.51 | radix | unless you want to take a cab, I think it's about $15ish to my house from the airport |
18:41.10 | oubiwann | hrm, that ain't too bad |
18:41.22 | radix | unless I'm thinking $25 |
18:41.24 | radix | I can't remember :P |
18:41.24 | oubiwann | (for a cab ride) |
18:41.27 | oubiwann | heh |
20:21.04 | weatherman | storm/trunk r218 committed by jkakar@kakar.ca |
20:21.04 | weatherman | Merged debian-package [r=michelp,niemeyer] [f=145883] |
20:21.09 | weatherman | Debian packaging configuration has been added to Storm as the first |
20:21.13 | weatherman | step in providing Storm packages built using Launchpad's PPA build |
20:21.17 | weatherman | service. The packaging files put in place are meant to be used with |
20:21.21 | weatherman | AutoPPA to produce Storm packages for Ubuntu releases include dapper |
20:21.25 | weatherman | and newer. |
20:38.23 | weatherman | storm/trunk r219 committed by jkakar@kakar.ca |
20:38.23 | weatherman | Merged tracing-tutorial [r=jamesh,michelp] [f=199356] |
20:38.28 | weatherman | The tutorial has been updated to include a section on using the debug |
20:38.32 | weatherman | tracing helper. The debug function has been improved to make it |
20:38.36 | weatherman | possible to pass a custom stream to log statements to when enabling |
20:38.40 | weatherman | debugging. |
20:52.40 | *** part/#storm marianom (n=marianom@ubuntu/member/marianom) |
21:30.34 | *** join/#storm marianom (n=marianom@ubuntu/member/marianom) |