MESO2HDVD2JAL7S2YTKTO5LOCW6LNJY5PCIBRJVUSMZ6RL5LLZBAC 2FT4LEIPQFGQYDNFZFBODPYXBWEKWZOHHZZJG6QCHLOO6VU2FIQAC L7RW467ZBDYCV332DAVH5PBVTCVQXNJXACVNZJTU5Y5H6P62X52QC UWVMQIAC2HQNSG2JQOPZGUOCQ5V2JFP2F7RCTF3WJLK7NHSD5PAAC SJN2QPWHFYKX7CJMW4XZHI2P2THH7MECZZIHQMCH6EKBZ45G3DOAC DEMSSSB22UI2ZN26C56UYO4NZWMDCRYKLAQARGOTSORSDXX3ZNNQC RI4S7SYT3QKWCR2OBQ3RGVHWHRBGB6PKIEVGZYITV3FF6PF3CT6QC 3HZY24CX4U2TO74HOY4YX3LBJIYF4DLXHCIY7J2RASAC4COMSMZAC FPK5LF53CFUEKFYJ3IYXT4UTVC6IITWJOCFATMC4PLHEUP5SIEAAC J5UVLXOK6EDIL5I7VKWH4V2QDS4DPD7FHRK6XBWSXFRQS4JKXFZQC Z4KRJX4QVMQ5F233DC3XMSE5ZJYHKX3UF5QWAGHDC54EC5NUBXUQC SZYY2EQQK2JUAHMDPBASGWC2RON2GA5G6FHBLO4GAAX2XTM6QLSQC HPEG2RHVNHOPB5T4ZRXANIRBMVOVY3B5GFETJRYOTDJFVAYH2TQAC 3PNG7NIBQQURUUPRVQXYL342OT7JUUYOMY2JJNP6YDX7SYJDZMYAC VVOAXWH4EKVYSDOOKDQN3FHU2JRNNKEG7G4E7YRB7HEVYXHVP63QC 3HEMN2Q2XKIYKGTYSYOR7SYL44SHI6UHXHQQ564AI6G2KQGYWBDAC JM3DPYOMVNMCL5GMEYC3Y4NDRGTNIFBBFTPGPVT66GPENVPU7EVQC G2ZB6464XGPBIMSZIPSB24EIXSCCGV4XWC3IWPS2CXYPDSUZSU5QC S5NPXZG34PZZ5FIIAQ2IO72G6PAQC4JZ2WS2CVKTO623BNQKGMHAC makeSource("JobStatus$name",# Urgh, can't use "*" in the "select" here because of the status change join.<<QUERYselect x.*, b.id as statusChangeId, b.timestamp as statusChangeTimefrom(select(select max(b.id) from Builds bwhereproject = activeJobs.project and jobset = activeJobs.jobsetand job = activeJobs.job and system = activeJobs.systemand finished = 1) as idfrom $activeJobs as activeJobs) as latestjoin Builds x using (id)left join Builds b onb.id =(select max(c.id) from Builds cwherec.finished = 1 andx.project = c.project and x.jobset = c.jobset and x.job = c.job and x.system = c.system andx.id > c.id and((x.buildStatus = 0 and c.buildStatus != 0) or(x.buildStatus != 0 and c.buildStatus = 0)))QUERY);