Named vs numbered SQL parameters
Lassi Kortela
(18 Sep 2019 08:48 UTC)
|
Re: Named vs numbered SQL parameters
Peter Bex
(18 Sep 2019 09:13 UTC)
|
Re: Named vs numbered SQL parameters
Lassi Kortela
(18 Sep 2019 09:35 UTC)
|
Re: Named vs numbered SQL parameters
Peter Bex
(18 Sep 2019 09:49 UTC)
|
Re: Named vs numbered SQL parameters
Lassi Kortela
(18 Sep 2019 10:10 UTC)
|
Re: Named vs numbered SQL parameters
Peter Bex
(18 Sep 2019 10:16 UTC)
|
Re: Named vs numbered SQL parameters
Lassi Kortela
(18 Sep 2019 10:30 UTC)
|
Re: Named vs numbered SQL parameters
Peter Bex
(18 Sep 2019 10:38 UTC)
|
Re: Named vs numbered SQL parameters
Lassi Kortela
(18 Sep 2019 10:50 UTC)
|
Re: Named vs numbered SQL parameters
Alaric Snell-Pym
(18 Sep 2019 10:39 UTC)
|
Re: Named vs numbered SQL parameters
Lassi Kortela
(19 Sep 2019 14:20 UTC)
|
Re: Named vs numbered SQL parameters
Peter Bex
(19 Sep 2019 14:53 UTC)
|
Re: Named vs numbered SQL parameters Alaric Snell-Pym (19 Sep 2019 16:05 UTC)
|
Re: Named vs numbered SQL parameters
John Cowan
(18 Sep 2019 22:36 UTC)
|
Re: Named vs numbered SQL parameters
Peter Bex
(19 Sep 2019 07:20 UTC)
|
Re: Named vs numbered SQL parameters
John Cowan
(19 Sep 2019 13:54 UTC)
|
Re: Named vs numbered SQL parameters
Peter Bex
(19 Sep 2019 14:04 UTC)
|
Re: Named vs numbered SQL parameters
Lassi Kortela
(19 Sep 2019 14:07 UTC)
|
Re: Named vs numbered SQL parameters
Peter Bex
(19 Sep 2019 14:19 UTC)
|
Re: Named vs numbered SQL parameters
Lassi Kortela
(19 Sep 2019 14:28 UTC)
|
Re: Named vs numbered SQL parameters
Alaric Snell-Pym
(19 Sep 2019 16:00 UTC)
|
On 19/09/2019 15:20, Lassi Kortela wrote: >> Oh yes. I've had maintain an SQL parser. :-| > > Wow. That kind of experience can change one's perspective on a lot of > (hopefully just programming-related) things. The SQL part if it wasn't traumatic at all - compared to the fact that the original developer had, for mysterious reasons, decided to implement their own version control system. We were forbidden to actually edit the grammar file that drove the parser generator - instead, every change to it after the initial version was encoded in a "sed" command in a shell script that we could only append new things to the end of. I guess that kind of numbed us all, and made everything else we did seem like sweetness and light. But I digress... >> >> (sql-execute '("INSERT INTO foo VALUES(" myval1 ", " myval2 ")") >> '((:myval1 . 1) (:myval2 . 2))) > > This may actually be my favorite suggestion so far. The high-level DSL would hide all this stuff anyway for most code, so I don't think breaking the SQL string into parts like that is too ugly. It looks ugly to the human eye, *but* it avoids having to parse strings... >> But I always prefer the SSQL approach to this of just shoving scheme >> values in using quasiquoting: >> >> (sql-execute `(insert (into foo) >> (values #(,myval1 ,myval2))) > > This is definitely the way to go for most code, but I think we are in > agreement that it belongs in a high-level DSL, and we need to figure out > some arrangement for how to pass parameters to the DB driver at the low > level. Yeah! -- Alaric Snell-Pym (M7KIT) http://www.snell-pym.org.uk/alaric/