You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Knut Anders Hatlen (JIRA)" <ji...@apache.org> on 2010/11/01 15:23:24 UTC

[jira] Updated: (DERBY-4796) Missing escape for apostrophes in many messages

     [ https://issues.apache.org/jira/browse/DERBY-4796?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Knut Anders Hatlen updated DERBY-4796:
--------------------------------------

    Attachment: engine-messages.diff

Here's a patch that fixes the problems I found by grepping the engine messages. It simply changes all single single-quotes to double single-quotes, as that seemed to be the correct handling of all the cases I found.

For the drda and tools messages, the solution won't be that simple. That's because they get the messages through LocalizedResource, which handles messages with arguments in a different way than messages with no arguments. The messages that have arguments will be passed through MessageFormat, and therefore require escaping. The messages with no arguments are taken literally, and therefore shouldn't be escaped.

I'm leaning towards changing LocalizedResource to always go through MessageFormat (just like MessageService does with the engine messages). That means we would have to escape single-quotes in all tools messages and drda messages, but that sounds easier to maintain than having some messages that should be escaped and some that shouldn't.

> Missing escape for apostrophes in many messages
> -----------------------------------------------
>
>                 Key: DERBY-4796
>                 URL: https://issues.apache.org/jira/browse/DERBY-4796
>             Project: Derby
>          Issue Type: Bug
>          Components: Localization
>    Affects Versions: 10.6.1.0
>            Reporter: Knut Anders Hatlen
>            Assignee: Knut Anders Hatlen
>         Attachments: engine-messages.diff
>
>
> The properties file format requires that single-quote characters are escaped with an extra single-quote. A number of messages don't follow this rule.
> Take this example from the Italian localization:
> 42X34=Esiste un parametro ? nell'elenco di selezione.  Ci\u00F2 non \u00E8 consentito.
> Note that there's only a single apostrophe in "nell'elenco" above. When this message is printed, the apostrophe will be omitted:
> $ LC_ALL=it_IT.UTF-8 java -jar derbyrun.jar ij
> Versione ij 10.6
> ij> connect 'jdbc:derby:db;create=true';
> ij> select ? from sys.systables;
> ERRORE 42X34: Esiste un parametro ? nellelenco di selezione.  Ciò non è consentito.
> We should go through the message files and add extra apostrophes where they are missing.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.