Database of practicality will be an important factor for development of D language in the future

Adam D. Ruppe via Digitalmars-d digitalmars-d at puremagic.com
Thu Feb 2 05:45:38 PST 2017


On Thursday, 2 February 2017 at 13:28:48 UTC, Shachar Shemesh 
wrote:
> Arguments should ALWAYS be passed out of line of the actual 
> call command, so that the server has no chance of confusing 
> arguments and commands.

I know. That's exactly what my library does, and I assume all the 
others listed; `args...` there is a placeholder for binded 
arguments (the actual call might look something like 
`db.query("CALL proc(?, ?)", arg, arg2);` or similar). But CALL 
works the same way as UPDATE, SELECT, INSERT, etc., you can do it 
in sql without needing a special api function to use it.

> Sadly, that typically requires a DB library specific to the DB 
> in use.

Every generic DB library I have ever seen abstracts placeholder 
arguments and most do prepared statements, which also abstract 
such things gnerically. I didn't mention it in my example because 
EVERYONE (except like universally recognized garbage like php4 
lol, but I'll even exclude it because its api isn't generic) does 
it and I assumed that'd be common knowledge.


More information about the Digitalmars-d mailing list