According to this blog post <meta charset="utf-8"><a href="http://mysqldatabaseadministration.blogspot.com/2006/09/case-sensitive-mysql.html">http://mysqldatabaseadministration.blogspot.com/2006/09/case-sensitive-mysql.html</a><div>

<a href="http://mysqldatabaseadministration.blogspot.com/2006/09/case-sensitive-mysql.html"></a>for MySQL, we can specify a collation at database creation<br><br><div class="gmail_quote">On Tue, May 11, 2010 at 10:30 AM, Thomas Heute <span dir="ltr">&lt;<a href="mailto:theute@redhat.com">theute@redhat.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">


  

<div text="#000000" bgcolor="#ffffff"><div class="im">
On 05/11/2010 10:25 AM, Nicolas Filotto wrote:
<blockquote type="cite">Unfortunately, changing from 
  
VARCHAR to 
  
VARBINARY is just impossible at this stage since several versions of
eXo JCR 1.12 have already been released and those version would then be
incompatible. Moreover, I&#39;m pretty sure that it will create side
effects more painful than case sensitivity issues.
  <div><br>
  </div>
  <div>The only way to solve this problem is to specify clearly in the
doc that the database must be case insensitive.<br>
  </div>
</blockquote></div>
Can this be set at DB level ? I thought it was at table level ? And
since tables are created by JCR it&#39;s a bit tricky.<br>
<br>
We&#39;re going without any change, it&#39;s not as bad as I originally thought
it was, I&#39;m still curious about the possibilities though.<div><div></div><div class="h5"><br>
<br>
<blockquote type="cite">
  <div><br>
  <div class="gmail_quote">On Mon, May 10, 2010 at 8:44 PM, Matthew
Wringe <span dir="ltr">&lt;<a href="mailto:mwringe@redhat.com" target="_blank">mwringe@redhat.com</a>&gt;</span>
wrote:<br>
  <blockquote class="gmail_quote" style="border-left:1px solid rgb(204, 204, 204);margin:0pt 0pt 0pt 0.8ex;padding-left:1ex">
    <div>
    <div>On Fri, 2010-05-07 at 19:16 -0400, Matthew Wringe
wrote:<br>
&gt; On Thu, 2010-05-06 at 22:49 +0200, Thomas Heute wrote:<br>
&gt; &gt;<br>
&gt; &gt; The great MySQL and MSSQL made that choice that tables (by
default) are<br>
&gt; &gt; made case insensitive.<br>
&gt; &gt; Meaning that &#39;foobar&#39; is the same as &#39;FooBar&#39;.<br>
&gt; &gt; Today if you create a portal or a page &#39;toto&#39; and then &#39;tOtO&#39;
it will<br>
&gt; &gt; work for other databases but for MySQL or MSSQL it will fail.<br>
&gt;<br>
&gt; Page names that vary only in case work fine for me with MySQL, but
I do<br>
&gt; experience the problem with portal names.<br>
&gt;<br>
&gt; &gt; We should prevent to have 2 portal names that are the same
(case<br>
&gt; &gt; insensitive). We can&#39;t do a simple JCR query (AFAIK) to
verify if 2<br>
&gt; &gt; portal names are the same (case insensitive), unless we try
and catch an<br>
&gt; &gt; error. But the error would only happen for those 2 and would
potentially<br>
&gt; &gt; make a migration from 1 DB to another difficult since they
would react<br>
&gt; &gt; differently.<br>
&gt;<br>
&gt; The problem is that we have a field name which as part of it
contains<br>
&gt; the portal name, and MySQL is converting this into lower case. This<br>
&gt; doesn&#39;t actually store the portal name, and its not used as a key
(nor<br>
&gt; is it set as unique).<br>
&gt;<br>
&gt; I created a quick hack in the jcr that would allow for it to get<br>
&gt; multiple values back from the sql query and check them to return
only<br>
&gt; the correct result.<br>
&gt;<br>
&gt; This appears to work, and it gives the correct error messages about<br>
&gt; portals existing or not. BUT, there is some unique index restraint
setup<br>
&gt; somewhere which is preventing me from saving the data back to the<br>
&gt; database :(<br>
&gt;<br>
&gt; &gt; The other option is to transform all ids to lowercase before
storing in<br>
&gt; &gt; Database so we are safe with all database. I actually think
it would be<br>
&gt; &gt; a good practice as those ids appear in the URL which are
usually all in<br>
&gt; &gt; lowercase.<br>
&gt;<br>
&gt; The urls are not in lowercase though, if we want to access the
&#39;classic&#39;<br>
&gt; or &#39;CLASSIC&#39; portal, we can&#39;t have the url all in lowercase.<br>
&gt;<br>
&gt; &gt; Or if anyone think about any other option ?<br>
&gt;<br>
&gt; Is there not some sort of case sensitive mode in MySQL that we can
have<br>
&gt; as a requirement for use with GateIn? The user already needs to
setup<br>
&gt; and configure the db anyways.<br>
    <br>
    </div>
    </div>
We can easily change this by making the table use VARBINARY for the<br>
field instead of VARCHAR. There is a jira for here<br>
    <a href="https://jira.jboss.org/jira/browse/JBEPP-334" target="_blank">https://jira.jboss.org/jira/browse/JBEPP-334</a>
with a patch attached.<br>
Someone working on the JCR will need to make this change.<br>
    <div>
    <div><br>
&gt;<br>
&gt; &gt; Thomas.<br>
&gt; &gt; _______________________________________________<br>
&gt; &gt; gatein-dev mailing list<br>
&gt; &gt; <a href="mailto:gatein-dev@lists.jboss.org" target="_blank">gatein-dev@lists.jboss.org</a><br>
&gt; &gt; <a href="https://lists.jboss.org/mailman/listinfo/gatein-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/gatein-dev</a><br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; gatein-dev mailing list<br>
&gt; <a href="mailto:gatein-dev@lists.jboss.org" target="_blank">gatein-dev@lists.jboss.org</a><br>
&gt; <a href="https://lists.jboss.org/mailman/listinfo/gatein-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/gatein-dev</a><br>
    <br>
    <br>
_______________________________________________<br>
gatein-dev mailing list<br>
    <a href="mailto:gatein-dev@lists.jboss.org" target="_blank">gatein-dev@lists.jboss.org</a><br>
    <a href="https://lists.jboss.org/mailman/listinfo/gatein-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/gatein-dev</a><br>
    </div>
    </div>
  </blockquote>
  </div>
  <br>
  <br clear="all">
  <br>
-- <br>
Nicolas Filotto<br>
JCR Product Manager<br>
Project Manager<br>
eXo Platform SAS<br>
  <a href="mailto:nicolas.filotto@exoplatform.com" target="_blank">nicolas.filotto@exoplatform.com</a><br>
+33 (0)6 31 32 92 19  <br>
  </div>
</blockquote>
<br>
</div></div></div>

</blockquote></div><br><br clear="all"><br>-- <br>Nicolas Filotto<br>JCR Product Manager<br>Project Manager<br>eXo Platform SAS<br><a href="mailto:nicolas.filotto@exoplatform.com">nicolas.filotto@exoplatform.com</a><br>+33 (0)6 31 32 92 19  <br>


</div>