On Mon, Mar 19, 2012 at 1:13 AM, Peter Bex <[email protected]> wrote:
> On Sun, Mar 18, 2012 at 11:42:44PM -0700, Matt Welland wrote:
> > How do I do the equivalent of pg:query-for-each with the new api? It must
> > be simple but I am confused. Any kind soul willing to point me in the
> right
> > direction?
>
> I'm not 100% sure what the old procedure did again, but this is probably
> what you want:
>
> (row-for-each*
> (lambda (a b c)
> (printf "Got a = ~A, b = ~A, c = ~A\n" a b c))
> (query conn "SELECT a, b, c FROM foo"))
>
> If you prefer to get the arguments in a list, use the version
> without a star:
>
> (row-for-each
> (lambda (tuple)
> (printf "Got tuple = ~A\n" tuple))
> (query conn "SELECT a, b, c FROM foo"))
>
Yup, I think that is what I want. Once I saw your example it became
apparent that (query ...) is similar to "prepare" in the perl dbi api,
however I think I was confused since the paragraph describing query also
mentions prepare. As far as I can tell there is actually no "prepare"
statement.
> If the docs are unclear, I'd appreciate it if you can help me to
> improve them.
>
Perhaps a sentence clarifying what "query" does would help. An example
where the query is done prior to the row-for-each would probably have
triggered understanding for me.
(let ((sth (query conn "SELECT a,b,c FROM foo")))
(row-for-each
(lambda (tuple)
(print tuple))
sth))
On the other hand just removing or explaining the reference to "prepare" in
the "query" description is probably enough.
Thanks for the reply and for maintaining the postgresql egg!
Cheers,
> Peter
> --
> http://sjamaan.ath.cx
> --
> "The process of preparing programs for a digital computer
> is especially attractive, not only because it can be economically
> and scientifically rewarding, but also because it can be an aesthetic
> experience much like composing poetry or music."
> -- Donald Knuth
>
> _______________________________________________
> Chicken-users mailing list
> [email protected]
> https://lists.nongnu.org/mailman/listinfo/chicken-users
>
_______________________________________________
Chicken-users mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/chicken-users