relevant added by milos on Thu Apr 5 11:02:39 2012
(let ((do-sth (prepare *db*
"SELECT domains.name, domains.status, domains.ttl, domains.client_hold,
COALESCE(host_domain_links.id, -1) AS hd_id,
COALESCE(hosts.name, '') AS ho_name,
COALESCE(hosts.ipv4, '') AS ho_ipv4,
COALESCE(hosts.ipv6, '') AS ho_ipv6,
COALESCE(forwardings.url, '') AS fw_url
FROM domains
LEFT JOIN forwardings ON forwardings.domain_id = domains.id
LEFT JOIN host_domain_links ON host_domain_links.domain_id = domains.id
LEFT JOIN hosts on host_domain_links.host_id = hosts.id
WHERE domains.name LIKE '%.la';")))
(let loop ([s (step do-sth)])
(if (not (equal? s 'done))
(let* ((row (row-alist do-sth))
(status (alist-ref 'status row))
(name (string-downcase (alist-ref 'name row)))
(prefix (get-prefix name))
(client-hold (alist-ref 'client_hold row))
(hd-id (alist-ref 'hd_id row))
(fw-url (alist-ref 'fw_url row)))
(begin
(display row)
(newline)
(cond
((equal? status "B")
(hash-table-set! *nxdomains* name "This domain name has been banned by the registry for legal, operational or security reasons."))
((equal? status "H")
(hash-table-set! *nxdomains* name "serverHold"))
((equal? status "C")
(hash-table-set! *nxdomains* name "pendingCreate"))
((equal? status "P")
(hash-table-set! *nxdomains* name "pendingDelete"))
((equal? status "I")
(hash-table-set! *nxdomains* name "pendingDelete"))
((equal? client-hold "Y")
(hash-table-set! *nxdomains* name "clientHold"))
((< hd-id 1)
((if (equal? fw-url "")
(hash-table-set! *parked* name 1)
(hash-table-set! *forwarded* name 1))))
(else (ns-record row)))
(loop (step do-sth)))))))