Hi all,
This issue was encountered last Thursday where you can use case insensitive
path to retrieve a registry resource on governance mounted.

Eg.
/_system/governance/A.txt can be retrieve using both

   1. /_system/governance/A.txt
   2. /_system/governance/a.txt

We have go to the code level and saw that this is a cause of retrieving
REG_VERSION from the database using the following query.

SELECT REG_VERSION FROM REG_RESOURCE WHERE REG_PATH_ID=? AND REG_NAME=? AND
REG_TENANT_ID=?

So the verdict was that database sending result where its "WHERE" clauses
are case insensitive. The scenario was tested on H2 but we see that it
works properly where it gives RNF for /_system/governance/a.txt.

We further look into this issue and found that this was related to MySQL
where we need to specify the COLLATE if we do case insensitive WHERE
operations given that the default collation is not case sensitive.
So we change the collation to 'latin1_general_cs' from the default "latin1"
and it the above usecase worked fine. So we may need to change the registry
database scripts to introduce this and may need to create a migration
script for the existing databases.

Thoughts?

thanks
Eranda


-- 

*Eranda Sooriyabandara*Senior Software Engineer;
Integration Technologies Team;
WSO2 Inc.; http://wso2.com
Lean . Enterprise . Middleware

E-mail: eranda AT wso2.com
Mobile: +94 716 472 816
Linked-In: http://www.linkedin.com/in/erandasooriyabandara
Blog: http://emsooriyabandara.blogspot.com/
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to