Re: Review of the the DM pre CR version (Re: Final round of Direct Mapping spec changes; please review to prepare for CR)

Hi Eric,

On 26 Jan 2012, at 20:51, Eric Prud'hommeaux wrote:
> I would expect, however, that many readers of the document will have
> MySQL or Postgresql and have not even seen quotes around identifiers
> before. In fact, MySQL doesn't even parse ""s around identifiers (even
> in ANSI compatability mode, per my tests).

In MySQL it's `Addresses`. This notation is all over PhpMyAdmin, so MySQL users tend to be familiar with it and certainly have seen quotes around identifiers.

> Quoting consistency is low:
> <http://www.alberton.info/dbms_identifiers_and_case_sensitivity.html>.
> Unfortunately, that article's advice:
> [[
>  The safest choice if you care about portability and peace of mind is
>  not to quote the identifiers when you create your tables/fields and
>  when you run your queries.
> ]]
> doesn't work for us as the unquoted direct graph would look like
> (according to this test -- I haven't confirmed beyond playing with
> MySQL's ANSI mode and seeing no change in behavior):
> 
> Oracle: <PEOPLE/ID-7> <PEOPLE#FNAME> "Bob" .
> PostgreSQL: <people/id-7> <people#fname> "Bob" .
> MySQL/Windows: <people/ID-7> <people#fname> "Bob" .
> MySQL/Unix: <People/ID-7> <People#fname> "Bob" .
> SQLite: <People/ID-7> <People#fname> "Bob" .
> SQL Server: <People/ID-7> <People#fname> "Bob" .

Standard SQL 2008: <PEOPLE/ID-7> <PEOPLE#FNAME> "Bob".

You'll either have to use that, or quote all identifiers in the DM spec.

Richard

Received on Friday, 27 January 2012 14:26:28 UTC