chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] Postgresql egg - usage for mortals?


From: Matt Welland
Subject: Re: [Chicken-users] Postgresql egg - usage for mortals?
Date: Mon, 19 Mar 2012 10:34:14 -0700



On Mon, Mar 19, 2012 at 1:13 AM, Peter Bex <address@hidden> 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
address@hidden
https://lists.nongnu.org/mailman/listinfo/chicken-users


reply via email to

[Prev in Thread] Current Thread [Next in Thread]