On Fri, Dec 14, 2018 at 6:09 AM Oleg <lego12239@xxxxxxxxx> wrote: > > On Fri, Dec 14, 2018 at 02:47:12PM +0300, Dmitry Igrishin wrote: > > пт, 14 дек. 2018 г. в 14:33, Oleg <lego12239@xxxxxxxxx>: > > > > > > Hi, all. > > > > > > Do we really need a numeric value placeholders like $1 in command string? > > It's a syntax defined at the backend side. > > (https://www.postgresql.org/docs/current/sql-prepare.html) > > I know this, but i can't understand why this approach is used. > > > > Construction of such string for complex non-static queries is very annoying. > > That's why there are libraries like Pgfe > > (https://github.com/dmitigr/pgfe) or libpqtypes > > This is C++ :-(. > > > (http://libpqtypes.esilo.com/) > > This is great! PQexecf() is what i need. Why this api is not the part of libpq? > Thank you for the link! FYI, I need to move the project to github and I have a few bugfixes that have not been sent up yet. Please let me know if you have any issues. The postgres core team very graciously extended the libpq API in order to make libpqtypes work seamlessly with libpq, so they deserve some credit here. Direct C programming against the database is a somewhat niche developer segment and when incorporating new libraries there you have to carefully manage usefulness vs support down the line. Having said that I still believe it remains to be the best way to write against the libpq API, or C database development generally. There's nothing else like it FWICT. I personally lost some interest in the project when the json train really started to leave the station as it changed the way I developed against the database. merlin