$ csi CHICKEN (c)2008-2011 The Chicken Team (c)2000-2007 Felix L. Winkelmann Version 4.7.0 linux-unix-gnu-x86-64 [ 64bit manyargs dload ptables ] compiled 2012-04-12 on tumulus (Linux) ; loading /home/local/andyjpb/.csirc ... ; loading /usr/local/chicken-4.7.0/lib/chicken/6/parley.import.so ... ; loading /usr/local/chicken-4.7.0/lib/chicken/6/chicken.import.so ... ; loading /usr/local/chicken-4.7.0/lib/chicken/6/scheme.import.so ... ; loading /usr/local/chicken-4.7.0/lib/chicken/6/data-structures.import.so ... ; loading /usr/local/chicken-4.7.0/lib/chicken/6/extras.import.so ... ; loading /usr/local/chicken-4.7.0/lib/chicken/6/ports.import.so ... ; loading /usr/local/chicken-4.7.0/lib/chicken/6/posix.import.so ... ; loading /usr/local/chicken-4.7.0/lib/chicken/6/srfi-1.import.so ... ; loading /usr/local/chicken-4.7.0/lib/chicken/6/srfi-13.import.so ... ; loading /usr/local/chicken-4.7.0/lib/chicken/6/srfi-18.import.so ... ; loading /usr/local/chicken-4.7.0/lib/chicken/6/stty.import.so ... ; loading /usr/local/chicken-4.7.0/lib/chicken/6/srfi-69.import.so ... ; loading /usr/local/chicken-4.7.0/lib/chicken/6/foreign.import.so ... ; loading /usr/local/chicken-4.7.0/lib/chicken/6/foreigners.import.so ... ; loading /usr/local/chicken-4.7.0/lib/chicken/6/parley.so ... ; loading /usr/local/chicken-4.7.0/lib/chicken/6/stty.so ... #;1> (use ssql) ; loading /usr/local/chicken-4.7.0/lib/chicken/6/ssql.import.so ... ; loading /usr/local/chicken-4.7.0/lib/chicken/6/matchable.import.so ... ; loading /usr/local/chicken-4.7.0/lib/chicken/6/foops.import.so ... ; loading /usr/local/chicken-4.7.0/lib/chicken/6/ssql.so ... ; loading /usr/local/chicken-4.7.0/lib/chicken/6/matchable.so ... ; loading /usr/local/chicken-4.7.0/lib/chicken/6/foops.so ... #;2> (define full-tasks-query > (let ((columns `(col tasks assignee assigner creator updater ))) > `(select (columns tags . ,columns) > (from > (as (select (columns ,columns) > (from > (as (select (columns (as u1.name assignee) > (as u2.name assigner) > (as u3.name creator) > (as u4.name updater) > (as tags.name tag) > ) > (from (join left > (join left > (join left > (join left > (join left > (join left > (as tasks t) > (as users u1) > (on (= t.assignee_id u1.id))) > (as users u2) > (on (= t.assigner_id u2.id))) > (as users u3) > (on (= t.creator_id u3.id))) > (as users u4) > (on (= t.updater_id u4.id))) > (as task_tags tt) > (on (= tt.task_id t.id))) > tags > (on (= tt.tag_id tags.id))))) > tasks_with_tags)) > (group . ,columns)) > tasks))))) > #;3> (ssql-sql #f full-tasks-query) Error: unbound variable: ssql-sql Call history: (ssql-sql #f full-tasks-query) (ssql-sql #f full-tasks-query) <-- #;3> (ssql->sql #f full-tasks-query) "SELECT tags, col, tasks, assignee, assigner, creator, updater FROM (SELECT tasks.assignee, tasks.assigner, tasks.creator, tasks.updater FROM (SELECT u1.name AS assignee, u2.name AS assigner, u3.name AS creator, u4.name AS updater, tags.name AS tag FROM ((((((tasks AS t LEFT JOIN users AS u1 ON (t.assignee_id = u1.id)) LEFT JOIN users AS u2 ON (t.assigner_id = u2.id)) LEFT JOIN users AS u3 ON (t.creator_id = u3.id)) LEFT JOIN users AS u4 ON (t.updater_id = u4.id)) LEFT JOIN task_tags AS tt ON (tt.task_id = t.id)) LEFT JOIN tags ON (tt.tag_id = tags.id))) AS tasks_with_tags GROUP BY col, tasks, assignee, assigner, creator, updater) AS tasks" #;4>