SELECT
    magicTree.*,
    magicRun.workdir,
    rawExp.exp_id,
    rawExp.camera,
    -- convert magic_id into a boolean value (1 or 0)
    -- note that the type stays a 64 bit int
    magicNodeResult.magic_id IS TRUE AS done,
    magicNodeResult.fault IS TRUE AS bad
FROM magicTree
JOIN magicRun USING(magic_id)
JOIN rawExp USING(exp_id)
LEFT JOIN magicNodeResult USING(magic_id, node)
WHERE
    magicRun.state = 'new'
-- WHERE hook %s
ORDER BY
    magicRun.magic_id
