From: MJ R. <ma...@cl...> - 2002-11-01 01:22:28
|
Bruce Butterfield <ba...@en...> wrote: > 'for-each' implies to me a side-effect-only behavior whose return value > is unspecified; this can certainly be changed for our usage but I think > I prefer something like 'map-selected-rows' to make it more explicit > that this will return a list of values that have been selected from the > database and then operated upon by a procedure. Need it be a list of rows that have been SELECTed? Does our database interface only work for SQL92 databases? Now there's a question. > Also, I think I agree with Noel about proc-init; it seems unnecessary. No-one is demanding its use and I'm being conservative about removing from the API I was copying: I assume there was a need for it some time, else why would it be there? > Is DB:for-singleton supposed to be an optimization of DB:for-each? Why > is it needed in an API? However I can see lots of cases when I would > like to (for instance) get a single aggregate value (SUM, MAX, AVG) from > a query so DB:assoc-val seems OK. Well, there are lots of cases where I get a single row from a database (eg user records), so the for-singleton convenience function makes sense to me. > Why is DB:imperative-stmt defined as asynchronous while the other > procedures are synchronous? This can't work! I would rather have a > parameter or flag to make procedures synchronous/asynchronous and then > we'd need polling/notification/callbacks to handle async stuff. I've not yet considered synchronicity of the interface. At the moment, it's all just as libpq left it. > I have to say I'm not wild about Oleg's API but I don't have an > alternative yet. Stay tuned. Well, I like it better than any other low-level interface I've seen to date (not only in Scheme, but in other languages too), which is part of the reason I'm copying it. Some of the bits look a bit hairy at first glance, but I can see why most of them could be useful. [...] > The "default" prefix could be 'db:' when namespace collision isn't an issue. Good idea. Is that specified in the module or the program? Sorry for the delay uploading. sf.net is being slow to sync the ssh keys for me. MJR |