Postgres and other database interfaces

Denis F denis.feklushkin at gmail.com
Sun Feb 25 11:46:26 UTC 2018


On Sunday, 25 February 2018 at 09:23:18 UTC, rikki cattermole 
wrote:

>>> It's the same concept as the SQL (and other) Standards.
>> 
>> Ok, I propose to be consistent and ask for compliance with the 
>> Standard from the RDBMSes. For example, arguments substitution:
>> 
>> MySQL uses the '?'
>> PostgreSQL uses $1
>> SQLite accepts both
>> Oracle uses a :name
>> 
>> (Really, it is very important to come to an agreement here 
>> because, for sure, the next obvious step is writing an ORM 
>> generator on top of the idea what you are proposing.)
>
> On IRC earlier today we discussed database libs a bit, we 
> agreed that both "?" and "@name" needed to be supported. No 
> other suggestions came up. We don't really need a third or 
> fourth form I think.

...And you are planned to give up "$1" support in favor of '?' 
and ":name"?

But it is impossible to convert text :names or '?' into 
Postgres's "$1": Postgres isn't knows fields names at start of a 
query processing and you can't replace '?' to "$<num>" by simple 
'replace' call - it will need full syntax parsing of Posgres SQL 
query because queries can contain EXECUTE statement (whose 
purpose is executing dynamic commands).




More information about the Digitalmars-d mailing list