Postgres and other database interfaces
rikki cattermole
rikki at cattermole.co.nz
Sun Feb 25 09:23:18 UTC 2018
On 25/02/2018 10:07 PM, Denis F wrote:
> On Sunday, 25 February 2018 at 03:03:05 UTC, Joe wrote:
>> On Saturday, 24 February 2018 at 23:04:39 UTC, Denis F wrote:
>>> If anyone really want to impliment your idea, at my first glance at
>>> the PEP 249 I had a feeling that this is work for time less than a
>>> 1-2 weeks. It can be a simple wrapper over dpq2, mysql-native,
>>> sqlite3, etc.
>>
>> I'm not saying that anyone should implement something like PEP 249,
>> particularly *not* as a wrapper over those libraries. My point is that
>> if the implementors of dpq2, mysql-native, etc., could "get together"
>> (at DConf, in forums, by email) and discuss their interfaces, perhaps
>> they could agree on a set of D database interface classes and then
>> each would work towards that common set.
>
> Libraries already are similar automatically because RDBMSes uses similar
> principles. But it is impossible to make libraries absolutely identical
> due to the presence of important significant nuances in each engine.
>
>> That's more or less what the Python DB-SIG did. Then every library
>> would benefit because, for one, the common set can be documented just
>> once. Also, if it's a sufficiently reasonable spec, the libraries that
>> don't move towards it should see less adoption because, unless the
>> divergent library has a significantly enhanced interface, developers
>> will shy away from having to learn a different one.
>>
>> 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.
More information about the Digitalmars-d
mailing list